com.sun.xml.xsom
Interface XSComplexType

All Superinterfaces:
XSAttContainer, XSComponent, XSDeclaration, XSType

public interface XSComplexType
extends XSType, XSAttContainer

Complex type.

Author:
Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)

Field Summary
 
Fields inherited from interface com.sun.xml.xsom.XSType
EXTENSION, RESTRICTION, SUBSTITUTION
 
Method Summary
 XSContentType getContentType()
          The content of this complex type.
 XSContentType getExplicitContent()
          Gets the explicit content of a complex type with a complex content that was derived by extension.
 XSComplexType getRedefinedBy()
          If this XSComplexType is redefined by another complex type, return that component.
 XSElementDecl getScope()
          Gets the scope of this complex type.
 boolean isAbstract()
          Checks if this complex type is declared as an abstract type.
 boolean isFinal(int derivationMethod)
           
 boolean isMixed()
           
 boolean isSubstitutionProhibited(int method)
          Roughly corresponds to the block attribute.
 
Methods inherited from interface com.sun.xml.xsom.XSType
asComplexType, asSimpleType, getBaseType, getDerivationMethod, getRedefinedCount, isComplexType, isDerivedFrom, isSimpleType, listSubstitutables
 
Methods inherited from interface com.sun.xml.xsom.XSAttContainer
getAttGroups, getAttributeUse, getAttributeUses, getAttributeWildcard, getDeclaredAttributeUse, getDeclaredAttributeUses, iterateAttGroups, iterateAttributeUses, iterateDeclaredAttributeUses
 
Methods inherited from interface com.sun.xml.xsom.XSDeclaration
getName, getTargetNamespace, isAnonymous, isGlobal, isLocal
 
Methods inherited from interface com.sun.xml.xsom.XSComponent
apply, getAnnotation, getAnnotation, getForeignAttribute, getForeignAttributes, getLocator, getOwnerSchema, getRoot, getSourceDocument, select, selectSingle, visit
 

Method Detail

isAbstract

boolean isAbstract()
Checks if this complex type is declared as an abstract type.


isFinal

boolean isFinal(int derivationMethod)

isSubstitutionProhibited

boolean isSubstitutionProhibited(int method)
Roughly corresponds to the block attribute. But see the spec for gory detail.


getScope

XSElementDecl getScope()
Gets the scope of this complex type. This is not a property defined in the schema spec.

Returns:
null if this complex type is global. Otherwise return the element declaration that contains this anonymous complex type.

getContentType

XSContentType getContentType()
The content of this complex type.

Returns:
always non-null.

getExplicitContent

XSContentType getExplicitContent()
Gets the explicit content of a complex type with a complex content that was derived by extension.

Informally, the "explicit content" is the portion of the content model added in this derivation. IOW, it's a delta between the base complex type and this complex type.

For example, when a complex type T2 derives fom T1, then:

 content type of T2 = SEQUENCE( content type of T1, explicit content of T2 )
 

Returns:
If this complex type is derived by restriction or has a simple content, this method returns null. IOW, this method only works for a complex type with a complex content derived by extension from another complex type.

isMixed

boolean isMixed()

getRedefinedBy

XSComplexType getRedefinedBy()
If this XSComplexType is redefined by another complex type, return that component.

Specified by:
getRedefinedBy in interface XSType
Returns:
null if this component has not been redefined.