public interface Annotator
Annotators that need the generation configuration should add a constructor
with GenerationConfig arg. Annotators that don't need the
configuration need only add a default constructor.
| 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 propertyNode)
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 propertyNode)
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 propertyNode)
Add the necessary annotations to a time field.
|
void propertyOrder(com.sun.codemodel.JDefinedClass clazz,
com.fasterxml.jackson.databind.JsonNode propertiesNode)
clazz - a generated pojo class, that is serialized to JSONpropertiesNode - the properties to be orderedvoid propertyInclusion(com.sun.codemodel.JDefinedClass clazz,
com.fasterxml.jackson.databind.JsonNode schema)
clazz - a generated pojo class, that is serialized to JSONschema - the object schema associated with this clazzvoid propertyField(com.sun.codemodel.JFieldVar field,
com.sun.codemodel.JDefinedClass clazz,
String propertyName,
com.fasterxml.jackson.databind.JsonNode propertyNode)
field - 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 propertyvoid propertyGetter(com.sun.codemodel.JMethod getter,
com.sun.codemodel.JDefinedClass clazz,
String propertyName)
getter - the method that will be used to get the value of the given
JSON propertypropertyName - the name of the JSON property that this getter getsvoid propertySetter(com.sun.codemodel.JMethod setter,
com.sun.codemodel.JDefinedClass clazz,
String propertyName)
setter - the method that will be used to set the value of the given
JSON propertypropertyName - the name of the JSON property that this setter setsvoid anyGetter(com.sun.codemodel.JMethod getter,
com.sun.codemodel.JDefinedClass clazz)
getter - the method that will be used to get the values of additional
propertiesvoid anySetter(com.sun.codemodel.JMethod setter,
com.sun.codemodel.JDefinedClass clazz)
setter - the method that will be used to set the values of additional
propertiesvoid enumCreatorMethod(com.sun.codemodel.JDefinedClass _enum,
com.sun.codemodel.JMethod creatorMethod)
creatorMethod - the method that can create a Java enum value from a JSON valuevoid enumValueMethod(com.sun.codemodel.JDefinedClass _enum,
com.sun.codemodel.JMethod valueMethod)
valueMethod - the enum instance method that can create a JSON value during
serializationvoid enumConstant(com.sun.codemodel.JDefinedClass _enum,
com.sun.codemodel.JEnumConstant constant,
String value)
boolean isAdditionalPropertiesSupported()
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.
void dateTimeField(com.sun.codemodel.JFieldVar field,
com.sun.codemodel.JDefinedClass clazz,
com.fasterxml.jackson.databind.JsonNode propertyNode)
field - the field that contains data that will be serializedpropertyNode - the schema node defining this propertyvoid dateField(com.sun.codemodel.JFieldVar field,
com.sun.codemodel.JDefinedClass clazz,
com.fasterxml.jackson.databind.JsonNode propertyNode)
field - the field that contains data that will be serializedpropertyNode - the schema node defining this propertyvoid timeField(com.sun.codemodel.JFieldVar field,
com.sun.codemodel.JDefinedClass clazz,
com.fasterxml.jackson.databind.JsonNode propertyNode)
field - the field that contains data that will be serializedpropertyNode - the schema node defining this propertyvoid additionalPropertiesField(com.sun.codemodel.JFieldVar field,
com.sun.codemodel.JDefinedClass clazz,
String propertyName)
Copyright © 2019. All rights reserved.