net.sf.farrago.cwm.keysindexes
Class KeysIndexesPackage$Hib

java.lang.Object
  extended by org.eigenbase.enki.jmi.impl.RefBaseObjectBase
      extended by org.eigenbase.enki.jmi.impl.RefPackageBase
          extended by org.eigenbase.enki.hibernate.jmi.HibernateRefPackage
              extended by net.sf.farrago.cwm.keysindexes.KeysIndexesPackage$Hib
All Implemented Interfaces:
RefBaseObject, RefPackage, KeysIndexesPackage

public class KeysIndexesPackage$Hib
extends HibernateRefPackage
implements KeysIndexesPackage

KeysIndexes package implementation. The KeysIndexes package depends on the following package: org.omg::CWM::ObjectModel::Core Keys and indexes as means for specifying instances and for identifying alternate sortings of instances are epresented in the CWMFoundation so that they can be shared among the various data models that employ hem. The CWM Foundation defines the base concepts (uniqueness and relationships implemented as keys) pon which more specific key structures can be built by other CWM and tool-specific packages. The concepts of key and index have been placed in the CWM Foundation because they are available in many types of data resources. In the CWM Foundation class and association descriptions that follow, relational model examples are frequently used when discussing the definition and usage of key and index types. This is done because of the wide-spread availability of relational systems and is thought to promote an understanding of the underlying concepts. These concepts, however, are no less applicable to other data models as well. The two central classes for representing the concept of keys are UniqueKey and KeyRelationship. UniqueKey instances correspond to the notion that keys represent the identity of instances -- similar to the relational model?s concept of a primary key or an object model?s concept of an object identity. In contrast, KeyRelationship instancescorrespond to the notion that keys embedded in an instance can be used to determine the identity of other related instances -- similar to the relational model concept of foreign key and the object model concept of a reference. Consequently, UniqueKey and KeyRelationship are best thought of as representing roles that collections of Features of Classifiers play rather than Classifiers describing the internal structure of keys. Representing keys as roles rather than structural entities provides greater flexibility and allows the reuse of Features in multiple keys and in differing relationships to each other. Associations within the KeysIndexes package describe how UniqueKey and KeyRelationship instances describe the roles they play for various Class instances and the StructuralFeature instances they contain. OCL Representation of KeysIndexes Constraints [C-6-1]The isAscending attribute is valid only if the isSorted attribute is True. context IndexedFeature inv: self.isAscending->notEmpty implies self.index.isSorted [C-6-2] A KeyRelationship instance must be owned by one and only one Class instance. context KeyRelationship inv: (self.namespace->size = 1) and self.namespace.oclIsKindOf(Class) [C-6-3] An UniqueKey instance must be owned by one and only one Class instance. context UniqueKey inv: (self.namespace->size = 1) and self.namespace.oclIsKindOf(Class)

Note: This type should not be subclassed, implemented or directly instantiated by clients. It is generated from a MOF metamodel and implemented by Enki or MDR.


Field Summary
private  CwmIndexClass cwmIndexClass
           
private  CwmIndexedFeatureClass cwmIndexedFeatureClass
           
private  CwmKeyRelationshipClass cwmKeyRelationshipClass
           
private  CwmUniqueKeyClass cwmUniqueKeyClass
           
private  IndexedFeatureInfo indexedFeatureInfo
           
private  IndexedFeatures indexedFeatures
           
private  IndexSpansClass indexSpansClass
           
private  KeyRelationshipFeatures keyRelationshipFeatures
           
private  UniqueFeature uniqueFeature
           
private  UniqueKeyRelationship uniqueKeyRelationship
           
 
Constructor Summary
KeysIndexesPackage$Hib(RefPackage container)
           
 
Method Summary
 void addAliasPackages()
           
protected  void checkConstraints(List<JmiException> errors, boolean deepVerify)
           
 CwmIndexClass getCwmIndex()
          Returns CwmIndex class proxy object.
 CwmIndexedFeatureClass getCwmIndexedFeature()
          Returns CwmIndexedFeature class proxy object.
 CwmKeyRelationshipClass getCwmKeyRelationship()
          Returns CwmKeyRelationship class proxy object.
 CwmUniqueKeyClass getCwmUniqueKey()
          Returns CwmUniqueKey class proxy object.
 IndexedFeatureInfo getIndexedFeatureInfo()
          Returns IndexedFeatureInfo association proxy object.
 IndexedFeatures getIndexedFeatures()
          Returns IndexedFeatures association proxy object.
 IndexSpansClass getIndexSpansClass()
          Returns IndexSpansClass association proxy object.
 KeyRelationshipFeatures getKeyRelationshipFeatures()
          Returns KeyRelationshipFeatures association proxy object.
 UniqueFeature getUniqueFeature()
          Returns UniqueFeature association proxy object.
 UniqueKeyRelationship getUniqueKeyRelationship()
          Returns UniqueKeyRelationship association proxy object.
 
Methods inherited from class org.eigenbase.enki.hibernate.jmi.HibernateRefPackage
getHibernateRepository, refDelete
 
Methods inherited from class org.eigenbase.enki.jmi.impl.RefPackageBase
addAssociation, addClass, addPackage, getRepository, refAllAssociations, refAllClasses, refAllPackages, refAssociation, refAssociation, refClass, refClass, refCreateStruct, refCreateStruct, refGetEnum, refGetEnum, refImmediatePackage, refPackage, refPackage
 
Methods inherited from class org.eigenbase.enki.jmi.impl.RefBaseObjectBase
createInstance, equals, getCurrentInitializer, getEnum, getInitializer, getMofId, getTag, hashCode, invokeMethod, invokeMethod, logJmi, refMetaObject, refMofId, refOutermostPackage, refVerifyConstraints, setMofId, setRefMetaObject
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.jmi.reflect.RefPackage
refAllAssociations, refAllClasses, refAllPackages, refAssociation, refAssociation, refClass, refClass, refCreateStruct, refCreateStruct, refDelete, refGetEnum, refGetEnum, refPackage, refPackage
 
Methods inherited from interface javax.jmi.reflect.RefBaseObject
equals, hashCode, refImmediatePackage, refMetaObject, refMofId, refOutermostPackage, refVerifyConstraints
 

Field Detail

cwmUniqueKeyClass

private final CwmUniqueKeyClass cwmUniqueKeyClass

cwmIndexClass

private final CwmIndexClass cwmIndexClass

cwmKeyRelationshipClass

private final CwmKeyRelationshipClass cwmKeyRelationshipClass

cwmIndexedFeatureClass

private final CwmIndexedFeatureClass cwmIndexedFeatureClass

indexedFeatures

private final IndexedFeatures indexedFeatures

indexedFeatureInfo

private final IndexedFeatureInfo indexedFeatureInfo

keyRelationshipFeatures

private final KeyRelationshipFeatures keyRelationshipFeatures

uniqueFeature

private final UniqueFeature uniqueFeature

uniqueKeyRelationship

private final UniqueKeyRelationship uniqueKeyRelationship

indexSpansClass

private final IndexSpansClass indexSpansClass
Constructor Detail

KeysIndexesPackage$Hib

public KeysIndexesPackage$Hib(RefPackage container)
Method Detail

addAliasPackages

public void addAliasPackages()
Overrides:
addAliasPackages in class RefPackageBase

getCwmUniqueKey

public CwmUniqueKeyClass getCwmUniqueKey()
Description copied from interface: KeysIndexesPackage
Returns CwmUniqueKey class proxy object. A UniqueKey represents a collection of features of some Class that, taken together, uniquely identify instances of the Class. Instances of UniqueKey for which all features are required to have non-null values are candidates for use as primary keys such as those defined by relational DBMSs.

Specified by:
getCwmUniqueKey in interface KeysIndexesPackage
Returns:
CwmUniqueKey class proxy object.

getCwmIndex

public CwmIndexClass getCwmIndex()
Description copied from interface: KeysIndexesPackage
Returns CwmIndex class proxy object. Instances of the Index class represent the ordering of the instances of some other Class, and the Index is said to "span" the Class. Indexes normally have an ordered set of attributes of the Class instance they span that make up the "key" of the index; this set of relationships is represented by the IndexedFeature class that indicates how the attributes are used by the Index instance. The Index class is intended primarily as a starting point for tools that require the notion of an index.

Specified by:
getCwmIndex in interface KeysIndexesPackage
Returns:
CwmIndex class proxy object.

getCwmKeyRelationship

public CwmKeyRelationshipClass getCwmKeyRelationship()
Description copied from interface: KeysIndexesPackage
Returns CwmKeyRelationship class proxy object. KeyRelationship instances represent relationships between UniqueKey instances and the Class(es) that reference them. This class is intended as a starting point for the creation of "foreign key" and other associative relationships.

Specified by:
getCwmKeyRelationship in interface KeysIndexesPackage
Returns:
CwmKeyRelationship class proxy object.

getCwmIndexedFeature

public CwmIndexedFeatureClass getCwmIndexedFeature()
Description copied from interface: KeysIndexesPackage
Returns CwmIndexedFeature class proxy object. Instances of the IndexedFeature class map StructuralFeature instances of the spanned Class instance to the Index instances that employ them as (part of) their key. Attributes of IndexedFeature instances indicate how specific StructuralFeature instance are used in Index keys.

Specified by:
getCwmIndexedFeature in interface KeysIndexesPackage
Returns:
CwmIndexedFeature class proxy object.

getIndexedFeatures

public IndexedFeatures getIndexedFeatures()
Description copied from interface: KeysIndexesPackage
Returns IndexedFeatures association proxy object. The IndexedFeatures association links StructuralFeature instances to information about how they participate in the keys of Index instances.

Specified by:
getIndexedFeatures in interface KeysIndexesPackage
Returns:
IndexedFeatures association proxy object.

getIndexedFeatureInfo

public IndexedFeatureInfo getIndexedFeatureInfo()
Description copied from interface: KeysIndexesPackage
Returns IndexedFeatureInfo association proxy object. The IndexedFeatureInfo association connects an Index instance to information about how the StructuralFeature instances that are constituents of the Index?s key are used by the Index.

Specified by:
getIndexedFeatureInfo in interface KeysIndexesPackage
Returns:
IndexedFeatureInfo association proxy object.

getKeyRelationshipFeatures

public KeyRelationshipFeatures getKeyRelationshipFeatures()
Description copied from interface: KeysIndexesPackage
Returns KeyRelationshipFeatures association proxy object. The KeyRelationshipFeatures association links KeyRelationship instances with the StructuralFeature instances that comprise their key.

Specified by:
getKeyRelationshipFeatures in interface KeysIndexesPackage
Returns:
KeyRelationshipFeatures association proxy object.

getUniqueFeature

public UniqueFeature getUniqueFeature()
Description copied from interface: KeysIndexesPackage
Returns UniqueFeature association proxy object. The UniqueFeature association identifies the Feature instances of a Class instance that confer uniqueness. The ordered constraint is used to determine the order of StructuralFeature instances in the UniqueKey instance.

Specified by:
getUniqueFeature in interface KeysIndexesPackage
Returns:
UniqueFeature association proxy object.

getUniqueKeyRelationship

public UniqueKeyRelationship getUniqueKeyRelationship()
Description copied from interface: KeysIndexesPackage
Returns UniqueKeyRelationship association proxy object. The UniqueKeyRelationship association links a KeyRelationship with the UniqueKey with which it is paired. For example, in relational model terms, this association links a foreign key -- the KeyRelationship instance -- with the primary key -- the UniqueKey instance -- with which it is paired.

Specified by:
getUniqueKeyRelationship in interface KeysIndexesPackage
Returns:
UniqueKeyRelationship association proxy object.

getIndexSpansClass

public IndexSpansClass getIndexSpansClass()
Description copied from interface: KeysIndexesPackage
Returns IndexSpansClass association proxy object. Associates indexes with the classes they span. This relationship is separate from the ownership of indexes, to allow modeling of systems where an index is NOT owned by the object it spans. In most situations, however, the spanned and owning Class instances will be the same.

Specified by:
getIndexSpansClass in interface KeysIndexesPackage
Returns:
IndexSpansClass association proxy object.

checkConstraints

protected void checkConstraints(List<JmiException> errors,
                                boolean deepVerify)
Specified by:
checkConstraints in class RefBaseObjectBase