XSOM 20110809-redhat-3

com.sun.xml.xsom.impl
Class ComponentImpl

java.lang.Object
  extended by com.sun.xml.xsom.impl.ComponentImpl
All Implemented Interfaces:
XSComponent
Direct Known Subclasses:
AttributeDeclImpl, AttributesHolder, AttributeUseImpl, ElementDecl, EmptyImpl, FacetImpl, IdentityConstraintImpl, ModelGroupDeclImpl, ModelGroupImpl, NotationImpl, ParticleImpl, SimpleTypeImpl, WildcardImpl, XPathImpl

public abstract class ComponentImpl
extends Object
implements XSComponent


Field Summary
protected  SchemaDocumentImpl ownerDocument
           
 
Constructor Summary
protected ComponentImpl(SchemaDocumentImpl _owner, AnnotationImpl _annon, Locator _loc, ForeignAttributesImpl fa)
           
 
Method Summary
 XSAnnotation getAnnotation()
          Gets the annotation associated to this component, if any.
 XSAnnotation getAnnotation(boolean createIfNotExist)
          Works like XSComponent.getAnnotation(), but allow a new empty XSAnnotation to be created if not exist.
 String getForeignAttribute(String nsUri, String localName)
          Gets the foreign attribute of the given name, or null if not found.
 List<ForeignAttributesImpl> getForeignAttributes()
          Gets the foreign attributes on this schema component.
 Locator getLocator()
          Gets the locator that indicates the source location where this component is created from, or null if no information is available.
 SchemaImpl getOwnerSchema()
          Gets a reference to the XSSchema object to which this component belongs.
 XSSchemaSet getRoot()
          Gets the root schema set that includes this component.
 SchemaDocument getSourceDocument()
          Gets the SchemaDocument that indicates which document this component was defined in.
 Collection<XSComponent> select(String scd, NamespaceContext nsContext)
          Evaluates a schema component designator against this schema component and returns the resulting schema components.
 XSComponent selectSingle(String scd, NamespaceContext nsContext)
          Evaluates a schema component designator against this schema component and returns the first resulting schema component.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.sun.xml.xsom.XSComponent
apply, visit
 

Field Detail

ownerDocument

protected final SchemaDocumentImpl ownerDocument
Constructor Detail

ComponentImpl

protected ComponentImpl(SchemaDocumentImpl _owner,
                        AnnotationImpl _annon,
                        Locator _loc,
                        ForeignAttributesImpl fa)
Method Detail

getOwnerSchema

public SchemaImpl getOwnerSchema()
Description copied from interface: XSComponent
Gets a reference to the XSSchema object to which this component belongs.

In case of XSEmpty component, this method returns null since there is no owner component.

Specified by:
getOwnerSchema in interface XSComponent

getRoot

public XSSchemaSet getRoot()
Description copied from interface: XSComponent
Gets the root schema set that includes this component.

In case of XSEmpty component, this method returns null since there is no owner component.

Specified by:
getRoot in interface XSComponent

getSourceDocument

public SchemaDocument getSourceDocument()
Description copied from interface: XSComponent
Gets the SchemaDocument that indicates which document this component was defined in.

Specified by:
getSourceDocument in interface XSComponent
Returns:
null for components that are built-in to XML Schema, such as anyType, or "empty" XSContentType. This method also returns null for XSSchema. For all other user-defined components this method returns non-null, even if they are local.

getAnnotation

public final XSAnnotation getAnnotation()
Description copied from interface: XSComponent
Gets the annotation associated to this component, if any.

Specified by:
getAnnotation in interface XSComponent

getAnnotation

public XSAnnotation getAnnotation(boolean createIfNotExist)
Description copied from interface: XSComponent
Works like XSComponent.getAnnotation(), but allow a new empty XSAnnotation to be created if not exist.

Specified by:
getAnnotation in interface XSComponent
Parameters:
createIfNotExist - true to create a new XSAnnotation if it doesn't exist already. false to make this method behavel like XSComponent.getAnnotation().
Returns:
null if createIfNotExist==false and annotation didn't exist. Otherwise non-null.

getLocator

public final Locator getLocator()
Description copied from interface: XSComponent
Gets the locator that indicates the source location where this component is created from, or null if no information is available.

Specified by:
getLocator in interface XSComponent

getForeignAttributes

public List<ForeignAttributesImpl> getForeignAttributes()
Description copied from interface: XSComponent
Gets the foreign attributes on this schema component.

In general, a schema component may match multiple elements in a schema document, and those elements can individually carry foreign attributes.

This method returns a list of ForeignAttributes, where each ForeignAttributes object represent foreign attributes on one element.

Specified by:
getForeignAttributes in interface XSComponent
Returns:
can be an empty list but never be null.

getForeignAttribute

public String getForeignAttribute(String nsUri,
                                  String localName)
Description copied from interface: XSComponent
Gets the foreign attribute of the given name, or null if not found.

If multiple occurences of the same attribute is found, this method returns the first one.

Specified by:
getForeignAttribute in interface XSComponent
See Also:
XSComponent.getForeignAttributes()

select

public Collection<XSComponent> select(String scd,
                                      NamespaceContext nsContext)
Description copied from interface: XSComponent
Evaluates a schema component designator against this schema component and returns the resulting schema components.

Specified by:
select in interface XSComponent
Parameters:
scd - Schema component designator. See SCD for more details.
nsContext - The namespace context in which SCD is evaluated. Cannot be null.
Returns:
Can be empty but never null.

selectSingle

public XSComponent selectSingle(String scd,
                                NamespaceContext nsContext)
Description copied from interface: XSComponent
Evaluates a schema component designator against this schema component and returns the first resulting schema component.

Specified by:
selectSingle in interface XSComponent
Parameters:
scd - Schema component designator. See SCD for more details.
nsContext - The namespace context in which SCD is evaluated. Cannot be null.
Returns:
null if the SCD didn't match anything. If the SCD matched more than one node, the first one will be returned.

toString

public String toString()
Overrides:
toString in class Object

XSOM 20110809-redhat-3

Copyright © 2012 Oracle. All Rights Reserved.