javax.xml.registry.infomodel
Interface ClassificationScheme

All Superinterfaces:
ExtensibleObject, RegistryEntry, RegistryObject, Versionable

public interface ClassificationScheme
extends RegistryEntry

A ClassificationScheme instance represents a taxonomy that may be used to classify or categorize RegistryObject instances. A very common example of a classification scheme in science is the Classification of living things where living things are categorized in under a tree like structure. Another example is the Dewey Decimal system used in libraries to categorize books and other publications. A common example in eBusiness is that of North American Industry Classification System (NAICS), which is a classification scheme used to classify businesses and services by the industry to which they belong.

Figure 1 shows how a ClassificationScheme is used by a Classification to classify a RegistryObject.

Using a ClassificationScheme to Classify an Object
Figure 1. Using a ClassificationScheme to Classify an Object


Field Summary
static int VALUE_TYPE_EMBEDDED_PATH
          Each taxonomy value in ClassificationScheme embeds the full path from scheme to that Concept.
static int VALUE_TYPE_NON_UNIQUE
          Taxonomy values in ClassificationScheme may be repeated within the same scheme.
static int VALUE_TYPE_UNIQUE
          Each taxonomy value in ClassificationScheme is unique.
 
Fields inherited from interface javax.xml.registry.infomodel.RegistryEntry
STABILITY_DYNAMIC, STABILITY_DYNAMIC_COMPATIBLE, STABILITY_STATIC, STATUS_APPROVED, STATUS_DEPRECATED, STATUS_SUBMITTED, STATUS_WITHDRAWN
 
Method Summary
 void addChildConcept(Concept concept)
          Adds a child Concept.
 void addChildConcepts(java.util.Collection concepts)
          Adds a Collection of Concept children.
 int getChildConceptCount()
          Gets number of children.
 java.util.Collection getChildrenConcepts()
          Gets all immediate children Concepts.
 java.util.Collection getDescendantConcepts()
          Gets all descendant Concepts.
 int getValueType()
          Gets the value type for this object.
 boolean isExternal()
          Determines whether this ClassificationScheme is an external ClassificationScheme or an internal ClassificationScheme.
 void removeChildConcept(Concept concept)
          Removes a child Concept.
 void removeChildConcepts(java.util.Collection concepts)
          Removes a Collection of children Concepts.
 void setValueType(int valueType)
          Sets the value type for this object.
 
Methods inherited from interface javax.xml.registry.infomodel.RegistryEntry
getExpiration, getStability, getStatus, setExpiration, setStability
 
Methods inherited from interface javax.xml.registry.infomodel.RegistryObject
addAssociation, addAssociations, addClassification, addClassifications, addExternalIdentifier, addExternalIdentifiers, addExternalLink, addExternalLinks, getAssociatedObjects, getAssociations, getAuditTrail, getClassifications, getDescription, getExternalIdentifiers, getExternalLinks, getKey, getLifeCycleManager, getName, getObjectType, getRegistryPackages, getSubmittingOrganization, removeAssociation, removeAssociations, removeClassification, removeClassifications, removeExternalIdentifier, removeExternalIdentifiers, removeExternalLink, removeExternalLinks, setAssociations, setClassifications, setDescription, setExternalIdentifiers, setExternalLinks, setKey, setName, toXML
 
Methods inherited from interface javax.xml.registry.infomodel.ExtensibleObject
addSlot, addSlots, getSlot, getSlots, removeSlot, removeSlots
 
Methods inherited from interface javax.xml.registry.infomodel.Versionable
getMajorVersion, getMinorVersion, getUserVersion, setMajorVersion, setMinorVersion, setUserVersion
 

Field Detail

VALUE_TYPE_UNIQUE

public static final int VALUE_TYPE_UNIQUE
Each taxonomy value in ClassificationScheme is unique.

See Also:
Constant Field Values

VALUE_TYPE_EMBEDDED_PATH

public static final int VALUE_TYPE_EMBEDDED_PATH
Each taxonomy value in ClassificationScheme embeds the full path from scheme to that Concept. This also implies that each taxonomy value is unique.

See Also:
Constant Field Values

VALUE_TYPE_NON_UNIQUE

public static final int VALUE_TYPE_NON_UNIQUE
Taxonomy values in ClassificationScheme may be repeated within the same scheme. However, two Concepts that have the same parent cannot have the same value.

See Also:
Constant Field Values
Method Detail

addChildConcept

public void addChildConcept(Concept concept)
                     throws JAXRException
Adds a child Concept.

Capability Level: 0

Parameters:
concept - the concept being added as a child of this object
Throws:
JAXRException - If the JAXR provider encounters an internal error

addChildConcepts

public void addChildConcepts(java.util.Collection concepts)
                      throws JAXRException
Adds a Collection of Concept children.

Capability Level: 0

Parameters:
concepts - the Collection of Concepts being added as a children of this object
Throws:
JAXRException - If the JAXR provider encounters an internal error

removeChildConcept

public void removeChildConcept(Concept concept)
                        throws JAXRException
Removes a child Concept.

Capability Level: 0

Parameters:
concept - the concept being removed as a child Concept of this object
Throws:
JAXRException - If the JAXR provider encounters an internal error

removeChildConcepts

public void removeChildConcepts(java.util.Collection concepts)
                         throws JAXRException
Removes a Collection of children Concepts.

Capability Level: 0

Parameters:
concepts - the Collection of Concepts being removed as children Concepts of this object
Throws:
JAXRException - If the JAXR provider encounters an internal error

getChildConceptCount

public int getChildConceptCount()
                         throws JAXRException
Gets number of children.

Capability Level: 0

Returns:
the number of children Concepts
Throws:
JAXRException - If the JAXR provider encounters an internal error

getChildrenConcepts

public java.util.Collection getChildrenConcepts()
                                         throws JAXRException
Gets all immediate children Concepts.

Capability Level: 0

Returns:
Collection of Concept instances. The Collection may be empty but not null.
Throws:
JAXRException - If the JAXR provider encounters an internal error
See Also:
Concept

getDescendantConcepts

public java.util.Collection getDescendantConcepts()
                                           throws JAXRException
Gets all descendant Concepts.

Capability Level: 0

Returns:
Collection of Concept instances. The Collection may be empty but not null.
Throws:
JAXRException - If the JAXR provider encounters an internal error
See Also:
Concept

isExternal

public boolean isExternal()
                   throws JAXRException
Determines whether this ClassificationScheme is an external ClassificationScheme or an internal ClassificationScheme.

Capability Level: 0

Returns:
trueif this is an external ClassificationScheme; false otherwise
Throws:
JAXRException - If the JAXR provider encounters an internal error

getValueType

public int getValueType()
                 throws JAXRException
Gets the value type for this object. The value type describes how taxonomy values are defined within the scheme.

Capability Level: 1

Returns:
an integer constant that describes the type of values supported by this ClassificationScheme
Throws:
JAXRException - If the JAXR provider encounters an internal error
See Also:
VALUE_TYPE_UNIQUE, VALUE_TYPE_EMBEDDED_PATH, VALUE_TYPE_NON_UNIQUE

setValueType

public void setValueType(int valueType)
                  throws JAXRException
Sets the value type for this object.

Capability Level: 1

Parameters:
valueType - an integer constant that describes the type of values supported by this ClassificationScheme
Throws:
JAXRException - If the JAXR provider encounters an internal error
See Also:
VALUE_TYPE_UNIQUE, VALUE_TYPE_EMBEDDED_PATH, VALUE_TYPE_NON_UNIQUE