javax.persistence.metamodel

## Interface ManagedType<X>

Type Parameters:
  `X` - The represented type.

All Superinterfaces:
  Type<X>

All Known Subinterfaces:
  EmbeddableType<X>, EntityType<X>, IdentifiableType<X>, MappedSuperclassType<X>

    public interface ManagedType<X>
    extends Type<X>

Instances of the type `ManagedType` represent entity, mapped superclass, and embeddable types.

Since:
  Java Persistence 2.0

### Nested Class Summary

### Nested classes/interfaces inherited from interface javax.persistence.metamodel.Type

`Type.PersistenceType`

### Method Summary

All Methods Instance Methods Abstract Methods
`Attribute<? super X,?>` `getAttribute(String name)` Return the attribute of the managed type that corresponds to the specified name.
`Set<Attribute<? super X,?>>` `getAttributes()` Return the attributes of the managed type.
`CollectionAttribute<? super X,?>` `getCollection(String name)` Return the Collection-valued attribute of the managed type that corresponds to the specified name.
`<E> CollectionAttribute<? super X,E>` `getCollection(String name, Class<E> elementType)` Return the Collection-valued attribute of the managed type that corresponds to the specified name and Java element type.
`Attribute<X,?>` `getDeclaredAttribute(String name)` Return the attribute declared by the managed type that corresponds to the specified name.
`Set<Attribute<X,?>>` `getDeclaredAttributes()` Return the attributes declared by the managed type.
`CollectionAttribute<X,?>` `getDeclaredCollection(String name)` Return the Collection-valued attribute declared by the managed type that corresponds to the specified name.
`<E> CollectionAttribute<X,E>` `getDeclaredCollection(String name, Class<E> elementType)` Return the Collection-valued attribute declared by the managed type that corresponds to the specified name and Java element type.
`ListAttribute<X,?>` `getDeclaredList(String name)` Return the List-valued attribute declared by the managed type that corresponds to the specified name.
`<E> ListAttribute<X,E>` `getDeclaredList(String name, Class<E> elementType)` Return the List-valued attribute declared by the managed type that corresponds to the specified name and Java element type.
`MapAttribute<X,?,?>` `getDeclaredMap(String name)` Return the Map-valued attribute declared by the managed type that corresponds to the specified name.
`<K,V> MapAttribute<X,K,V>` `getDeclaredMap(String name, Class<K> keyType, Class<V> valueType)` Return the Map-valued attribute declared by the managed type that corresponds to the specified name and Java key and value types.
`Set<PluralAttribute<X,?,?>>` `getDeclaredPluralAttributes()` Return all multi-valued attributes (Collection-, Set-, List-, and Map-valued attributes) declared by the managed type.
`SetAttribute<X,?>` `getDeclaredSet(String name)` Return the Set-valued attribute declared by the managed type that corresponds to the specified name.
`<E> SetAttribute<X,E>` `getDeclaredSet(String name, Class<E> elementType)` Return the Set-valued attribute declared by the managed type that corresponds to the specified name and Java element type.
`SingularAttribute<X,?>` `getDeclaredSingularAttribute(String name)` Return the single-valued attribute declared by the managed type that corresponds to the specified name.
`<Y> SingularAttribute<X,Y>` `getDeclaredSingularAttribute(String name, Class<Y> type)` Return the single-valued attribute declared by the managed type that corresponds to the specified name and Java type.
`Set<SingularAttribute<X,?>>` `getDeclaredSingularAttributes()` Return the single-valued attributes declared by the managed type.
`ListAttribute<? super X,?>` `getList(String name)` Return the List-valued attribute of the managed type that corresponds to the specified name.
`<E> ListAttribute<? super X,E>` `getList(String name, Class<E> elementType)` Return the List-valued attribute of the managed type that corresponds to the specified name and Java element type.
`MapAttribute<? super X,?,?>` `getMap(String name)` Return the Map-valued attribute of the managed type that corresponds to the specified name.
`<K,V> MapAttribute<? super X,K,V>` `getMap(String name, Class<K> keyType, Class<V> valueType)` Return the Map-valued attribute of the managed type that corresponds to the specified name and Java key and value types.
`Set<PluralAttribute<? super X,?,?>>` `getPluralAttributes()` Return all multi-valued attributes (Collection-, Set-, List-, and Map-valued attributes) of the managed type.
`SetAttribute<? super X,?>` `getSet(String name)` Return the Set-valued attribute of the managed type that corresponds to the specified name.
`<E> SetAttribute<? super X,E>` `getSet(String name, Class<E> elementType)` Return the Set-valued attribute of the managed type that corresponds to the specified name and Java element type.
`SingularAttribute<? super X,?>` `getSingularAttribute(String name)` Return the single-valued attribute of the managed type that corresponds to the specified name.
`<Y> SingularAttribute<? super X,Y>` `getSingularAttribute(String name, Class<Y> type)` Return the single-valued attribute of the managed type that corresponds to the specified name and Java type.
`Set<SingularAttribute<? super X,?>>` `getSingularAttributes()` Return the single-valued attributes of the managed type.

### Methods inherited from interface javax.persistence.metamodel.Type

`getJavaType, getPersistenceType`

### Method Detail

#### getAttributes

    Set<Attribute<? super X,?>> getAttributes()

Return the attributes of the managed type.

Returns:
  attributes of the managed type

#### getDeclaredAttributes

    Set<Attribute<X,?>> getDeclaredAttributes()

Return the attributes declared by the managed type. Returns empty set if the managed type has no declared attributes.

Returns:
  declared attributes of the managed type

#### getSingularAttribute

    <Y> SingularAttribute<? super X,Y> getSingularAttribute(String name,
                                                            Class<Y> type)

Return the single-valued attribute of the managed type that corresponds to the specified name and Java type.

Parameters:
  `name` - the name of the represented attribute
  `type` - the type of the represented attribute
Returns:
  single-valued attribute with given name and type
Throws:
  `IllegalArgumentException` - if attribute of the given name and type is not present in the managed type

#### getDeclaredSingularAttribute

    <Y> SingularAttribute<X,Y> getDeclaredSingularAttribute(String name,
                                                            Class<Y> type)

Return the single-valued attribute declared by the managed type that corresponds to the specified name and Java type.

Parameters:
  `name` - the name of the represented attribute
  `type` - the type of the represented attribute
Returns:
  declared single-valued attribute of the given name and type
Throws:
  `IllegalArgumentException` - if attribute of the given name and type is not declared in the managed type

#### getSingularAttributes

    Set<SingularAttribute<? super X,?>> getSingularAttributes()

Return the single-valued attributes of the managed type. Returns empty set if the managed type has no single-valued attributes.

Returns:
  single-valued attributes

#### getDeclaredSingularAttributes

    Set<SingularAttribute<X,?>> getDeclaredSingularAttributes()

Return the single-valued attributes declared by the managed type. Returns empty set if the managed type has no declared single-valued attributes.

Returns:
  declared single-valued attributes

#### getCollection

    <E> CollectionAttribute<? super X,E> getCollection(String name,
                                                       Class<E> elementType)

Return the Collection-valued attribute of the managed type that corresponds to the specified name and Java element type.

Parameters:
  `name` - the name of the represented attribute
  `elementType` - the element type of the represented attribute
Returns:
  CollectionAttribute of the given name and element type
Throws:
  `IllegalArgumentException` - if attribute of the given name and type is not present in the managed type

#### getDeclaredCollection

    <E> CollectionAttribute<X,E> getDeclaredCollection(String name,
                                                       Class<E> elementType)

Return the Collection-valued attribute declared by the managed type that corresponds to the specified name and Java element type.

Parameters:
  `name` - the name of the represented attribute
  `elementType` - the element type of the represented attribute
Returns:
  declared `CollectionAttribute` of the given name and element type
Throws:
  `IllegalArgumentException` - if attribute of the given name and type is not declared in the managed type

#### getSet

    <E> SetAttribute<? super X,E> getSet(String name,
                                         Class<E> elementType)

Return the Set-valued attribute of the managed type that corresponds to the specified name and Java element type.

Parameters:
  `name` - the name of the represented attribute
  `elementType` - the element type of the represented attribute
Returns:
  SetAttribute of the given name and element type
Throws:
  `IllegalArgumentException` - if attribute of the given name and type is not present in the managed type

#### getDeclaredSet

    <E> SetAttribute<X,E> getDeclaredSet(String name,
                                         Class<E> elementType)

Return the Set-valued attribute declared by the managed type that corresponds to the specified name and Java element type.

Parameters:
  `name` - the name of the represented attribute
  `elementType` - the element type of the represented attribute
Returns:
  declared SetAttribute of the given name and element type
Throws:
  `IllegalArgumentException` - if attribute of the given name and type is not declared in the managed type

#### getList

    <E> ListAttribute<? super X,E> getList(String name,
                                           Class<E> elementType)

Return the List-valued attribute of the managed type that corresponds to the specified name and Java element type.

Parameters:
  `name` - the name of the represented attribute
  `elementType` - the element type of the represented attribute
Returns:
  ListAttribute of the given name and element type
Throws:
  `IllegalArgumentException` - if attribute of the given name and type is not present in the managed type

#### getDeclaredList

    <E> ListAttribute<X,E> getDeclaredList(String name,
                                           Class<E> elementType)

Return the List-valued attribute declared by the managed type that corresponds to the specified name and Java element type.

Parameters:
  `name` - the name of the represented attribute
  `elementType` - the element type of the represented attribute
Returns:
  declared ListAttribute of the given name and element type
Throws:
  `IllegalArgumentException` - if attribute of the given name and type is not declared in the managed type

#### getMap

    <K,V> MapAttribute<? super X,K,V> getMap(String name,
                                             Class<K> keyType,
                                             Class<V> valueType)

Return the Map-valued attribute of the managed type that corresponds to the specified name and Java key and value types.

Parameters:
  `name` - the name of the represented attribute
  `keyType` - the key type of the represented attribute
  `valueType` - the value type of the represented attribute
Returns:
  MapAttribute of the given name and key and value types
Throws:
  `IllegalArgumentException` - if attribute of the given name and type is not present in the managed type

#### getDeclaredMap

    <K,V> MapAttribute<X,K,V> getDeclaredMap(String name,
                                             Class<K> keyType,
                                             Class<V> valueType)

Return the Map-valued attribute declared by the managed type that corresponds to the specified name and Java key and value types.

Parameters:
  `name` - the name of the represented attribute
  `keyType` - the key type of the represented attribute
  `valueType` - the value type of the represented attribute
Returns:
  declared MapAttribute of the given name and key and value types
Throws:
  `IllegalArgumentException` - if attribute of the given name and type is not declared in the managed type

#### getPluralAttributes

    Set<PluralAttribute<? super X,?,?>> getPluralAttributes()

Return all multi-valued attributes (Collection-, Set-, List-, and Map-valued attributes) of the managed type. Returns empty set if the managed type has no multi-valued attributes.

Returns:
  Collection-, Set-, List-, and Map-valued attributes

#### getDeclaredPluralAttributes

    Set<PluralAttribute<X,?,?>> getDeclaredPluralAttributes()

Return all multi-valued attributes (Collection-, Set-, List-, and Map-valued attributes) declared by the managed type. Returns empty set if the managed type has no declared multi-valued attributes.

Returns:
  declared Collection-, Set-, List-, and Map-valued attributes

#### getAttribute

    Attribute<? super X,?> getAttribute(String name)

Return the attribute of the managed type that corresponds to the specified name.

Parameters:
  `name` - the name of the represented attribute
Returns:
  attribute with given name
Throws:
  `IllegalArgumentException` - if attribute of the given name is not present in the managed type

#### getDeclaredAttribute

    Attribute<X,?> getDeclaredAttribute(String name)

Return the attribute declared by the managed type that corresponds to the specified name.

Parameters:
  `name` - the name of the represented attribute
Returns:
  attribute with given name
Throws:
  `IllegalArgumentException` - if attribute of the given name is not declared in the managed type

#### getSingularAttribute

    SingularAttribute<? super X,?> getSingularAttribute(String name)

Return the single-valued attribute of the managed type that corresponds to the specified name.

Parameters:
  `name` - the name of the represented attribute
Returns:
  single-valued attribute with the given name
Throws:
  `IllegalArgumentException` - if attribute of the given name is not present in the managed type

#### getDeclaredSingularAttribute

    SingularAttribute<X,?> getDeclaredSingularAttribute(String name)

Return the single-valued attribute declared by the managed type that corresponds to the specified name.

Parameters:
  `name` - the name of the represented attribute
Returns:
  declared single-valued attribute of the given name
Throws:
  `IllegalArgumentException` - if attribute of the given name is not declared in the managed type

#### getCollection

    CollectionAttribute<? super X,?> getCollection(String name)

Return the Collection-valued attribute of the managed type that corresponds to the specified name.

Parameters:
  `name` - the name of the represented attribute
Returns:
  CollectionAttribute of the given name
Throws:
  `IllegalArgumentException` - if attribute of the given name is not present in the managed type

#### getDeclaredCollection

    CollectionAttribute<X,?> getDeclaredCollection(String name)

Return the Collection-valued attribute declared by the managed type that corresponds to the specified name.

Parameters:
  `name` - the name of the represented attribute
Returns:
  declared CollectionAttribute of the given name
Throws:
  `IllegalArgumentException` - if attribute of the given name is not declared in the managed type

#### getSet

    SetAttribute<? super X,?> getSet(String name)

Return the Set-valued attribute of the managed type that corresponds to the specified name.

Parameters:
  `name` - the name of the represented attribute
Returns:
  SetAttribute of the given name
Throws:
  `IllegalArgumentException` - if attribute of the given name is not present in the managed type

#### getDeclaredSet

    SetAttribute<X,?> getDeclaredSet(String name)

Return the Set-valued attribute declared by the managed type that corresponds to the specified name.

Parameters:
  `name` - the name of the represented attribute
Returns:
  declared SetAttribute of the given name
Throws:
  `IllegalArgumentException` - if attribute of the given name is not declared in the managed type

#### getList

    ListAttribute<? super X,?> getList(String name)

Return the List-valued attribute of the managed type that corresponds to the specified name.

Parameters:
  `name` - the name of the represented attribute
Returns:
  ListAttribute of the given name
Throws:
  `IllegalArgumentException` - if attribute of the given name is not present in the managed type

#### getDeclaredList

    ListAttribute<X,?> getDeclaredList(String name)

Return the List-valued attribute declared by the managed type that corresponds to the specified name.

Parameters:
  `name` - the name of the represented attribute
Returns:
  declared ListAttribute of the given name
Throws:
  `IllegalArgumentException` - if attribute of the given name is not declared in the managed type

#### getMap

    MapAttribute<? super X,?,?> getMap(String name)

Return the Map-valued attribute of the managed type that corresponds to the specified name.

Parameters:
  `name` - the name of the represented attribute
Returns:
  MapAttribute of the given name
Throws:
  `IllegalArgumentException` - if attribute of the given name is not present in the managed type

#### getDeclaredMap

    MapAttribute<X,?,?> getDeclaredMap(String name)

Return the Map-valued attribute declared by the managed type that corresponds to the specified name.

Parameters:
  `name` - the name of the represented attribute
Returns:
  declared MapAttribute of the given name
Throws:
  `IllegalArgumentException` - if attribute of the given name is not declared in the managed type