<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>Classification</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Classification";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../javax/xml/registry/infomodel/AuditableEvent.html" title="interface in javax.xml.registry.infomodel"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../javax/xml/registry/infomodel/ClassificationScheme.html" title="interface in javax.xml.registry.infomodel"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?javax/xml/registry/infomodel/Classification.html" target="_top">Frames</a></li>
<li><a href="Classification.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">javax.xml.registry.infomodel</div>
<h2 title="Interface Classification" class="title">Interface Classification</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../../javax/xml/registry/infomodel/ExtensibleObject.html" title="interface in javax.xml.registry.infomodel">ExtensibleObject</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html" title="interface in javax.xml.registry.infomodel">RegistryObject</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">Classification</span>
extends <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html" title="interface in javax.xml.registry.infomodel">RegistryObject</a></pre>
<div class="block">The Classification interface is used to classify RegistryObject instances. A RegistryObject may be classified along multiple dimensions by adding zero or more Classification instances to the RegistryObject. For example, an Organization may be classified by its industry, by the products it sells and by its geographical location. In this example the RegistryObject would have at least three Classification instances added to it.
 The RegistryObject interface provides several addClassification methods to allow a client to add Classification instances to a Registry Object.

 
 <p>Figure 1 shows how a Classification classifies a RegistryObject using a ClassificationScheme.
 <p>
 <center>
p
 <img SRC="../../../../resources/images/classificationAndRegistryObjectAndScheme.gif" ALT="Using a ClassificationScheme to Classify an Object">
 <br><b>Figure 1. Using a ClassificationScheme to Classify an Object</b>
 </center>
 <p>

 <h2>Internal vs. External Taxonomies</h2>
 A taxonomy may be represented within a JAXR provider in one of the following ways:

 <ol style='margin-top:0in' start=1 type=a>
 <li>The taxonomy elements and their structural relationship with each other
 are available within the JAXR provider. This case is referred to as <i>Internal
 Taxonomy</i> since the structure of the taxonomy is available internal to the
 JAXR provider.</li>

 <li>The taxonomy elements and their structural relationship with each other is
 represented somewhere external to the JAXR provider. This case is
 referred to as <i>External Taxonomy</i> since the structure of the
 taxonomy is not available to the JAXR provider.</li>
 </ol>

 <h2>Internal vs. External Classifications</h2>
 The Classification interface allows the classification of
 RegistryObjects using a ClassificationScheme whether the ClassificationScheme
 represents an internal taxonomy or an external taxonomy. When a Classification
 instance uses a ClassificationScheme representing an internal taxonomy then it
 is referred to as an internal Classification. When a Classification instance
 uses a ClassificationScheme representing an external taxonomy then it is
 referred to as an external Classification.

 <h2>Internal Classification</h2>
 
 <p>When a Classification instance is used to classify a
 RegistryObject using an internal taxonomy it is referred to as an internal
 Classification. A client must call the <span style='font-family:"Courier New"'>setConcept</span>
 method on a Classification and define a reference to a Concept instance from
 the Classification instance in order for that Classification to use an internal
 taxonomy. It is not necessary for the client to call setClassificationScheme
 for internal Classifications since the classifying Concept already knows it
 root ClassificationScheme.</p>

 <h3>Example of Internal Classification</h3>
 Figure 2 shows an example of internal classification using a Concept to represent a taxonomy element. The example classifies an Organization instance as a Book Publisher using the NAICS standard taxonomy available as an internal taxonomy. 
 Note that the figure does not show all the Concepts between the Book Publishers node and the NAICS ClassificationScheme to save space. Had they been there they would have been linked together by the parent attribute of each Concept.
 <p>
 <center><img SRC="../../../../resources/images/internalClassificationInstance.gif" ALT="Example of Internal Classification">
 <br><b>Figure 2. Example of Internal Classification</b>
 </center>

 <h2>External Classification</h2>
 When a Classification instance is used to classify a RegistryObject using an external taxonomy it is referred to as an external Classification. A client must call the setValue method on a Classification and define a unique value that logically represents a taxonomy element within the taxonomy whose structure is defined externally. It is necessary for the client call setClassificationScheme for external Classifications since there is no other way to infer the ClassificationScheme that represents the external taxonomy.

 <h3>Example of External Classification</h3>
 Figure 3 shows an example of external classification. The example uses the same scenario where a Classification classifies an Organization instance as a Book Publisher using the NAICS standard taxonomy. However, this time the structure of the NAICS taxonomy is not available internally to the JAXR provider and consequently there is no Concept instance. Instead, the name and value attributes of the Classification are used to pinpoint the Book Publisher's taxonomy element. Note that name is optional but value is required.
 <p>
 <center><img SRC="../../../../resources/images/externalClassificationInstance.gif" ALT="Example of External Classification">
 <br><b>Figure 3. Example of External Classification</b>
 </center>

 <h2>An Example of Multiple Classifications</h2>
 The next example shows how a RegistryObject may be classified by multiple classification schemes. In this example, two internal ClassificationSchemes named Industry and Geography are used to classify several Organization RegistryObjects by their industry and Geography. 
 In Figure 4, in order to save space and improve readability, the Classification instances are not explicitly shown but are implied as associations between the RegistryObjects (shaded leaf node) and the associated Concepts.
 <p>
 <center><img SRC="../../../../resources/images/classificationTree.gif" ALT="Example of Multiple Classifications">
 <br><b>Figure 4. Example of Multiple Classifications</b>
 </center></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../javax/xml/registry/infomodel/RegistryObject.html" title="interface in javax.xml.registry.infomodel"><code>RegistryObject</code></a>, 
<a href="../../../../javax/xml/registry/infomodel/Concept.html" title="interface in javax.xml.registry.infomodel"><code>Concept</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../javax/xml/registry/infomodel/ClassificationScheme.html" title="interface in javax.xml.registry.infomodel">ClassificationScheme</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/registry/infomodel/Classification.html#getClassificationScheme--">getClassificationScheme</a></span>()</code>
<div class="block">Gets the ClassificationScheme that is used in classifying the object.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../javax/xml/registry/infomodel/RegistryObject.html" title="interface in javax.xml.registry.infomodel">RegistryObject</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/registry/infomodel/Classification.html#getClassifiedObject--">getClassifiedObject</a></span>()</code>
<div class="block">Gets the Object that is being classified.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../javax/xml/registry/infomodel/Concept.html" title="interface in javax.xml.registry.infomodel">Concept</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/registry/infomodel/Classification.html#getConcept--">getConcept</a></span>()</code>
<div class="block">Gets the Concept that is classifying the object.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/registry/infomodel/Classification.html#getValue--">getValue</a></span>()</code>
<div class="block">Gets the taxonomy value for this Classification.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/registry/infomodel/Classification.html#isExternal--">isExternal</a></span>()</code>
<div class="block">Returns true if this is an external classification.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/registry/infomodel/Classification.html#setClassificationScheme-javax.xml.registry.infomodel.ClassificationScheme-">setClassificationScheme</a></span>(<a href="../../../../javax/xml/registry/infomodel/ClassificationScheme.html" title="interface in javax.xml.registry.infomodel">ClassificationScheme</a>&nbsp;classificationScheme)</code>
<div class="block">Sets the ClassificationScheme for this external classification.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/registry/infomodel/Classification.html#setClassifiedObject-javax.xml.registry.infomodel.RegistryObject-">setClassifiedObject</a></span>(<a href="../../../../javax/xml/registry/infomodel/RegistryObject.html" title="interface in javax.xml.registry.infomodel">RegistryObject</a>&nbsp;classifiedObject)</code>
<div class="block">Sets the object that is being classified.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/registry/infomodel/Classification.html#setConcept-javax.xml.registry.infomodel.Concept-">setConcept</a></span>(<a href="../../../../javax/xml/registry/infomodel/Concept.html" title="interface in javax.xml.registry.infomodel">Concept</a>&nbsp;concept)</code>
<div class="block">Sets the concept for this internal classification.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/registry/infomodel/Classification.html#setValue-java.lang.String-">setValue</a></span>(java.lang.String&nbsp;value)</code>
<div class="block">Sets the taxonomy value for this external Classification.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.xml.registry.infomodel.RegistryObject">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;javax.xml.registry.infomodel.<a href="../../../../javax/xml/registry/infomodel/RegistryObject.html" title="interface in javax.xml.registry.infomodel">RegistryObject</a></h3>
<code><a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#addAssociation-javax.xml.registry.infomodel.Association-">addAssociation</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#addAssociations-java.util.Collection-">addAssociations</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#addClassification-javax.xml.registry.infomodel.Classification-">addClassification</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#addClassifications-java.util.Collection-">addClassifications</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#addExternalIdentifier-javax.xml.registry.infomodel.ExternalIdentifier-">addExternalIdentifier</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#addExternalIdentifiers-java.util.Collection-">addExternalIdentifiers</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#addExternalLink-javax.xml.registry.infomodel.ExternalLink-">addExternalLink</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#addExternalLinks-java.util.Collection-">addExternalLinks</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#getAssociatedObjects--">getAssociatedObjects</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#getAssociations--">getAssociations</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#getAuditTrail--">getAuditTrail</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#getClassifications--">getClassifications</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#getDescription--">getDescription</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#getExternalIdentifiers--">getExternalIdentifiers</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#getExternalLinks--">getExternalLinks</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#getKey--">getKey</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#getLifeCycleManager--">getLifeCycleManager</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#getName--">getName</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#getObjectType--">getObjectType</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#getRegistryPackages--">getRegistryPackages</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#getSubmittingOrganization--">getSubmittingOrganization</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#removeAssociation-javax.xml.registry.infomodel.Association-">removeAssociation</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#removeAssociations-java.util.Collection-">removeAssociations</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#removeClassification-javax.xml.registry.infomodel.Classification-">removeClassification</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#removeClassifications-java.util.Collection-">removeClassifications</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#removeExternalIdentifier-javax.xml.registry.infomodel.ExternalIdentifier-">removeExternalIdentifier</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#removeExternalIdentifiers-java.util.Collection-">removeExternalIdentifiers</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#removeExternalLink-javax.xml.registry.infomodel.ExternalLink-">removeExternalLink</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#removeExternalLinks-java.util.Collection-">removeExternalLinks</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#setAssociations-java.util.Collection-">setAssociations</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#setClassifications-java.util.Collection-">setClassifications</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#setDescription-javax.xml.registry.infomodel.InternationalString-">setDescription</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#setExternalIdentifiers-java.util.Collection-">setExternalIdentifiers</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#setExternalLinks-java.util.Collection-">setExternalLinks</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#setKey-javax.xml.registry.infomodel.Key-">setKey</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#setName-javax.xml.registry.infomodel.InternationalString-">setName</a>, <a href="../../../../javax/xml/registry/infomodel/RegistryObject.html#toXML--">toXML</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.xml.registry.infomodel.ExtensibleObject">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;javax.xml.registry.infomodel.<a href="../../../../javax/xml/registry/infomodel/ExtensibleObject.html" title="interface in javax.xml.registry.infomodel">ExtensibleObject</a></h3>
<code><a href="../../../../javax/xml/registry/infomodel/ExtensibleObject.html#addSlot-javax.xml.registry.infomodel.Slot-">addSlot</a>, <a href="../../../../javax/xml/registry/infomodel/ExtensibleObject.html#addSlots-java.util.Collection-">addSlots</a>, <a href="../../../../javax/xml/registry/infomodel/ExtensibleObject.html#getSlot-java.lang.String-">getSlot</a>, <a href="../../../../javax/xml/registry/infomodel/ExtensibleObject.html#getSlots--">getSlots</a>, <a href="../../../../javax/xml/registry/infomodel/ExtensibleObject.html#removeSlot-java.lang.String-">removeSlot</a>, <a href="../../../../javax/xml/registry/infomodel/ExtensibleObject.html#removeSlots-java.util.Collection-">removeSlots</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getConcept--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConcept</h4>
<pre><a href="../../../../javax/xml/registry/infomodel/Concept.html" title="interface in javax.xml.registry.infomodel">Concept</a>&nbsp;getConcept()
            throws <a href="../../../../javax/xml/registry/JAXRException.html" title="class in javax.xml.registry">JAXRException</a></pre>
<div class="block">Gets the Concept that is classifying the object.

 <p><DL><DT><B>Capability Level: 0 </B></DL></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the Concept that is classifying the classified object. null if this is a external Classification</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../javax/xml/registry/JAXRException.html" title="class in javax.xml.registry">JAXRException</a></code> - If the JAXR provider encounters an internal error</dd>
</dl>
</li>
</ul>
<a name="setConcept-javax.xml.registry.infomodel.Concept-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConcept</h4>
<pre>void&nbsp;setConcept(<a href="../../../../javax/xml/registry/infomodel/Concept.html" title="interface in javax.xml.registry.infomodel">Concept</a>&nbsp;concept)
         throws <a href="../../../../javax/xml/registry/JAXRException.html" title="class in javax.xml.registry">JAXRException</a></pre>
<div class="block">Sets the concept for this internal classification. 
 <p>
 This method should be used mutually exclusively with
 the setClassificationScheme method. 

 <p><DL><DT><B>Capability Level: 0 </B></DL></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>concept</code> - the Concept that is classifying the classified object.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../javax/xml/registry/JAXRException.html" title="class in javax.xml.registry">JAXRException</a></code> - If the JAXR provider encounters an internal error</dd>
</dl>
</li>
</ul>
<a name="getClassificationScheme--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClassificationScheme</h4>
<pre><a href="../../../../javax/xml/registry/infomodel/ClassificationScheme.html" title="interface in javax.xml.registry.infomodel">ClassificationScheme</a>&nbsp;getClassificationScheme()
                                      throws <a href="../../../../javax/xml/registry/JAXRException.html" title="class in javax.xml.registry">JAXRException</a></pre>
<div class="block">Gets the ClassificationScheme that is used in classifying the object.
 If the Classification is an internal Classification then this method
 should return the value returned by calling the getClassificationScheme
 method on the Concept representing the taxonomy element.

 <p><DL><DT><B>Capability Level: 0 </B></DL></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the ClassificationScheme used by this Classification</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../javax/xml/registry/JAXRException.html" title="class in javax.xml.registry">JAXRException</a></code> - If the JAXR provider encounters an internal error</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../javax/xml/registry/infomodel/ClassificationScheme.html" title="interface in javax.xml.registry.infomodel"><code>ClassificationScheme</code></a></dd>
</dl>
</li>
</ul>
<a name="setClassificationScheme-javax.xml.registry.infomodel.ClassificationScheme-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setClassificationScheme</h4>
<pre>void&nbsp;setClassificationScheme(<a href="../../../../javax/xml/registry/infomodel/ClassificationScheme.html" title="interface in javax.xml.registry.infomodel">ClassificationScheme</a>&nbsp;classificationScheme)
                      throws <a href="../../../../javax/xml/registry/JAXRException.html" title="class in javax.xml.registry">JAXRException</a></pre>
<div class="block">Sets the ClassificationScheme for this external classification.
 <p>
 If this method is called then you must also call setValue method.
 This method should be used mutually exclusively with
 the setConcept method. 

 <p><DL><DT><B>Capability Level: 0 </B></DL></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>classificationScheme</code> - the ClassificationScheme used by this Classification</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../javax/xml/registry/JAXRException.html" title="class in javax.xml.registry">JAXRException</a></code> - If the JAXR provider encounters an internal error</dd>
</dl>
</li>
</ul>
<a name="getValue--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValue</h4>
<pre>java.lang.String&nbsp;getValue()
                   throws <a href="../../../../javax/xml/registry/JAXRException.html" title="class in javax.xml.registry">JAXRException</a></pre>
<div class="block">Gets the taxonomy value for this Classification. 

 <p><DL><DT><B>Capability Level: 0 </B></DL></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value of the taxonomy element if external Classification; the value of the
                        Concept representing the taxonomy element if internal Classification</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../javax/xml/registry/JAXRException.html" title="class in javax.xml.registry">JAXRException</a></code> - If the JAXR provider encounters an internal error</dd>
</dl>
</li>
</ul>
<a name="setValue-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setValue</h4>
<pre>void&nbsp;setValue(java.lang.String&nbsp;value)
       throws <a href="../../../../javax/xml/registry/JAXRException.html" title="class in javax.xml.registry">JAXRException</a></pre>
<div class="block">Sets the taxonomy value for this external Classification.

 <p><DL><DT><B>Capability Level: 0 </B></DL></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the taxonomy value used by this external Classification</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../javax/xml/registry/JAXRException.html" title="class in javax.xml.registry">JAXRException</a></code> - If the JAXR provider encounters an internal error</dd>
</dl>
</li>
</ul>
<a name="getClassifiedObject--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClassifiedObject</h4>
<pre><a href="../../../../javax/xml/registry/infomodel/RegistryObject.html" title="interface in javax.xml.registry.infomodel">RegistryObject</a>&nbsp;getClassifiedObject()
                            throws <a href="../../../../javax/xml/registry/JAXRException.html" title="class in javax.xml.registry">JAXRException</a></pre>
<div class="block">Gets the Object that is being classified. 

 <p><DL><DT><B>Capability Level: 0 </B></DL></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the RegistryObject that is classified by this Classification</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../javax/xml/registry/JAXRException.html" title="class in javax.xml.registry">JAXRException</a></code> - If the JAXR provider encounters an internal error</dd>
</dl>
</li>
</ul>
<a name="setClassifiedObject-javax.xml.registry.infomodel.RegistryObject-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setClassifiedObject</h4>
<pre>void&nbsp;setClassifiedObject(<a href="../../../../javax/xml/registry/infomodel/RegistryObject.html" title="interface in javax.xml.registry.infomodel">RegistryObject</a>&nbsp;classifiedObject)
                  throws <a href="../../../../javax/xml/registry/JAXRException.html" title="class in javax.xml.registry">JAXRException</a></pre>
<div class="block">Sets the object that is being classified. 

 <p><DL><DT><B>Capability Level: 0 </B></DL></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>classifiedObject</code> - the RegistryObject that is classified by this Classification</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../javax/xml/registry/JAXRException.html" title="class in javax.xml.registry">JAXRException</a></code> - If the JAXR provider encounters an internal error</dd>
</dl>
</li>
</ul>
<a name="isExternal--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isExternal</h4>
<pre>boolean&nbsp;isExternal()
            throws <a href="../../../../javax/xml/registry/JAXRException.html" title="class in javax.xml.registry">JAXRException</a></pre>
<div class="block">Returns true if this is an external classification. 

 <p><DL><DT><B>Capability Level: 0 </B></DL></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if this is an external Classification; <code>false</code> otherwise</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../javax/xml/registry/JAXRException.html" title="class in javax.xml.registry">JAXRException</a></code> - If the JAXR provider encounters an internal error</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../javax/xml/registry/infomodel/AuditableEvent.html" title="interface in javax.xml.registry.infomodel"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../javax/xml/registry/infomodel/ClassificationScheme.html" title="interface in javax.xml.registry.infomodel"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?javax/xml/registry/infomodel/Classification.html" target="_top">Frames</a></li>
<li><a href="Classification.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
