This Schema was generated by the OSS through Java XML Toolkit Doclet 3-30-2005 15:26 The <CODE>HierarchicalPrimaryKey</CODE> interface represents an inventory key based on a hierarchy. The DN (Distiguished Name) of the inventory object is composed of the RDN (Relative Distiguished Name)and the DN of the parent. In case the entity is directly under the top of the hierarchy (i.e. the parent is "top") the parent DN is a null <CODE>String</CODE> . The HierarchicalName interface (see the interface definition below) represents a key based on a hierarchy, e.g., X.500 or LDAP directory. Every object in the hierarchy has a Distinguished Name (DN), which is made up of a sequence of Relative Distinguished Names (RDNs). The RDNs are separated by commas. An RDN is unique for given base in the hierarchy. A DN is unique to the entire hierarchy. Here is an example of a DN: "network=Canada,subnetwork=Ottawa,device=OttawaRouter1" The RDNs of this DN are: <ul> <li>RDN => network=Canada <li>RDN => subnetwork=Ottawa <li>RDN => device=OttawaRouter1 </ul> The parent DN of the "OttawaRouter1" object is "network=Canada,subnetwork=Ottawa". This is the base from which all entity value interfaces are derived. <p> Entities are represented in the CBE package as managed entities (according to the OSS through Java definition of managed entity). <p> <CODE>EntityValue</CODE> inherits from <CODE>ManagedEntityValue</CODE> all methods for population, generic attribute access and serialization. <p> <CODE>EntitySpecificationValue</CODE> is the base for all specification entities. <p> An entity specification captures characteristics and constraints applicable to instances of the same entity type. For example a "<CODE>GoldBroadbandAccessServicespecification</CODE>" will capture the characteristics, configuration and QoS parameter ranges, specific to a "<CODE>Gold</CODE>" Broadband Access service offering. Several specification instances may exist for the same entity type. "<CODE>Gold</CODE>", "<CODE>Silver</CODE>" and "<CODE>Bronze</CODE>" specifications may be defined for a "<CODE>BroadbandAccessService</CODE>". <p> Catalogues are collections of entity specifications (e.g. service catalogue composed of service specifications, product catalogue composed of product specifications, resource catalogue composed of resource specifications). <p> An entity instance is defined by a single entity specification. The same entity specification may be used to define multiple entity instances. An association exists between the entity specification and the entity instances, defined by this specification (the values of the <CODE>describingSpecification</CODE> attributes of the entities are set with the key of the specification). The specification defines default values for all attributes of the corresponding entity type. <p> Entity specifications provide a factory method for the attribute constraints they contain. Note that the CBE package does not specify through how attribute constraints are defined. Specific implementations of the CBE interfaces should define the concrete attribute constraint interfaces and the methods on the entity specification that allow to get and set these constraints. <p> Entity specifications are represented as managed entities (according to the OSS through Java definition of managed entity). <CODE>EntitySpecification</CODE> instances have their own key and can be retrieved through API specific <CODE>JVTSession</CODE> interfaces. The following example show how to use the Inventory API to update a <CODE>ProductSpecification</CODE>: <pre> <CODE> JVTInventorySession jvt = ...; EntitySpecificationKey key = ...; ProductSpecificationValue value = (ProductSpecificationValue)jvt.getEntitySpecificationByKey(key); value.setAttributeValue("..."); jvt.setEntitySpecificationByValue(value); </CODE> </pre> <p> The specification for a given entity type may be used as a factory for value objects or for creating entity instances of this entity type. For example using the Inventory API: <pre> <CODE>JVT<...>InventorySession.make<...>EntityValueFromSpecification()</CODE> and the <CODE>JVT<...>InventorySession.create<...>EntityFromSpecification()</CODE> methods. </pre> <p> Entity specifications are uniquely identified by their keys. See {@link EntitySpecificationKey} for more information. <p> <CODE>EntitySpecificationValue</CODE> inherits from <CODE>ManagedEntityValue</CODE> all methods for population, generic attribute access and serialization. The <CODE>EntitySpecificationKeyResult</CODE> interface is used in bulk best effort JVT operations. <p> This interface encapsulates all the information necessary to indicate the result of a best effort update operation on a specific entity specification(during a best effort update operation each entity specification involved in the operation is processed in a separate atomic action). The <CODE>EntitySpecificationKey</CODE> interface represents a unique key for an entity specification. <p> The <CODE>EntitySpecificationKeyResult</CODE> interface is used in bulk best effort JVT operations. <p> This interface encapsulates all the information necessary to indicate the result of a best effort update operation on a specific entity specification(during a best effort update operation each entity specification involved in the operation is processed in a separate atomic action). The <CODE>EntityKey</CODE> interface <p> This is the base for all the first class CBE Managed Entities These first class objects may be in one of the following categories: <ul> <li>entities <li>entitiy specifications, describing entities <li>associations, representing binary relationships between entities or specifications </ul> CBEManagedEntityValue is the base value type interface for the CBE Entity, Entity Specification and Association Values. This interface defines the <CODE>CBECoreType</CODE> enumeration. The type of a CBE object may be one of the following: <ul> <li> entity <li> entity specification <li> association </ul> The <CODE>Cardinality</CODE> defines the numeric relationships between occurrences of the entities on either end of a relationship. This interface defines the cardinality value of the association's end. The <CODE>Cardinality</CODE> interface is used in {@link AssociationRule AssociationRules}. An association rule defines the constraints for a particular association type and the cardinality is one of the constraints defined in the rule. The cardinality is accessed through the {@link AssociationRule#getAEndCardinality getAEndCardinality()} and {@link AssociationRule#getZEndCardinality getZEndCardinality()} methods of the {@link AssociationRule AssociationRule} interface. The <CODE>AssociationValue</CODE> is the base from which all association interfaces are derived. <p> Associations are represented in the CBE package as managed entities (according to the OSS through Java definition of managed entity). <CODE>Association</CODE> instances have their own keys. <p> The following attributes of an <CODE>AssociationValue</CODE> are set at creation: <ul> <li>EntityKey <li>the key of object A (A end) <li>the key of object Z (Z end) </ul> Note that other attributes could be defined by concrete association values derived from this base interface. However these attributes should be specific to this association and should not depend on the state of other objects. <p> The roles are captured in the definition of the association attributes and in the corresponding {@link AssociationRule AssociationRule}. For example in a "<CODE>SupportedBy</CODE>" type of association for one of the objects will be defined an attribute "<CODE>supporting</CODE>" and "<CODE>supported</CODE>" for the other. The corresponding <CODE>AssociationRule</CODE> will define the A and Z end roles as "<CODE>supporting</CODE>" and "<CODE>supported</CODE>". <p> An {@link AssociationRule AssociationRule} is provided for every concrete association type. The rule defines the constraints for this association type (e.g. roles, cardinality, association constraints). <p> Associations are uniquely identified by their keys. See {@link AssociationKey AssociationKey} for more information. <p> The <CODE>AssociationValue</CODE> inherits from <CODE>ManagedEntityValue</CODE> all methods for population, generic attribute access and serialization. An <CODE>AssociationRuleViolationException</CODE> is thrown to indicate that an update operation (e.g. a creation of an association or a set operation on an entity involved in the association) violates the constraints defined in the <CODE>AssociationRule</CODE> for this association type (e.g. roles, cardinality, association constraints). An association rule defines the constraints for the corresponding association type. An association rule should be provided for every concrete association type. <p> <p> Association Rules define: <ul> <li>the roles at each association end <li>the cardinality of the association at each association end <li>the type of entities or specifications involved at each association end <li>the constraints applicable to this association </ul> <p> If the constraints defined in an association rule are not respected during an update operation (e.g. a creation of an association or a set operation on an entity involved in the association) an <CODE>AssociationRuleViolationException</CODE> is thrown. The <CODE>AssociationKeyResult</CODE> interface is used in bulk best effort JVT operations. <p> This interface encapsulates all the information necessary to indicate the result of a best effort update operation on a specific association (during a best effort update operation each association involved in the operation is processed in a separate atomic action). The <CODE>AssociationKey</CODE> interface <p>