public static class DefaultAccessorNamingStrategy.Provider extends AccessorNamingStrategy.Provider implements Serializable
DefaultAccessorNamingStrategy
.
Default instance will use following default prefixes:
Modifier and Type | Field and Description |
---|---|
protected boolean |
_allowLowerCaseFirstChar |
protected boolean |
_allowNonLetterFirstChar |
protected String |
_getterPrefix |
protected String |
_isGetterPrefix |
protected String |
_setterPrefix |
protected String |
_withPrefix |
Modifier | Constructor and Description |
---|---|
|
Provider() |
protected |
Provider(DefaultAccessorNamingStrategy.Provider p,
boolean allowLowerCaseFirstChar,
boolean allowNonLetterFirstChar) |
protected |
Provider(DefaultAccessorNamingStrategy.Provider p,
String setterPrefix,
String withPrefix,
String getterPrefix,
String isGetterPrefix) |
protected |
Provider(String setterPrefix,
String withPrefix,
String getterPrefix,
String isGetterPrefix,
boolean allowLowerCaseFirstChar,
boolean allowNonLetterFirstChar) |
Modifier and Type | Method and Description |
---|---|
AccessorNamingStrategy |
forBuilder(MapperConfig<?> config,
AnnotatedClass builderClass,
BeanDescription valueTypeDesc)
Factory method for creating strategy instance for POJOs
that are deserialized using Builder type: in this case eventual
target (value) type is different from type of "builder" object that is
used by databinding to accumulate state.
|
AccessorNamingStrategy |
forPOJO(MapperConfig<?> config,
AnnotatedClass targetClass)
Factory method for creating strategy instance for a "regular" POJO,
called if none of the other factory methods is applicable.
|
AccessorNamingStrategy |
forRecord(MapperConfig<?> config,
AnnotatedClass recordClass)
Factory method for creating strategy instance for special
java.lang.Record
type (new in JDK 14). |
DefaultAccessorNamingStrategy.Provider |
withBuilderPrefix(String prefix)
Mutant factory for changing the prefix used for Builders
(from default
JsonPOJOBuilder.DEFAULT_WITH_PREFIX ) |
DefaultAccessorNamingStrategy.Provider |
withFirstCharAcceptance(boolean allowLowerCaseFirstChar,
boolean allowNonLetterFirstChar)
Mutant factory for changing the rules regarding which characters
are allowed as the first character of property base name, after
checking and removing prefix.
|
DefaultAccessorNamingStrategy.Provider |
withGetterPrefix(String prefix)
Mutant factory for changing the prefix used for "getter"
methods
|
DefaultAccessorNamingStrategy.Provider |
withIsGetterPrefix(String prefix)
Mutant factory for changing the prefix used for "is-getter"
methods (getters that return boolean/Boolean value).
|
DefaultAccessorNamingStrategy.Provider |
withSetterPrefix(String prefix)
Mutant factory for changing the prefix used for "setter"
methods
|
protected final String _setterPrefix
protected final String _withPrefix
protected final String _getterPrefix
protected final String _isGetterPrefix
protected final boolean _allowLowerCaseFirstChar
protected final boolean _allowNonLetterFirstChar
public Provider()
protected Provider(DefaultAccessorNamingStrategy.Provider p, String setterPrefix, String withPrefix, String getterPrefix, String isGetterPrefix)
protected Provider(DefaultAccessorNamingStrategy.Provider p, boolean allowLowerCaseFirstChar, boolean allowNonLetterFirstChar)
public DefaultAccessorNamingStrategy.Provider withSetterPrefix(String prefix)
prefix
- Prefix to use; or empty String ""
to not use
any prefix (meaning signature-compatible method name is used as
the property basename (and subject to name mangling)),
or null
to prevent name-based detection.public DefaultAccessorNamingStrategy.Provider withBuilderPrefix(String prefix)
JsonPOJOBuilder.DEFAULT_WITH_PREFIX
)prefix
- Prefix to use; or empty String ""
to not use
any prefix (meaning signature-compatible method name is used as
the property basename (and subject to name mangling)),
or null
to prevent name-based detection.public DefaultAccessorNamingStrategy.Provider withGetterPrefix(String prefix)
prefix
- Prefix to use; or empty String ""
to not use
any prefix (meaning signature-compatible method name is used as
the property basename (and subject to name mangling)),
or null
to prevent name-based detection.public DefaultAccessorNamingStrategy.Provider withIsGetterPrefix(String prefix)
prefix
- Prefix to use; or empty String ""
to not use
any prefix (meaning signature-compatible method name is used as
the property basename (and subject to name mangling)).
or null
to prevent name-based detection.public DefaultAccessorNamingStrategy.Provider withFirstCharAcceptance(boolean allowLowerCaseFirstChar, boolean allowNonLetterFirstChar)
For example, consider "getter" method candidate (no arguments, has return
type) named getValue()
is considered, with "getter-prefix"
defined as get
, then base name is Value
and the
first character to consider is V
. Upper-case letters are
always accepted so this is fine.
But with similar settings, method get_value()
would only be
recognized as getter if allowNonLetterFirstChar
is set to
true
: otherwise it will not be considered a getter-method.
Similarly "is-getter" candidate method with name island()
would only be considered if allowLowerCaseFirstChar
is set
to true
.
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()
.public AccessorNamingStrategy forPOJO(MapperConfig<?> config, AnnotatedClass targetClass)
AccessorNamingStrategy.Provider
forPOJO
in class AccessorNamingStrategy.Provider
config
- Current mapper configurationtargetClass
- Information about value typepublic AccessorNamingStrategy forBuilder(MapperConfig<?> config, AnnotatedClass builderClass, BeanDescription valueTypeDesc)
AccessorNamingStrategy.Provider
forBuilder
in class AccessorNamingStrategy.Provider
config
- Current mapper configurationbuilderClass
- Information about builder typevalueTypeDesc
- Information about the eventual target (value) typepublic AccessorNamingStrategy forRecord(MapperConfig<?> config, AnnotatedClass recordClass)
AccessorNamingStrategy.Provider
java.lang.Record
type (new in JDK 14).forRecord
in class AccessorNamingStrategy.Provider
config
- Current mapper configurationrecordClass
- Information about value type (of type java.lang.Record
)Copyright © 2008–2020 FasterXML. All rights reserved.