Sha256: fc70bbcd2a5f981f1e7910fcb985d8290c9f06e409d443a17535c52a53e3b0b2
Contents?: true
Size: 1.55 KB
Versions: 164
Compression:
Stored size: 1.55 KB
Contents
package sh.calaba.org.codehaus.jackson.annotate; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Annotation used with {@link JsonTypeInfo} to indicate sub types of serializable * polymorphic types, and to associate logical names used within JSON content * (which is more portable than using physical Java class names). * * @since 1.5 (but available to fields, methods and constructor params only since 1.8) */ @Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER}) @Retention(RetentionPolicy.RUNTIME) @JacksonAnnotation public @interface JsonSubTypes { /** * Subtypes of the annotated type (annotated class, or property value type * associated with the annotated method). These will be checked recursively * so that types can be defined by only including direct subtypes. */ public Type[] value(); /** * Definition of a subtype, along with optional name. If name is missing, class * of the type will be checked for {@link JsonTypeName} annotation; and if that * is also missing or empty, a default * name will be constructed by type id mechanism. * Default name is usually based on class name. */ public @interface Type { /** * Class of the subtype */ public Class<?> value(); /** * Logical type name used as the type identifier for the class */ public String name() default ""; } }
Version data entries
164 entries across 164 versions & 2 rubygems