Class SimpleBeanPropertyDefinition
java.lang.Object
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.util.SimpleBeanPropertyDefinition
- All Implemented Interfaces:
Named
Simple immutable
BeanPropertyDefinition
implementation that can
be wrapped around a AnnotatedMember
that is a simple
accessor (getter) or mutator (setter, constructor parameter)
(or both, for fields).-
Field Summary
Modifier and TypeFieldDescriptionprotected final AnnotationIntrospector
protected final PropertyName
protected final JsonInclude.Value
protected final AnnotatedMember
Member that defines logical property.protected final PropertyMetadata
Fields inherited from class edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition
EMPTY_INCLUDE
-
Constructor Summary
ModifierConstructorDescriptionprotected
SimpleBeanPropertyDefinition
(AnnotationIntrospector intr, AnnotatedMember member, PropertyName fullName, PropertyMetadata metadata, JsonInclude.Value inclusion) -
Method Summary
Modifier and TypeMethodDescriptionstatic 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) Method used to check if this property has specific inclusion override associated with it or not.Additional method that may be called instead ofBeanPropertyDefinition.getConstructorParameter()
to get access to all constructor parameters, not just the highest priority one.getField()
Accessor that can be used to determine implicit name from underlying element(s) before possible renaming.We will indicate that property is optional, since there is nothing to indicate whether it might be required.getName()
Accessor for name used for external representation (in JSON).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.Class<?>
Accessor for finding wrapper name to use for property (if any).boolean
boolean
hasField()
boolean
boolean
hasName
(PropertyName name) boolean
boolean
Accessor that can be called to check whether property was included due to an explicit marker (usually annotation), or just by naming convention.boolean
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).withInclusion
(JsonInclude.Value inclusion) withMetadata
(PropertyMetadata metadata) 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
.withSimpleName
(String newName) Alternate "mutant factory" that will only change simple name, but leave other optional parts (like namespace) as is.Methods inherited from class edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition
couldDeserialize, couldSerialize, findObjectIdInfo, findReferenceName, findReferenceType, findViews, getAccessor, getMutator, getNonConstructorMutator, isRequired, isTypeId
-
Field Details
-
_annotationIntrospector
-
_member
Member that defines logical property. Assumption is that it should be a 'simple' accessor; meaning a zero-argument getter, single-argument setter or constructor parameter.NOTE: for "virtual" properties, this is null.
-
_metadata
- Since:
- 2.5
-
_fullName
- Since:
- 2.5
-
_inclusion
- Since:
- 2.5
-
-
Constructor Details
-
SimpleBeanPropertyDefinition
protected SimpleBeanPropertyDefinition(AnnotationIntrospector intr, AnnotatedMember member, PropertyName fullName, PropertyMetadata metadata, JsonInclude.Value inclusion) - Since:
- 2.9
-
-
Method Details
-
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
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
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
- Since:
- 2.5
-
withInclusion
- Since:
- 2.5
-
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
- Specified by:
getFullName
in classBeanPropertyDefinition
-
hasName
- Overrides:
hasName
in classBeanPropertyDefinition
-
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
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
We will indicate that property is optional, since there is nothing to indicate whether it might be required.- Specified by:
getMetadata
in classBeanPropertyDefinition
-
getPrimaryType
- Specified by:
getPrimaryType
in classBeanPropertyDefinition
-
getRawPrimaryType
- Specified by:
getRawPrimaryType
in classBeanPropertyDefinition
-
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
- Specified by:
getGetter
in classBeanPropertyDefinition
-
getSetter
- Specified by:
getSetter
in classBeanPropertyDefinition
-
getField
- Specified by:
getField
in classBeanPropertyDefinition
-
getConstructorParameter
- Specified by:
getConstructorParameter
in classBeanPropertyDefinition
-
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
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
-