@Nonnull @Target(value=TYPE) @Inherited @Documented @Retention(value=RUNTIME) public @interface CatalogedBy
CatalogType
class to specify a set of special catalog
classes which act as the catalog for the annotated type. The annotated class
must extend CatalogType
, and the specified catalog classes should be
queryable or otherwise serve constant instances of the cataloged type.
All Classes mentioned in the CatalogedBy annotation must meet the following requirements:
Modifier and Type | Required Element and Description |
---|---|
Class<?>[] |
value
Gets the class that is the catalog for this
CatalogedBy type. |
public abstract Class<?>[] value
CatalogedBy
type.
Since the type class annotated with CatalogedBy
knows what the
catalog class is, we can safely rely on the value to get all known
instances of the CatalogedBy
.
This is similar to knowing at runtime that all available "EntityType"(s) are cataloged in the "EntityTypes" class.