org.hibernate.metamodel.domain
Class AbstractAttributeContainer

java.lang.Object
  extended by org.hibernate.metamodel.domain.AbstractAttributeContainer
All Implemented Interfaces:
AttributeContainer, Hierarchical, Type
Direct Known Subclasses:
Component, Entity, NonEntity, Superclass

public abstract class AbstractAttributeContainer
extends Object
implements AttributeContainer, Hierarchical

Convenient base class for AttributeContainer. Because in our model all AttributeContainers are also Hierarchical we also implement that here as well.


Nested Class Summary
static class AbstractAttributeContainer.IndexedPluralAttributeImpl
           
static class AbstractAttributeContainer.PluralAttributeImpl
           
static class AbstractAttributeContainer.SingularAttributeImpl
           
 
Constructor Summary
AbstractAttributeContainer(String name, String className, Value<Class<?>> classReference, Hierarchical superType)
           
 
Method Summary
protected  void addAttribute(Attribute attribute)
           
 Set<Attribute> attributes()
          Retrieve the attributes contained in this container.
 PluralAttribute createBag(String name)
           
 SingularAttribute createComponentAttribute(String name, Component component)
           
 IndexedPluralAttribute createList(String name)
           
 IndexedPluralAttribute createMap(String name)
           
protected  PluralAttribute createPluralAttribute(String name, PluralAttributeNature nature)
           
 PluralAttribute createSet(String name)
           
 SingularAttribute createSingularAttribute(String name)
           
 SingularAttribute createVirtualSingularAttribute(String name)
           
 String getClassName()
          Obtain the java class name for this type.
 Class<?> getClassReference()
          Obtain the java Class reference for this type
 Value<Class<?>> getClassReferenceUnresolved()
           
 String getName()
          Obtain the name of the type.
 String getRoleBaseName()
          Obtain the name of this container in terms of creating attribute role names.
 Hierarchical getSuperType()
          Retrieve the super type.
 Attribute locateAttribute(String name)
          Retrieve an attribute by name.
 PluralAttribute locateBag(String name)
           
 SingularAttribute locateComponentAttribute(String name)
           
 IndexedPluralAttribute locateList(String name)
           
 IndexedPluralAttribute locateMap(String name)
           
 PluralAttribute locatePluralAttribute(String name)
           
 PluralAttribute locateSet(String name)
           
 SingularAttribute locateSingularAttribute(String name)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.hibernate.metamodel.domain.Type
isAssociation, isComponent
 

Constructor Detail

AbstractAttributeContainer

public AbstractAttributeContainer(String name,
                                  String className,
                                  Value<Class<?>> classReference,
                                  Hierarchical superType)
Method Detail

getName

public String getName()
Description copied from interface: Type
Obtain the name of the type.

Specified by:
getName in interface Type
Returns:
The name

getClassName

public String getClassName()
Description copied from interface: Type
Obtain the java class name for this type.

Specified by:
getClassName in interface Type
Returns:
The class name

getClassReference

public Class<?> getClassReference()
Description copied from interface: Type
Obtain the java Class reference for this type

Specified by:
getClassReference in interface Type
Returns:
The Class reference

getClassReferenceUnresolved

public Value<Class<?>> getClassReferenceUnresolved()
Specified by:
getClassReferenceUnresolved in interface Type

getSuperType

public Hierarchical getSuperType()
Description copied from interface: Hierarchical
Retrieve the super type.

Specified by:
getSuperType in interface Hierarchical
Returns:
The super type, or null if no super type.

attributes

public Set<Attribute> attributes()
Description copied from interface: AttributeContainer
Retrieve the attributes contained in this container.

Specified by:
attributes in interface AttributeContainer
Returns:
The contained attributes

getRoleBaseName

public String getRoleBaseName()
Description copied from interface: AttributeContainer
Obtain the name of this container in terms of creating attribute role names.

NOTE : A role uniquely names each attribute. The role name is the name of the attribute prefixed by the "path" to its container.

Specified by:
getRoleBaseName in interface AttributeContainer
Returns:
The container base name for role construction.

locateAttribute

public Attribute locateAttribute(String name)
Description copied from interface: AttributeContainer
Retrieve an attribute by name.

Specified by:
locateAttribute in interface AttributeContainer
Parameters:
name - The name of the attribute to retrieve.
Returns:
The attribute matching the given name, or null.

locateSingularAttribute

public SingularAttribute locateSingularAttribute(String name)
Specified by:
locateSingularAttribute in interface AttributeContainer

createSingularAttribute

public SingularAttribute createSingularAttribute(String name)
Specified by:
createSingularAttribute in interface AttributeContainer

createVirtualSingularAttribute

public SingularAttribute createVirtualSingularAttribute(String name)
Specified by:
createVirtualSingularAttribute in interface AttributeContainer

locateComponentAttribute

public SingularAttribute locateComponentAttribute(String name)
Specified by:
locateComponentAttribute in interface AttributeContainer

createComponentAttribute

public SingularAttribute createComponentAttribute(String name,
                                                  Component component)
Specified by:
createComponentAttribute in interface AttributeContainer

locatePluralAttribute

public PluralAttribute locatePluralAttribute(String name)
Specified by:
locatePluralAttribute in interface AttributeContainer

createPluralAttribute

protected PluralAttribute createPluralAttribute(String name,
                                                PluralAttributeNature nature)

locateBag

public PluralAttribute locateBag(String name)
Specified by:
locateBag in interface AttributeContainer

createBag

public PluralAttribute createBag(String name)
Specified by:
createBag in interface AttributeContainer

locateSet

public PluralAttribute locateSet(String name)
Specified by:
locateSet in interface AttributeContainer

createSet

public PluralAttribute createSet(String name)
Specified by:
createSet in interface AttributeContainer

locateList

public IndexedPluralAttribute locateList(String name)
Specified by:
locateList in interface AttributeContainer

createList

public IndexedPluralAttribute createList(String name)
Specified by:
createList in interface AttributeContainer

locateMap

public IndexedPluralAttribute locateMap(String name)
Specified by:
locateMap in interface AttributeContainer

createMap

public IndexedPluralAttribute createMap(String name)
Specified by:
createMap in interface AttributeContainer

toString

public String toString()
Overrides:
toString in class Object

addAttribute

protected void addAttribute(Attribute attribute)


Copyright © 2001-2012 Red Hat, Inc. All Rights Reserved.