Package com.fasterxml.jackson.annotation

# Annotation Type JsonSubTypes.Type

Enclosing class:
  `JsonSubTypes`

public static @interface JsonSubTypes.Type
Definition of a subtype, along with optional name(s). If no name is defined (empty Strings are ignored), class of the type will be checked for `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.

## Required Element Summary

Required Elements
Modifier and Type
Required Element
Description
`Class<?>`
`value`
Class of the subtype

## Optional Element Summary

Optional Elements
Modifier and Type
Optional Element
Description
`String`
`name`
Logical type name used as the type identifier for the class, if defined; empty String means "not defined".
`String[]`
`names`
(optional) Logical type names used as the type identifier for the class: used if more than one type name should be associated with the same type.

## Element Details

### value

Class<?> value
Class of the subtype

### name

String name
Logical type name used as the type identifier for the class, if defined; empty String means "not defined". Used unless `names()` is defined as non-empty.

Default:
  `""`

### names

String[] names
(optional) Logical type names used as the type identifier for the class: used if more than one type name should be associated with the same type.

Since:
  2.12

Default:
  `{}`