Class SimpleBeanPropertyDefinition
- java.lang.Object
-
- com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition
-
- com.fasterxml.jackson.databind.util.SimpleBeanPropertyDefinition
-
- All Implemented Interfaces:
Named
public class SimpleBeanPropertyDefinition extends BeanPropertyDefinition
Simple immutableBeanPropertyDefinition
implementation that can be wrapped around aAnnotatedMember
that is a simple accessor (getter) or mutator (setter, constructor parameter) (or both, for fields).
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static SimpleBeanPropertyDefinition
construct(MapperConfig<?> config, AnnotatedMember member)
static SimpleBeanPropertyDefinition
construct(MapperConfig<?> config, AnnotatedMember member, PropertyName name)
static SimpleBeanPropertyDefinition
construct(MapperConfig<?> config, AnnotatedMember member, PropertyName name, PropertyMetadata metadata, JsonInclude.Include inclusion)
Method called to create instance for virtual properties.static SimpleBeanPropertyDefinition
construct(MapperConfig<?> config, AnnotatedMember member, PropertyName name, PropertyMetadata metadata, JsonInclude.Value inclusion)
JsonInclude.Value
findInclusion()
Method used to check if this property has specific inclusion override associated with it or not.AnnotatedParameter
getConstructorParameter()
java.util.Iterator<AnnotatedParameter>
getConstructorParameters()
Additional method that may be called instead ofBeanPropertyDefinition.getConstructorParameter()
to get access to all constructor parameters, not just the highest priority one.AnnotatedField
getField()
PropertyName
getFullName()
AnnotatedMethod
getGetter()
java.lang.String
getInternalName()
Accessor that can be used to determine implicit name from underlying element(s) before possible renaming.PropertyMetadata
getMetadata()
We will indicate that property is optional, since there is nothing to indicate whether it might be required.java.lang.String
getName()
Accessor for name used for external representation (in JSON).AnnotatedMember
getPrimaryMember()
Method used to find the property member (getter, setter, field) that has the highest precedence in current context (getter method when serializing, if available, and so forth), if any.JavaType
getPrimaryType()
java.lang.Class<?>
getRawPrimaryType()
AnnotatedMethod
getSetter()
PropertyName
getWrapperName()
Accessor for finding wrapper name to use for property (if any).boolean
hasConstructorParameter()
boolean
hasField()
boolean
hasGetter()
boolean
hasName(PropertyName name)
boolean
hasSetter()
boolean
isExplicitlyIncluded()
Accessor that can be called to check whether property was included due to an explicit marker (usually annotation), or just by naming convention.boolean
isExplicitlyNamed()
Accessor that can be called to check whether property name was due to an explicit marker (usually annotation), or just by naming convention or use of "use-default-name" marker (annotation).BeanPropertyDefinition
withInclusion(JsonInclude.Value inclusion)
BeanPropertyDefinition
withMetadata(PropertyMetadata metadata)
BeanPropertyDefinition
withName(PropertyName newName)
Method that can be used to create a definition with same settings as this one, but with different (external) name; that is, one for whichBeanPropertyDefinition.getName()
would returnnewName
.BeanPropertyDefinition
withSimpleName(java.lang.String newName)
Alternate "mutant factory" that will only change simple name, but leave other optional parts (like namespace) as is.-
Methods inherited from class com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition
couldDeserialize, couldSerialize, findObjectIdInfo, findReferenceName, findReferenceType, findViews, getAccessor, getMutator, getNonConstructorMutator, isRequired, isTypeId
-
-
-
-
Method Detail
-
construct
public static SimpleBeanPropertyDefinition construct(MapperConfig<?> config, AnnotatedMember member)
- Since:
- 2.2
-
construct
public static SimpleBeanPropertyDefinition construct(MapperConfig<?> config, AnnotatedMember member, PropertyName name)
- Since:
- 2.5
-
construct
public static SimpleBeanPropertyDefinition construct(MapperConfig<?> config, AnnotatedMember member, PropertyName name, PropertyMetadata metadata, JsonInclude.Include inclusion)
Method called to create instance for virtual properties.- Since:
- 2.5
-
construct
public static SimpleBeanPropertyDefinition construct(MapperConfig<?> config, AnnotatedMember member, PropertyName name, PropertyMetadata metadata, JsonInclude.Value inclusion)
- Since:
- 2.7
-
withSimpleName
public BeanPropertyDefinition withSimpleName(java.lang.String newName)
Description copied from class:BeanPropertyDefinition
Alternate "mutant factory" that will only change simple name, but leave other optional parts (like namespace) as is.- Specified by:
withSimpleName
in classBeanPropertyDefinition
-
withName
public BeanPropertyDefinition withName(PropertyName newName)
Description copied from class:BeanPropertyDefinition
Method that can be used to create a definition with same settings as this one, but with different (external) name; that is, one for whichBeanPropertyDefinition.getName()
would returnnewName
.- Specified by:
withName
in classBeanPropertyDefinition
-
withMetadata
public BeanPropertyDefinition withMetadata(PropertyMetadata metadata)
- Since:
- 2.5
-
withInclusion
public BeanPropertyDefinition withInclusion(JsonInclude.Value inclusion)
- Since:
- 2.5
-
getName
public java.lang.String getName()
Description copied from class:BeanPropertyDefinition
Accessor for name used for external representation (in JSON).- Specified by:
getName
in interfaceNamed
- Specified by:
getName
in classBeanPropertyDefinition
-
getFullName
public PropertyName getFullName()
- Specified by:
getFullName
in classBeanPropertyDefinition
-
hasName
public boolean hasName(PropertyName name)
- Overrides:
hasName
in classBeanPropertyDefinition
-
getInternalName
public java.lang.String getInternalName()
Description copied from class:BeanPropertyDefinition
Accessor that can be used to determine implicit name from underlying element(s) before possible renaming. This is the "internal" name derived from accessor ("x" from "getX"), and is not based on annotations or naming strategy.- Specified by:
getInternalName
in classBeanPropertyDefinition
-
getWrapperName
public PropertyName getWrapperName()
Description copied from class:BeanPropertyDefinition
Accessor for finding wrapper name to use for property (if any).- Specified by:
getWrapperName
in classBeanPropertyDefinition
-
isExplicitlyIncluded
public boolean isExplicitlyIncluded()
Description copied from class:BeanPropertyDefinition
Accessor that can be called to check whether property was included due to an explicit marker (usually annotation), or just by naming convention.- Specified by:
isExplicitlyIncluded
in classBeanPropertyDefinition
- Returns:
- True if property was explicitly included (usually by having one of components being annotated); false if inclusion was purely due to naming or visibility definitions (that is, implicit)
-
isExplicitlyNamed
public boolean isExplicitlyNamed()
Description copied from class:BeanPropertyDefinition
Accessor that can be called to check whether property name was due to an explicit marker (usually annotation), or just by naming convention or use of "use-default-name" marker (annotation).Note that entries that return true from this method will always return true for
BeanPropertyDefinition.isExplicitlyIncluded()
, but not necessarily vice versa.- Overrides:
isExplicitlyNamed
in classBeanPropertyDefinition
-
getMetadata
public PropertyMetadata getMetadata()
We will indicate that property is optional, since there is nothing to indicate whether it might be required.- Specified by:
getMetadata
in classBeanPropertyDefinition
-
getPrimaryType
public JavaType getPrimaryType()
- Specified by:
getPrimaryType
in classBeanPropertyDefinition
-
getRawPrimaryType
public java.lang.Class<?> getRawPrimaryType()
- Specified by:
getRawPrimaryType
in classBeanPropertyDefinition
-
findInclusion
public JsonInclude.Value findInclusion()
Description copied from class:BeanPropertyDefinition
Method used to check if this property has specific inclusion override associated with it or not. It should NOT check for any default settings (global, per-type, or containing POJO settings)- Specified by:
findInclusion
in classBeanPropertyDefinition
-
hasGetter
public boolean hasGetter()
- Specified by:
hasGetter
in classBeanPropertyDefinition
-
hasSetter
public boolean hasSetter()
- Specified by:
hasSetter
in classBeanPropertyDefinition
-
hasField
public boolean hasField()
- Specified by:
hasField
in classBeanPropertyDefinition
-
hasConstructorParameter
public boolean hasConstructorParameter()
- Specified by:
hasConstructorParameter
in classBeanPropertyDefinition
-
getGetter
public AnnotatedMethod getGetter()
- Specified by:
getGetter
in classBeanPropertyDefinition
-
getSetter
public AnnotatedMethod getSetter()
- Specified by:
getSetter
in classBeanPropertyDefinition
-
getField
public AnnotatedField getField()
- Specified by:
getField
in classBeanPropertyDefinition
-
getConstructorParameter
public AnnotatedParameter getConstructorParameter()
- Specified by:
getConstructorParameter
in classBeanPropertyDefinition
-
getConstructorParameters
public java.util.Iterator<AnnotatedParameter> getConstructorParameters()
Description copied from class:BeanPropertyDefinition
Additional method that may be called instead ofBeanPropertyDefinition.getConstructorParameter()
to get access to all constructor parameters, not just the highest priority one.- Overrides:
getConstructorParameters
in classBeanPropertyDefinition
-
getPrimaryMember
public AnnotatedMember getPrimaryMember()
Description copied from class:BeanPropertyDefinition
Method used to find the property member (getter, setter, field) that has the highest precedence in current context (getter method when serializing, if available, and so forth), if any.Note: may throw
IllegalArgumentException
in case problems are found trying to getter or setter info.Note: abstract since 2.5
- Specified by:
getPrimaryMember
in classBeanPropertyDefinition
-
-