org.apache.xerces.impl.xs
Class XSComplexTypeDecl

java.lang.Object
  |
  +--org.apache.xerces.impl.xs.XSComplexTypeDecl
All Implemented Interfaces:
XSComplexTypeDefinition, XSObject, XSTypeDecl, XSTypeDefinition

public class XSComplexTypeDecl
extends java.lang.Object
implements XSTypeDecl, XSComplexTypeDefinition

The XML representation for a complexType schema component is a element information item

Version:
$Id: XSComplexTypeDecl.java,v 1.10 2002/05/30 17:58:18 sandygao Exp $
Author:
Elena Litani, IBM, Sandy Gao, IBM

Field Summary
 XSAttributeGroupDecl fAttrGrp
           
 XSTypeDecl fBaseType
           
 short fBlock
           
 XSCMValidator fCMValidator
           
 short fContentType
           
 short fDerivedBy
           
 short fFinal
           
 short fMiscFlags
           
 java.lang.String fName
           
 XSParticleDecl fParticle
           
 java.lang.String fTargetNamespace
           
 XSSimpleType fXSSimpleType
           
 
Fields inherited from interface org.apache.xerces.impl.xs.psvi.XSTypeDefinition
COMPLEX_TYPE, SIMPLE_TYPE
 
Fields inherited from interface org.apache.xerces.impl.xs.psvi.XSComplexTypeDefinition
CONTENTTYPE_ELEMENT, CONTENTTYPE_EMPTY, CONTENTTYPE_MIXED, CONTENTTYPE_SIMPLE
 
Constructor Summary
XSComplexTypeDecl()
           
 
Method Summary
 boolean containsTypeID()
           
 boolean derivedFrom(java.lang.String ancestorNS, java.lang.String ancestorName)
          Experimental: return whether this type is derived from a type of the given namespace name and type name.
 boolean derivedFrom(XSTypeDefinition ancestor)
          Experimental: return whether this type is derived from a given type.
 XSObjectList getAnnotations()
          Optional.
 XSObjectList getAttributeUses()
          {attribute uses} A set of attribute uses.
 XSWildcard getAttributeWildcard()
          {attribute wildcard} Optional.
 XSTypeDefinition getBaseType()
          {base type definition} Either a simple type definition or a complex type definition.
 XSCMValidator getContentModel(CMBuilder cmBuilder)
           
 short getContentType()
          {content type} One of empty, a simple type definition (see simpleType, or mixed, element-only (see cmParticle).
 short getDerivationMethod()
          {derivation method} Either extension or restriction.
 short getFinal()
          {final} For complex type definition it is a subset of {extension, restriction}.
 short getFinalSet()
           
 boolean getIsAbstract()
          {abstract} A boolean.
 boolean getIsAnonymous()
          A boolean that specifies if the type definition is anonymous.
 boolean getIsFinal(short derivation)
          {final} For complex type definition it is a subset of {extension, restriction}.
 boolean getIsProhibitedSubstitution(short prohibited)
          {prohibited substitutions} A subset of {extension, restriction}.
 java.lang.String getName()
          The name of this XSObject depending on the XSObject type.
 java.lang.String getNamespace()
          The namespace URI of this node, or null if it is unspecified.
 XSParticle getParticle()
          A particle for mixed or element-only content model, otherwise null
 short getProhibitedSubstitutions()
          {prohibited substitutions}
 XSSimpleTypeDefinition getSimpleType()
          A simple type definition corresponding to simple content model, otherwise null
 java.lang.String getTargetNamespace()
           
 short getType()
          Get the type of the object, i.e ELEMENT_DECLARATION.
 short getTypeCategory()
          Return whether this type definition is a simple type or complex type.
 java.lang.String getTypeName()
           
 void reset()
           
 void setContainsTypeID()
           
 void setIsAbstractType()
           
 void setIsAnonymous()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

fName

public java.lang.String fName

fTargetNamespace

public java.lang.String fTargetNamespace

fBaseType

public XSTypeDecl fBaseType

fDerivedBy

public short fDerivedBy

fFinal

public short fFinal

fBlock

public short fBlock

fMiscFlags

public short fMiscFlags

fAttrGrp

public XSAttributeGroupDecl fAttrGrp

fContentType

public short fContentType

fXSSimpleType

public XSSimpleType fXSSimpleType

fParticle

public XSParticleDecl fParticle

fCMValidator

public XSCMValidator fCMValidator
Constructor Detail

XSComplexTypeDecl

public XSComplexTypeDecl()
Method Detail

getTypeCategory

public short getTypeCategory()
Description copied from interface: XSTypeDefinition
Return whether this type definition is a simple type or complex type.

Specified by:
getTypeCategory in interface XSTypeDefinition

getTypeName

public java.lang.String getTypeName()

getFinalSet

public short getFinalSet()

getTargetNamespace

public java.lang.String getTargetNamespace()

containsTypeID

public boolean containsTypeID()

setIsAbstractType

public void setIsAbstractType()

setContainsTypeID

public void setContainsTypeID()

setIsAnonymous

public void setIsAnonymous()

getContentModel

public XSCMValidator getContentModel(CMBuilder cmBuilder)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

derivedFrom

public boolean derivedFrom(XSTypeDefinition ancestor)
Description copied from interface: XSTypeDecl
Experimental: return whether this type is derived from a given type.

Specified by:
derivedFrom in interface XSTypeDecl

derivedFrom

public boolean derivedFrom(java.lang.String ancestorNS,
                           java.lang.String ancestorName)
Description copied from interface: XSTypeDecl
Experimental: return whether this type is derived from a type of the given namespace name and type name.

Specified by:
derivedFrom in interface XSTypeDecl

reset

public void reset()

getType

public short getType()
Get the type of the object, i.e ELEMENT_DECLARATION.

Specified by:
getType in interface XSObject

getName

public java.lang.String getName()
The name of this XSObject depending on the XSObject type.

Specified by:
getName in interface XSObject

getIsAnonymous

public boolean getIsAnonymous()
A boolean that specifies if the type definition is anonymous. Convenience attribute. This is a field is not part of XML Schema component model.

Specified by:
getIsAnonymous in interface XSTypeDefinition

getNamespace

public java.lang.String getNamespace()
The namespace URI of this node, or null if it is unspecified. defines how a namespace URI is attached to schema components.

Specified by:
getNamespace in interface XSObject

getBaseType

public XSTypeDefinition getBaseType()
{base type definition} Either a simple type definition or a complex type definition.

Specified by:
getBaseType in interface XSTypeDefinition

getDerivationMethod

public short getDerivationMethod()
{derivation method} Either extension or restriction. The valid constant value for this XSConstants EXTENTION, RESTRICTION.

Specified by:
getDerivationMethod in interface XSComplexTypeDefinition

getIsFinal

public boolean getIsFinal(short derivation)
{final} For complex type definition it is a subset of {extension, restriction}. For simple type definition it is a subset of {extension, list, restriction, union}.

Specified by:
getIsFinal in interface XSTypeDefinition
Parameters:
derivation - Extension, restriction, list, union constants (defined in XSConstants).
Returns:
True if derivation is in the final set, otherwise false.

getFinal

public short getFinal()
{final} For complex type definition it is a subset of {extension, restriction}.

Specified by:
getFinal in interface XSTypeDefinition
Returns:
A bit flag that represents: {extension, restriction) or none for complexTypes; {extension, list, restriction, union} or none for simpleTypes;

getIsAbstract

public boolean getIsAbstract()
{abstract} A boolean. Complex types for which {abstract} is true must not be used as the {type definition} for the validation of element information items.

Specified by:
getIsAbstract in interface XSComplexTypeDefinition

getAttributeUses

public XSObjectList getAttributeUses()
{attribute uses} A set of attribute uses.

Specified by:
getAttributeUses in interface XSComplexTypeDefinition

getAttributeWildcard

public XSWildcard getAttributeWildcard()
{attribute wildcard} Optional. A wildcard.

Specified by:
getAttributeWildcard in interface XSComplexTypeDefinition

getContentType

public short getContentType()
{content type} One of empty, a simple type definition (see simpleType, or mixed, element-only (see cmParticle).

Specified by:
getContentType in interface XSComplexTypeDefinition

getSimpleType

public XSSimpleTypeDefinition getSimpleType()
A simple type definition corresponding to simple content model, otherwise null

Specified by:
getSimpleType in interface XSComplexTypeDefinition

getParticle

public XSParticle getParticle()
A particle for mixed or element-only content model, otherwise null

Specified by:
getParticle in interface XSComplexTypeDefinition

getIsProhibitedSubstitution

public boolean getIsProhibitedSubstitution(short prohibited)
{prohibited substitutions} A subset of {extension, restriction}.

Specified by:
getIsProhibitedSubstitution in interface XSComplexTypeDefinition
Parameters:
prohibited - extention or restriction constants (defined in XSConstants).
Returns:
True if prohibited is a prohibited substitution, otherwise false.

getProhibitedSubstitutions

public short getProhibitedSubstitutions()
{prohibited substitutions}

Specified by:
getProhibitedSubstitutions in interface XSComplexTypeDefinition
Returns:
A bit flag corresponding to prohibited substitutions

getAnnotations

public XSObjectList getAnnotations()
Optional. Annotation.

Specified by:
getAnnotations in interface XSComplexTypeDefinition


Copyright © 1999-2002 Apache XML Project. All Rights Reserved.