@Nonnull @Target(value=TYPE) @Inherited @Documented @Retention(value=RUNTIME) public @interface CatalogedBy
CatalogTypeclass 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:
public abstract Class<?> value
CatalogedBytype. Since the type class annotated with
CatalogedByknows what the catalog class is, we can safely rely on the value to get all known instances of the
This is similar to knowing at runtime that all available "EntityType"(s) are cataloged in the "EntityTypes" class.