public class Jackson2Annotator extends AbstractAnnotator
| Constructor and Description |
|---|
Jackson2Annotator(GenerationConfig generationConfig) |
| Modifier and Type | Method and Description |
|---|---|
void |
additionalPropertiesField(com.sun.codemodel.JFieldVar field,
com.sun.codemodel.JDefinedClass clazz,
String propertyName) |
void |
anyGetter(com.sun.codemodel.JMethod getter,
com.sun.codemodel.JDefinedClass clazz)
Add the necessary annotation to mark a Java method as the getter for
additional JSON property values that do not match any of the other
property names found in the bean.
|
void |
anySetter(com.sun.codemodel.JMethod setter,
com.sun.codemodel.JDefinedClass clazz)
Add the necessary annotation to mark a Java method as the setter for
additional JSON property values that do not match any of the other
property names found in the bean.
|
void |
dateField(com.sun.codemodel.JFieldVar field,
com.sun.codemodel.JDefinedClass clazz,
com.fasterxml.jackson.databind.JsonNode node)
Add the necessary annotations to a date field.
|
void |
dateTimeField(com.sun.codemodel.JFieldVar field,
com.sun.codemodel.JDefinedClass clazz,
com.fasterxml.jackson.databind.JsonNode node)
Add the necessary annotations to a date-time field.
|
void |
enumConstant(com.sun.codemodel.JDefinedClass _enum,
com.sun.codemodel.JEnumConstant constant,
String value)
Add the necessary annotations to an enum constant.
|
void |
enumCreatorMethod(com.sun.codemodel.JDefinedClass _enum,
com.sun.codemodel.JMethod creatorMethod)
Add the necessary annotation to mark a static Java method as the
creator/factory method which can choose the correct Java enum value for a
given JSON value during deserialization.
|
void |
enumValueMethod(com.sun.codemodel.JDefinedClass _enum,
com.sun.codemodel.JMethod valueMethod)
Add the necessary annotation to mark a Java method as the value method
that is used to turn a Java enum value into a JSON value during
serialization.
|
boolean |
isAdditionalPropertiesSupported()
Indicates whether the annotation style that this annotator uses can
support the JSON Schema 'additionalProperties' feature.
|
void |
propertyField(com.sun.codemodel.JFieldVar field,
com.sun.codemodel.JDefinedClass clazz,
String propertyName,
com.fasterxml.jackson.databind.JsonNode propertyNode)
Add the necessary annotation to mark a Java field as a JSON property
|
void |
propertyGetter(com.sun.codemodel.JMethod getter,
com.sun.codemodel.JDefinedClass clazz,
String propertyName)
Add the necessary annotation to mark a Java method as the getter for a
JSON property
|
void |
propertyInclusion(com.sun.codemodel.JDefinedClass clazz,
com.fasterxml.jackson.databind.JsonNode schema)
Add the necessary annotation to cause only non-null values to be included
during serialization.
|
void |
propertyOrder(com.sun.codemodel.JDefinedClass clazz,
com.fasterxml.jackson.databind.JsonNode propertiesNode)
Add the necessary annotation to dictate correct property order during
serialization
|
void |
propertySetter(com.sun.codemodel.JMethod setter,
com.sun.codemodel.JDefinedClass clazz,
String propertyName)
Add the necessary annotation to mark a Java method as the setter for a
JSON property
|
void |
timeField(com.sun.codemodel.JFieldVar field,
com.sun.codemodel.JDefinedClass clazz,
com.fasterxml.jackson.databind.JsonNode node)
Add the necessary annotations to a time field.
|
getGenerationConfigpublic Jackson2Annotator(GenerationConfig generationConfig)
public void propertyOrder(com.sun.codemodel.JDefinedClass clazz,
com.fasterxml.jackson.databind.JsonNode propertiesNode)
AnnotatorpropertyOrder in interface AnnotatorpropertyOrder in class AbstractAnnotatorclazz - a generated pojo class, that is serialized to JSONpropertiesNode - the properties to be orderedpublic void propertyInclusion(com.sun.codemodel.JDefinedClass clazz,
com.fasterxml.jackson.databind.JsonNode schema)
AnnotatorpropertyInclusion in interface AnnotatorpropertyInclusion in class AbstractAnnotatorclazz - a generated pojo class, that is serialized to JSONschema - the object schema associated with this clazzpublic void propertyField(com.sun.codemodel.JFieldVar field,
com.sun.codemodel.JDefinedClass clazz,
String propertyName,
com.fasterxml.jackson.databind.JsonNode propertyNode)
AnnotatorpropertyField in interface AnnotatorpropertyField in class AbstractAnnotatorfield - the field that contains data that will be serializedclazz - the owner of the field (class to which the field belongs)propertyName - the name of the JSON property that this field representspropertyNode - the schema node defining this propertypublic void propertyGetter(com.sun.codemodel.JMethod getter,
com.sun.codemodel.JDefinedClass clazz,
String propertyName)
AnnotatorpropertyGetter in interface AnnotatorpropertyGetter in class AbstractAnnotatorgetter - the method that will be used to get the value of the given
JSON propertypropertyName - the name of the JSON property that this getter getspublic void propertySetter(com.sun.codemodel.JMethod setter,
com.sun.codemodel.JDefinedClass clazz,
String propertyName)
AnnotatorpropertySetter in interface AnnotatorpropertySetter in class AbstractAnnotatorsetter - the method that will be used to set the value of the given
JSON propertypropertyName - the name of the JSON property that this setter setspublic void anyGetter(com.sun.codemodel.JMethod getter,
com.sun.codemodel.JDefinedClass clazz)
AnnotatoranyGetter in interface AnnotatoranyGetter in class AbstractAnnotatorgetter - the method that will be used to get the values of additional
propertiespublic void anySetter(com.sun.codemodel.JMethod setter,
com.sun.codemodel.JDefinedClass clazz)
AnnotatoranySetter in interface AnnotatoranySetter in class AbstractAnnotatorsetter - the method that will be used to set the values of additional
propertiespublic void enumCreatorMethod(com.sun.codemodel.JDefinedClass _enum,
com.sun.codemodel.JMethod creatorMethod)
AnnotatorenumCreatorMethod in interface AnnotatorenumCreatorMethod in class AbstractAnnotatorcreatorMethod - the method that can create a Java enum value from a JSON valuepublic void enumValueMethod(com.sun.codemodel.JDefinedClass _enum,
com.sun.codemodel.JMethod valueMethod)
AnnotatorenumValueMethod in interface AnnotatorenumValueMethod in class AbstractAnnotatorvalueMethod - the enum instance method that can create a JSON value during
serializationpublic void enumConstant(com.sun.codemodel.JDefinedClass _enum,
com.sun.codemodel.JEnumConstant constant,
String value)
AnnotatorenumConstant in interface AnnotatorenumConstant in class AbstractAnnotatorpublic boolean isAdditionalPropertiesSupported()
Annotator
Jackson is able to use it's JsonAnyGetter and
JsonAnySetter features for this purpose, hence for Jackson
annotators, this method will return true. Gson does not
support 'additional' property values (they are silently discarded at
deserialization time), hence for Gson annotators, this method would
return false. Moshi 1.x behaves similar to Gson and therefore
returns false.
isAdditionalPropertiesSupported in interface AnnotatorisAdditionalPropertiesSupported in class AbstractAnnotatorpublic void additionalPropertiesField(com.sun.codemodel.JFieldVar field,
com.sun.codemodel.JDefinedClass clazz,
String propertyName)
additionalPropertiesField in interface AnnotatoradditionalPropertiesField in class AbstractAnnotatorpublic void dateField(com.sun.codemodel.JFieldVar field,
com.sun.codemodel.JDefinedClass clazz,
com.fasterxml.jackson.databind.JsonNode node)
AnnotatordateField in interface AnnotatordateField in class AbstractAnnotatorfield - the field that contains data that will be serializednode - the schema node defining this propertypublic void timeField(com.sun.codemodel.JFieldVar field,
com.sun.codemodel.JDefinedClass clazz,
com.fasterxml.jackson.databind.JsonNode node)
AnnotatortimeField in interface AnnotatortimeField in class AbstractAnnotatorfield - the field that contains data that will be serializednode - the schema node defining this propertypublic void dateTimeField(com.sun.codemodel.JFieldVar field,
com.sun.codemodel.JDefinedClass clazz,
com.fasterxml.jackson.databind.JsonNode node)
AnnotatordateTimeField in interface AnnotatordateTimeField in class AbstractAnnotatorfield - the field that contains data that will be serializednode - the schema node defining this propertyCopyright © 2019. All rights reserved.