|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |
@Target(value={ANNOTATION_TYPE,METHOD,FIELD,TYPE,PARAMETER}) @Retention(value=RUNTIME) public @interface JsonDeserialize
Annotation use for configuring deserialization aspects, by attaching to "setter" methods or fields, or to value classes. When annotating value classes, configuration is used for instances of the value class but can be overridden by more specific annotations (ones that attach to methods or fields).
An example annotation would be:
@JsonDeserialize(using=MySerializer.class, as=MyHashMap.class, keyAs=MyHashKey.class, contentAs=MyHashValue.class )
Optional Element Summary | |
---|---|
Class<?> |
as
Concrete type to deserialize values as, instead of type otherwise declared. |
Class<?> |
builder
Annotation for specifying if an external Builder class is to be used for building up deserialized instances of annotated class. |
Class<?> |
contentAs
Concrete type to deserialize content (elements of a Collection/array, values of Maps) values as, instead of type otherwise declared. |
Class<? extends JsonDeserializer<?>> |
contentUsing
Deserializer class to use for deserializing contents (elements of a Collection/array, values of Maps) of annotated property. |
Class<?> |
keyAs
Concrete type to deserialize keys of Map as,
instead of type otherwise declared. |
Class<? extends KeyDeserializer> |
keyUsing
Deserializer class to use for deserializing Map keys of annotated property. |
Class<? extends JsonDeserializer<?>> |
using
Deserializer class to use for deserializing associated value. |
public abstract Class<? extends JsonDeserializer<?>> using
public abstract Class<? extends JsonDeserializer<?>> contentUsing
public abstract Class<? extends KeyDeserializer> keyUsing
public abstract Class<?> builder
public abstract Class<?> as
Bogus type NoClass
can be used to indicate that declared
type is used as is (i.e. this annotation property has no setting);
this since annotation properties are not allowed to have null value.
Note: if using()
is also used it has precedence
(since it directly specified
deserializer, whereas this would only be used to locate the
deserializer)
and value of this annotation property is ignored.
public abstract Class<?> keyAs
Map
as,
instead of type otherwise declared.
Must be a subtype of declared type; otherwise an exception may be
thrown by deserializer.
public abstract Class<?> contentAs
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |