org.codehaus.jackson.annotate
Annotation Type JsonUseDeserializer


@Target(value={METHOD,TYPE})
@Retention(value=RUNTIME)
public @interface JsonUseDeserializer

Annotation that can be used to explicitly mark JsonDeserializer used to deserialize instances of the class annotated, or the value of property that is modifier using (setter) method annotated.

There is a special marker Class (NoClass) that can be used to indicate that no explicit deserializer is to be used -- such a work-around is needed because 'null' can not be used with annotations (either as default or explicit value)

Note that although type deserializers do have generic type information, that information is not available during processing. As a result, only thing that can be checked during annotation processing is that class used does indeed implement JsonDeserializer; but not whether it declares that it can handle type given.

Note also that this method does NOT imply that the associated method (when applied to one) is implicitly a setter: rather, it must be recognized as one either due to its naming, or by associated JsonSetter annotation.


Optional Element Summary
 java.lang.Class<?> value
          Class to instantiate to get the serializer instance used for serializing associated value.
 

value

public abstract java.lang.Class<?> value
Class to instantiate to get the serializer instance used for serializing associated value. Depending on what is annotated, value is either an instance of annotated class (used globablly anywhere where class serializer is needed); or only used for serializing property access via a getter method.

Default:
org.codehaus.jackson.annotate.NoClass.class