Class DefaultAccessorNamingStrategy.FirstCharBasedValidator

java.lang.Object
tools.jackson.databind.introspect.DefaultAccessorNamingStrategy.FirstCharBasedValidator
All Implemented Interfaces:
Serializable, DefaultAccessorNamingStrategy.BaseNameValidator
Enclosing class:
DefaultAccessorNamingStrategy

public static class DefaultAccessorNamingStrategy.FirstCharBasedValidator extends Object implements DefaultAccessorNamingStrategy.BaseNameValidator, Serializable
Simple implementation of DefaultAccessorNamingStrategy.BaseNameValidator that checks the first character and nothing else if (and only if!) prefix is empty (so offset passed is NOT zero).

Instances are to be constructed using method forFirstNameRule(boolean, boolean).

See Also:
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    FirstCharBasedValidator(boolean allowLowerCaseFirstChar, boolean allowNonLetterFirstChar)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    accept(char firstChar, String basename, int offset)
    Method called to check whether given base name is acceptable: called for accessor method name after removing prefix.
    forFirstNameRule(boolean allowLowerCaseFirstChar, boolean allowNonLetterFirstChar)
    Factory method to use for getting an instance with specified first-character restrictions, if any; or null if no checking is needed.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • FirstCharBasedValidator

      protected FirstCharBasedValidator(boolean allowLowerCaseFirstChar, boolean allowNonLetterFirstChar)
  • Method Details

    • forFirstNameRule

      public static DefaultAccessorNamingStrategy.BaseNameValidator forFirstNameRule(boolean allowLowerCaseFirstChar, boolean allowNonLetterFirstChar)
      Factory method to use for getting an instance with specified first-character restrictions, if any; or null if no checking is needed.
      Parameters:
      allowLowerCaseFirstChar - Whether base names that start with lower-case letter (like "a" or "b") are accepted as valid or not: consider difference between "setter-methods" setValue() and setvalue().
      allowNonLetterFirstChar - Whether base names that start with non-letter character (like "_" or number 1) are accepted as valid or not: consider difference between "setter-methods" setValue() and set_value().
      Returns:
      Validator instance to use, if any; null to indicate no additional rules applied (case when both arguments are true)
    • accept

      public boolean accept(char firstChar, String basename, int offset)
      Description copied from interface: DefaultAccessorNamingStrategy.BaseNameValidator
      Method called to check whether given base name is acceptable: called for accessor method name after removing prefix. NOTE: called even if "prefix" is empy (i.e. nothing really removed)
      Specified by:
      accept in interface DefaultAccessorNamingStrategy.BaseNameValidator
      Parameters:
      firstChar - First character of the base name
      basename - Full base name (after removing prefix)
      offset - Length of prefix removed
      Returns:
      true if base name is acceptable; false otherwise