com.fasterxml.jackson.databind.util
Class SimpleBeanPropertyDefinition

java.lang.Object
  extended by com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition
      extended by com.fasterxml.jackson.databind.util.SimpleBeanPropertyDefinition
All Implemented Interfaces:
Named

public class SimpleBeanPropertyDefinition
extends BeanPropertyDefinition

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
protected  AnnotatedMember _member
          Member that defines logical property.
protected  String _name
           
 
Constructor Summary
SimpleBeanPropertyDefinition(AnnotatedMember member)
           
SimpleBeanPropertyDefinition(AnnotatedMember member, String name)
           
 
Method Summary
 AnnotatedMember getAccessor()
          Method used to find accessor (getter, field to access) to use for accessing value of the property.
 AnnotatedParameter getConstructorParameter()
           
 AnnotatedField getField()
           
 AnnotatedMethod getGetter()
           
 String getInternalName()
          Accessor that can be used to determine implicit name from underlying element(s) before possible renaming.
 AnnotatedMember getMutator()
          Method used to find mutator (constructor parameter, setter, field) to use for changing value of the property.
 String getName()
          Accessor for name used for external representation (in JSON).
 AnnotatedMethod getSetter()
           
 boolean hasConstructorParameter()
           
 boolean hasField()
           
 boolean hasGetter()
           
 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.
 SimpleBeanPropertyDefinition withName(String 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 which BeanPropertyDefinition.getName() would return newName.
 
Methods inherited from class com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition
couldDeserialize, couldSerialize, findObjectIdInfo, findReferenceType, findViews, isRequired, isTypeId
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_member

protected final AnnotatedMember _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.


_name

protected final String _name
Constructor Detail

SimpleBeanPropertyDefinition

public SimpleBeanPropertyDefinition(AnnotatedMember member)

SimpleBeanPropertyDefinition

public SimpleBeanPropertyDefinition(AnnotatedMember member,
                                    String name)
Method Detail

withName

public SimpleBeanPropertyDefinition withName(String 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 which BeanPropertyDefinition.getName() would return newName.

Specified by:
withName in class BeanPropertyDefinition

getName

public String getName()
Description copied from class: BeanPropertyDefinition
Accessor for name used for external representation (in JSON).

Specified by:
getName in interface Named
Specified by:
getName in class BeanPropertyDefinition

getInternalName

public 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 class BeanPropertyDefinition

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 class BeanPropertyDefinition
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)

hasGetter

public boolean hasGetter()
Specified by:
hasGetter in class BeanPropertyDefinition

hasSetter

public boolean hasSetter()
Specified by:
hasSetter in class BeanPropertyDefinition

hasField

public boolean hasField()
Specified by:
hasField in class BeanPropertyDefinition

hasConstructorParameter

public boolean hasConstructorParameter()
Specified by:
hasConstructorParameter in class BeanPropertyDefinition

getGetter

public AnnotatedMethod getGetter()
Specified by:
getGetter in class BeanPropertyDefinition

getSetter

public AnnotatedMethod getSetter()
Specified by:
getSetter in class BeanPropertyDefinition

getField

public AnnotatedField getField()
Specified by:
getField in class BeanPropertyDefinition

getConstructorParameter

public AnnotatedParameter getConstructorParameter()
Specified by:
getConstructorParameter in class BeanPropertyDefinition

getAccessor

public AnnotatedMember getAccessor()
Method used to find accessor (getter, field to access) to use for accessing value of the property. Null if no such member exists.

Specified by:
getAccessor in class BeanPropertyDefinition

getMutator

public AnnotatedMember getMutator()
Method used to find mutator (constructor parameter, setter, field) to use for changing value of the property. Null if no such member exists.

Specified by:
getMutator in class BeanPropertyDefinition


Copyright © 2012 fasterxml.com. All Rights Reserved.