org.jbind.xml.schema.cmp
Class RestrictedUnionType

java.lang.Object
  extended byorg.jbind.xml.schema.cmp.Component
      extended byorg.jbind.xml.schema.cmp.AbstractType
          extended byorg.jbind.xml.schema.cmp.SimpleType
              extended byorg.jbind.xml.schema.cmp.RestrictedSimpleType
                  extended byorg.jbind.xml.schema.cmp.RestrictedUnionType
All Implemented Interfaces:
IAnySimpleType, IAnyType, IComponent, IHasBindingAttributes, IHasLocation, IRestrictedSimpleType, ISimpleType, ISourceInfo, IUnionType

public class RestrictedUnionType
extends RestrictedSimpleType
implements IUnionType


Constructor Summary
RestrictedUnionType(ISourceInfo aSourceInfo, java.lang.String aNamespace, java.lang.String aName, java.lang.String aRole, java.util.Set aFinalTypes, IConstraintViolations aViolations)
           
 
Method Summary
 void accept(IComponentVisitor aVisitor)
          Accepts a visitor.
 void checkEnclosedConstraints(ICheckContext aContext)
          Checks the enclosed constraints.
protected  IAnyTypeData doCreateEmptyData(IDataImpl anImpl)
           
 IAnyType getInstanceType()
          Gets the type that instances of this type have.
protected  boolean isUnion()
           
 java.util.Iterator iterMemberTypes()
           
 
Methods inherited from class org.jbind.xml.schema.cmp.RestrictedSimpleType
createRestriction, getSimpleStorageType, isApplicable
 
Methods inherited from class org.jbind.xml.schema.cmp.SimpleType
getSimpleContentType, getXPathMethods, isComplex, isExtension, isSimple
 
Methods inherited from class org.jbind.xml.schema.cmp.AbstractType
addDirectSubtype, addFinalType, canBeOverloadedBy, checkConstraints, createData, createEmptyData, createUncheckedData, getAttrDesc, getAttributesModel, getBaseType, getConstraints, getContentModel, getDataCreator, getDirectSubtypes, getElemDesc, getRoleName, getSubtypes, getSymbolspace, isAbstract, isActive, isActive, isBaseType, isExtension, isInstanceType, isReference, isRestriction, setAttributesModel, setBaseType, setConstraints, setContentModel, setDataCreator, validate
 
Methods inherited from class org.jbind.xml.schema.cmp.Component
addSubComponent, getAnnotation, getBindingAttribute, getBindings, getDefaultedLocalBindingAttribute, getDefaultedLocalStringBindingAttribute, getGlobalRef, getLocalBindingAttribute, getLocalStringBindingAttribute, getLocation, getName, getNamespace, getParentComponent, getPrefixToNamespaceMapping, getStringBindingAttribute, isAnonymous, isTopLevelComponent, setBindings, setParentComponent, visitSubComponents
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jbind.xml.core.type.ISimpleType
createRestriction, isApplicable
 
Methods inherited from interface org.jbind.xml.core.type.IAnyType
addDirectSubtype, canBeOverloadedBy, checkConstraints, createData, createEmptyData, createUncheckedData, getAttrDesc, getAttributesModel, getBaseType, getConstraints, getContentModel, getDataCreator, getDirectSubtypes, getElemDesc, getRoleName, getSimpleContentType, getSimpleStorageType, getSubtypes, getXPathMethods, isAbstract, isActive, isActive, isBaseType, isComplex, isExtension, isExtension, isInstanceType, isRestriction, isSimple, setBaseType, setConstraints, setDataCreator
 
Methods inherited from interface org.jbind.xml.core.cmp.IComponent
addSubComponent, getBindings, getGlobalRef, getName, getNamespace, getParentComponent, getSymbolspace, isAnonymous, isReference, isTopLevelComponent, setBindings, setParentComponent, validate
 
Methods inherited from interface org.jbind.xml.core.cmp.ISourceInfo
getAnnotation, getPrefixToNamespaceMapping
 
Methods inherited from interface org.jbind.xml.base.IHasLocation
getLocation
 
Methods inherited from interface org.jbind.xml.base.IHasBindingAttributes
getBindingAttribute, getDefaultedLocalBindingAttribute, getDefaultedLocalStringBindingAttribute, getLocalBindingAttribute, getLocalStringBindingAttribute, getStringBindingAttribute
 

Constructor Detail

RestrictedUnionType

public RestrictedUnionType(ISourceInfo aSourceInfo,
                           java.lang.String aNamespace,
                           java.lang.String aName,
                           java.lang.String aRole,
                           java.util.Set aFinalTypes,
                           IConstraintViolations aViolations)
Method Detail

accept

public void accept(IComponentVisitor aVisitor)
            throws XmlException
Description copied from interface: IComponent
Accepts a visitor. The implementation calls the corresponding visitXXXStart and vistXXXEnd methods of the visitor (e.g. visitComplexTypeStart and visitComplexTypeEnd).

Specified by:
accept in interface IComponent
Parameters:
aVisitor - (required).
Throws:
XmlException

iterMemberTypes

public java.util.Iterator iterMemberTypes()
Specified by:
iterMemberTypes in interface IUnionType

getInstanceType

public final IAnyType getInstanceType()
Description copied from interface: IAnyType
Gets the type that instances of this type have. In general a type is also its instance type. In case of union types the instance type is the most specific common base type of all member types of the union.

Specified by:
getInstanceType in interface IAnyType
Returns:
(required).

doCreateEmptyData

protected IAnyTypeData doCreateEmptyData(IDataImpl anImpl)
                                  throws XmlException
Overrides:
doCreateEmptyData in class AbstractType
Throws:
XmlException

isUnion

protected boolean isUnion()
Specified by:
isUnion in class AbstractType

checkEnclosedConstraints

public void checkEnclosedConstraints(ICheckContext aContext)
Description copied from interface: IAnyType
Checks the enclosed constraints. Depending on the type this method performs the following checks:

Specified by:
checkEnclosedConstraints in interface IAnyType
Parameters:
aContext - (required).