Class PropertyNameResolver.AnnotationPropertyNameResolver<A extends Annotation>
- java.lang.Object
-
- com.oracle.coherence.io.json.genson.reflect.PropertyNameResolver.AnnotationPropertyNameResolver<A>
-
- All Implemented Interfaces:
PropertyNameResolver
- Direct Known Subclasses:
PropertyNameResolver.GensonAnnotationPropertyNameResolver
- Enclosing interface:
- PropertyNameResolver
public abstract static class PropertyNameResolver.AnnotationPropertyNameResolver<A extends Annotation> extends Object implements PropertyNameResolver
JsonProperty resolver based on @JsonProperty annotation. Can be used on fields, methods and constructor parameters.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.oracle.coherence.io.json.genson.reflect.PropertyNameResolver
PropertyNameResolver.AnnotationPropertyNameResolver<A extends Annotation>, PropertyNameResolver.CompositePropertyNameResolver, PropertyNameResolver.ConventionalBeanPropertyNameResolver, PropertyNameResolver.GensonAnnotationPropertyNameResolver
-
-
Field Summary
Fields Modifier and Type Field Description protected Class<A>propertyAnnotationAnAnnotationthat functions similarly toJsonProperty.
-
Constructor Summary
Constructors Constructor Description AnnotationPropertyNameResolver(Class<A> propertyAnnotation)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected StringgetName(AnnotatedElement annElement)protected abstract StringgetNameFromAnnotation(A annotation)protected StringgetNameFromParameterAnnotations(Annotation[] annotations)Stringresolve(int parameterIdx, Constructor<?> fromConstructor)Resolve the parameter name on position parameterIdx in the constructor fromConstructor.Stringresolve(int parameterIdx, Method fromMethod)Resolve the name of the parameter with parameterIdx as index in fromMethod method.Stringresolve(Field fromField)Resolve the property name from this field.Stringresolve(Method fromMethod)Resolve the property name from this method.
-
-
-
Field Detail
-
propertyAnnotation
protected Class<A extends Annotation> propertyAnnotation
AnAnnotationthat functions similarly toJsonProperty.
-
-
Method Detail
-
resolve
public String resolve(int parameterIdx, Constructor<?> fromConstructor)
Description copied from interface:PropertyNameResolverResolve the parameter name on position parameterIdx in the constructor fromConstructor.- Specified by:
resolvein interfacePropertyNameResolver- Parameters:
parameterIdx- parameter indexfromConstructor- the constructor being processed- Returns:
- the resolved name of the parameter or
null
-
resolve
public String resolve(int parameterIdx, Method fromMethod)
Description copied from interface:PropertyNameResolverResolve the name of the parameter with parameterIdx as index in fromMethod method.- Specified by:
resolvein interfacePropertyNameResolver- Parameters:
parameterIdx- parameter indexfromMethod- the method being processed- Returns:
- the resolved name of the parameter or
null
-
resolve
public String resolve(Field fromField)
Description copied from interface:PropertyNameResolverResolve the property name from this field.- Specified by:
resolvein interfacePropertyNameResolver- Parameters:
fromField- - the field to use for name resolution.- Returns:
- the resolved name or null.
-
resolve
public String resolve(Method fromMethod)
Description copied from interface:PropertyNameResolverResolve the property name from this method.- Specified by:
resolvein interfacePropertyNameResolver- Parameters:
fromMethod- - the method to be used for name resolution.- Returns:
- the resolved name or null.
-
getName
protected String getName(AnnotatedElement annElement)
-
getNameFromParameterAnnotations
protected String getNameFromParameterAnnotations(Annotation[] annotations)
-
-