net.sf.jaxme.xs.xml.impl
Class XsERestrictionImpl

java.lang.Object
  extended bynet.sf.jaxme.xs.xml.impl.XsObjectImpl
      extended bynet.sf.jaxme.xs.xml.impl.XsTOpenAttrsImpl
          extended bynet.sf.jaxme.xs.xml.impl.XsTAnnotatedImpl
              extended bynet.sf.jaxme.xs.xml.impl.XsERestrictionImpl
All Implemented Interfaces:
XsERestriction, XsGSimpleRestrictionModel, XsObject, XsTAnnotated, XsTOpenAttrs

public class XsERestrictionImpl
extends XsTAnnotatedImpl
implements XsERestriction

Implementation of xs:restriction, following this specification:

  <xs:element name="restriction" id="restriction">
    <xs:complexType>
      <xs:annotation>
        <xs:documentation
            source="http://www.w3.org/TR/xmlschema-2/#element-restriction">
          base attribute and simpleType child are mutually
          exclusive, but one or other is required
        </xs:documentation>
      </xs:annotation>
      <xs:complexContent>
        <xs:extension base="xs:annotated">
          <xs:group ref="xs:simpleRestrictionModel"/>
          <xs:attribute name="base" type="xs:QName" use="optional"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>

  <xs:group name="simpleRestrictionModel">
    <xs:sequence>
      <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>
      <xs:group ref="xs:facets" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:group>

  <xs:group name="facets">
    <xs:annotation>
      <xs:documentation>
        We should use a substitution group for facets, but
        that's ruled out because it would allow users to
        add their own, which we're not ready for yet.
      </xs:documentation>
    </xs:annotation>
    <xs:choice>
      <xs:element ref="xs:minExclusive"/>
      <xs:element ref="xs:minInclusive"/>
      <xs:element ref="xs:maxExclusive"/>
      <xs:element ref="xs:maxInclusive"/>
      <xs:element ref="xs:totalDigits"/>
      <xs:element ref="xs:fractionDigits"/>
      <xs:element ref="xs:length"/>
      <xs:element ref="xs:minLength"/>
      <xs:element ref="xs:maxLength"/>
      <xs:element ref="xs:enumeration"/>
      <xs:element ref="xs:whiteSpace"/>
      <xs:element ref="xs:pattern"/>
    </xs:choice>
  </xs:group>
 

Author:
Jochen Wiedmann

Constructor Summary
protected XsERestrictionImpl(XsObject pParent)
           
 
Method Summary
 XsEEnumeration createEnumeration()
           
 XsEFractionDigits createFractionDigits()
           
 XsELength createLength()
           
 XsEMaxExclusive createMaxExclusive()
           
 XsEMaxInclusive createMaxInclusive()
           
 XsEMaxLength createMaxLength()
           
 XsEMinExclusive createMinExclusive()
           
 XsEMinInclusive createMinInclusive()
           
 XsEMinLength createMinLength()
           
 XsEPattern createPattern()
           
 XsTLocalSimpleType createSimpleType()
           
 XsETotalDigits createTotalDigits()
           
 XsEWhiteSpace createWhiteSpace()
           
 XsQName getBase()
           
 XsEEnumeration[] getEnumerations()
           
 XsTFacetBase[] getFacets()
          Returns an array of all facets.
 XsEFractionDigits getFractionDigits()
           
 XsELength getLength()
           
 XsEMaxExclusive getMaxExclusive()
           
 XsEMaxInclusive getMaxInclusive()
           
 XsEMaxLength getMaxLength()
           
 XsEMinExclusive getMinExclusive()
           
 XsEMinInclusive getMinInclusive()
           
 XsEMinLength getMinLength()
           
 XsEPattern[] getPatterns()
           
 XsTLocalSimpleType getSimpleType()
           
 XsETotalDigits getTotalDigits()
           
 XsEWhiteSpace getWhiteSpace()
           
 boolean hasFacets()
          Returns whether any facet has been defined.
 void setBase(java.lang.String pBase)
           
 void setBase(XsQName pBase)
           
 
Methods inherited from class net.sf.jaxme.xs.xml.impl.XsTAnnotatedImpl
createAnnotation, getAnnotation, getId, setId
 
Methods inherited from class net.sf.jaxme.xs.xml.impl.XsTOpenAttrsImpl
getOpenAttributes, setAttribute
 
Methods inherited from class net.sf.jaxme.xs.xml.impl.XsObjectImpl
asXsQName, getContext, getLocator, getNamespaceSupport, getObjectFactory, getParentObject, getXsESchema, isTopLevelObject, isValidated, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.sf.jaxme.xs.xml.XsTAnnotated
createAnnotation, getAnnotation, getId, setId
 
Methods inherited from interface net.sf.jaxme.xs.xml.XsObject
getLocator, getObjectFactory, getParentObject, getXsESchema, isTopLevelObject, validate
 

Constructor Detail

XsERestrictionImpl

protected XsERestrictionImpl(XsObject pParent)
Method Detail

setBase

public void setBase(XsQName pBase)
Specified by:
setBase in interface XsERestriction

setBase

public void setBase(java.lang.String pBase)
             throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

getBase

public XsQName getBase()
Specified by:
getBase in interface XsERestriction

createSimpleType

public XsTLocalSimpleType createSimpleType()
                                    throws org.xml.sax.SAXException
Specified by:
createSimpleType in interface XsERestriction
Throws:
org.xml.sax.SAXException

getSimpleType

public XsTLocalSimpleType getSimpleType()
Specified by:
getSimpleType in interface XsERestriction

createMinExclusive

public XsEMinExclusive createMinExclusive()
                                   throws org.xml.sax.SAXException
Specified by:
createMinExclusive in interface XsGSimpleRestrictionModel
Throws:
org.xml.sax.SAXException

getMinExclusive

public XsEMinExclusive getMinExclusive()
Specified by:
getMinExclusive in interface XsGSimpleRestrictionModel

createMinInclusive

public XsEMinInclusive createMinInclusive()
                                   throws org.xml.sax.SAXException
Specified by:
createMinInclusive in interface XsGSimpleRestrictionModel
Throws:
org.xml.sax.SAXException

getMinInclusive

public XsEMinInclusive getMinInclusive()
Specified by:
getMinInclusive in interface XsGSimpleRestrictionModel

createMaxExclusive

public XsEMaxExclusive createMaxExclusive()
                                   throws org.xml.sax.SAXException
Specified by:
createMaxExclusive in interface XsGSimpleRestrictionModel
Throws:
org.xml.sax.SAXException

getMaxExclusive

public XsEMaxExclusive getMaxExclusive()
Specified by:
getMaxExclusive in interface XsGSimpleRestrictionModel

createMaxInclusive

public XsEMaxInclusive createMaxInclusive()
                                   throws org.xml.sax.SAXException
Specified by:
createMaxInclusive in interface XsGSimpleRestrictionModel
Throws:
org.xml.sax.SAXException

getMaxInclusive

public XsEMaxInclusive getMaxInclusive()
Specified by:
getMaxInclusive in interface XsGSimpleRestrictionModel

createTotalDigits

public XsETotalDigits createTotalDigits()
                                 throws org.xml.sax.SAXException
Specified by:
createTotalDigits in interface XsGSimpleRestrictionModel
Throws:
org.xml.sax.SAXException

getTotalDigits

public XsETotalDigits getTotalDigits()
Specified by:
getTotalDigits in interface XsGSimpleRestrictionModel

createFractionDigits

public XsEFractionDigits createFractionDigits()
                                       throws org.xml.sax.SAXException
Specified by:
createFractionDigits in interface XsGSimpleRestrictionModel
Throws:
org.xml.sax.SAXException

getFractionDigits

public XsEFractionDigits getFractionDigits()
Specified by:
getFractionDigits in interface XsGSimpleRestrictionModel

createLength

public XsELength createLength()
                       throws org.xml.sax.SAXException
Specified by:
createLength in interface XsGSimpleRestrictionModel
Throws:
org.xml.sax.SAXException

getLength

public XsELength getLength()
Specified by:
getLength in interface XsGSimpleRestrictionModel

createMinLength

public XsEMinLength createMinLength()
                             throws org.xml.sax.SAXException
Specified by:
createMinLength in interface XsGSimpleRestrictionModel
Throws:
org.xml.sax.SAXException

getMinLength

public XsEMinLength getMinLength()
Specified by:
getMinLength in interface XsGSimpleRestrictionModel

createMaxLength

public XsEMaxLength createMaxLength()
                             throws org.xml.sax.SAXException
Specified by:
createMaxLength in interface XsGSimpleRestrictionModel
Throws:
org.xml.sax.SAXException

getMaxLength

public XsEMaxLength getMaxLength()
Specified by:
getMaxLength in interface XsGSimpleRestrictionModel

createWhiteSpace

public XsEWhiteSpace createWhiteSpace()
                               throws org.xml.sax.SAXException
Specified by:
createWhiteSpace in interface XsGSimpleRestrictionModel
Throws:
org.xml.sax.SAXException

getWhiteSpace

public XsEWhiteSpace getWhiteSpace()
Specified by:
getWhiteSpace in interface XsGSimpleRestrictionModel

createPattern

public XsEPattern createPattern()
                         throws org.xml.sax.SAXException
Specified by:
createPattern in interface XsGSimpleRestrictionModel
Throws:
org.xml.sax.SAXException

getPatterns

public XsEPattern[] getPatterns()
Specified by:
getPatterns in interface XsGSimpleRestrictionModel

createEnumeration

public XsEEnumeration createEnumeration()
                                 throws org.xml.sax.SAXException
Specified by:
createEnumeration in interface XsGSimpleRestrictionModel
Throws:
org.xml.sax.SAXException

getEnumerations

public XsEEnumeration[] getEnumerations()
Specified by:
getEnumerations in interface XsGSimpleRestrictionModel

hasFacets

public boolean hasFacets()
Description copied from interface: XsGSimpleRestrictionModel

Returns whether any facet has been defined.

Specified by:
hasFacets in interface XsGSimpleRestrictionModel

getFacets

public XsTFacetBase[] getFacets()
Description copied from interface: XsGSimpleRestrictionModel

Returns an array of all facets.

Specified by:
getFacets in interface XsGSimpleRestrictionModel