Class XSSimpleTypeDecl

  • All Implemented Interfaces:
    XSSimpleType, org.apache.xerces.xs.XSObject, org.apache.xerces.xs.XSSimpleTypeDefinition, org.apache.xerces.xs.XSTypeDefinition, org.w3c.dom.TypeInfo

    public class XSSimpleTypeDecl
    extends java.lang.Object
    implements XSSimpleType, org.w3c.dom.TypeInfo

    INTERNAL:

    Usage of this class is not supported. It may be altered or removed at any time.
    Version:
    $Id: XSSimpleTypeDecl.java 1026362 2010-10-22 15:15:18Z sandygao $
    Author:
    Sandy Gao, IBM, Neeraj Bajaj, Sun Microsystems, inc.
    • Field Detail

      • DV_YEARMONTHDURATION

        protected static final short DV_YEARMONTHDURATION
        See Also:
        Constant Field Values
      • lengthAnnotation

        public org.apache.xerces.xs.XSAnnotation lengthAnnotation
      • minLengthAnnotation

        public org.apache.xerces.xs.XSAnnotation minLengthAnnotation
      • maxLengthAnnotation

        public org.apache.xerces.xs.XSAnnotation maxLengthAnnotation
      • whiteSpaceAnnotation

        public org.apache.xerces.xs.XSAnnotation whiteSpaceAnnotation
      • totalDigitsAnnotation

        public org.apache.xerces.xs.XSAnnotation totalDigitsAnnotation
      • fractionDigitsAnnotation

        public org.apache.xerces.xs.XSAnnotation fractionDigitsAnnotation
      • enumerationAnnotations

        public org.apache.xerces.xs.XSObjectList enumerationAnnotations
      • maxInclusiveAnnotation

        public org.apache.xerces.xs.XSAnnotation maxInclusiveAnnotation
      • maxExclusiveAnnotation

        public org.apache.xerces.xs.XSAnnotation maxExclusiveAnnotation
      • minInclusiveAnnotation

        public org.apache.xerces.xs.XSAnnotation minInclusiveAnnotation
      • minExclusiveAnnotation

        public org.apache.xerces.xs.XSAnnotation minExclusiveAnnotation
    • Constructor Detail

      • XSSimpleTypeDecl

        public XSSimpleTypeDecl()
      • XSSimpleTypeDecl

        protected XSSimpleTypeDecl​(XSSimpleTypeDecl base,
                                   java.lang.String name,
                                   short validateDV,
                                   short ordered,
                                   boolean bounded,
                                   boolean finite,
                                   boolean numeric,
                                   boolean isImmutable,
                                   short builtInKind)
      • XSSimpleTypeDecl

        protected XSSimpleTypeDecl​(XSSimpleTypeDecl base,
                                   java.lang.String name,
                                   java.lang.String uri,
                                   short finalSet,
                                   boolean isImmutable,
                                   org.apache.xerces.xs.XSObjectList annotations,
                                   short builtInKind)
      • XSSimpleTypeDecl

        protected XSSimpleTypeDecl​(XSSimpleTypeDecl base,
                                   java.lang.String name,
                                   java.lang.String uri,
                                   short finalSet,
                                   boolean isImmutable,
                                   org.apache.xerces.xs.XSObjectList annotations)
      • XSSimpleTypeDecl

        protected XSSimpleTypeDecl​(java.lang.String name,
                                   java.lang.String uri,
                                   short finalSet,
                                   XSSimpleTypeDecl itemType,
                                   boolean isImmutable,
                                   org.apache.xerces.xs.XSObjectList annotations)
      • XSSimpleTypeDecl

        protected XSSimpleTypeDecl​(java.lang.String name,
                                   java.lang.String uri,
                                   short finalSet,
                                   XSSimpleTypeDecl[] memberTypes,
                                   org.apache.xerces.xs.XSObjectList annotations)
    • Method Detail

      • setRestrictionValues

        protected XSSimpleTypeDecl setRestrictionValues​(XSSimpleTypeDecl base,
                                                        java.lang.String name,
                                                        java.lang.String uri,
                                                        short finalSet,
                                                        org.apache.xerces.xs.XSObjectList annotations)
      • setListValues

        protected XSSimpleTypeDecl setListValues​(java.lang.String name,
                                                 java.lang.String uri,
                                                 short finalSet,
                                                 XSSimpleTypeDecl itemType,
                                                 org.apache.xerces.xs.XSObjectList annotations)
      • setUnionValues

        protected XSSimpleTypeDecl setUnionValues​(java.lang.String name,
                                                  java.lang.String uri,
                                                  short finalSet,
                                                  XSSimpleTypeDecl[] memberTypes,
                                                  org.apache.xerces.xs.XSObjectList annotations)
      • getType

        public short getType()
        Description copied from interface: org.apache.xerces.xs.XSObject
        The type of this object, i.e. ELEMENT_DECLARATION.
        Specified by:
        getType in interface org.apache.xerces.xs.XSObject
      • getTypeCategory

        public short getTypeCategory()
        Description copied from interface: org.apache.xerces.xs.XSTypeDefinition
        Return whether this type definition is a simple type or complex type.
        Specified by:
        getTypeCategory in interface org.apache.xerces.xs.XSTypeDefinition
      • getName

        public java.lang.String getName()
        Description copied from interface: org.apache.xerces.xs.XSObject
        The name of type NCName, as defined in XML Namespaces, of this declaration specified in the {name} property of the component or null if the definition of this component does not have a {name} property. For anonymous types, the processor must construct and expose an anonymous type name that is distinct from the name of every named type and the name of every other anonymous type.
        Specified by:
        getName in interface org.apache.xerces.xs.XSObject
      • getTypeName

        public java.lang.String getTypeName()
        Specified by:
        getTypeName in interface org.w3c.dom.TypeInfo
      • getNamespace

        public java.lang.String getNamespace()
        Description copied from interface: org.apache.xerces.xs.XSObject
        The [target namespace] of this object, or null if it is unspecified.
        Specified by:
        getNamespace in interface org.apache.xerces.xs.XSObject
      • getFinal

        public short getFinal()
        Description copied from interface: org.apache.xerces.xs.XSTypeDefinition
        For complex types the returned value is a bit combination of the subset of {DERIVATION_EXTENSION, DERIVATION_RESTRICTION} corresponding to final set of this type or DERIVATION_NONE. For simple types the returned value is a bit combination of the subset of { DERIVATION_RESTRICTION, DERIVATION_EXTENSION, DERIVATION_UNION, DERIVATION_LIST } corresponding to final set of this type or DERIVATION_NONE.
        Specified by:
        getFinal in interface org.apache.xerces.xs.XSTypeDefinition
      • isFinal

        public boolean isFinal​(short derivation)
        Description copied from interface: org.apache.xerces.xs.XSTypeDefinition
        {final}. For a complex type definition it is a subset of {extension, restriction}. For a simple type definition it is a subset of {extension, list, restriction, union}.
        Specified by:
        isFinal in interface org.apache.xerces.xs.XSTypeDefinition
        Parameters:
        derivation - Extension, restriction, list, union constants (defined in XSConstants).
        Returns:
        True if restriction is in the final set, otherwise false.
      • getBaseType

        public org.apache.xerces.xs.XSTypeDefinition getBaseType()
        Description copied from interface: org.apache.xerces.xs.XSTypeDefinition
        {base type definition}: either a simple type definition or a complex type definition.
        Specified by:
        getBaseType in interface org.apache.xerces.xs.XSTypeDefinition
      • getAnonymous

        public boolean getAnonymous()
        Description copied from interface: org.apache.xerces.xs.XSTypeDefinition
        Convenience attribute. A boolean that specifies if the type definition is anonymous.
        Specified by:
        getAnonymous in interface org.apache.xerces.xs.XSTypeDefinition
      • getVariety

        public short getVariety()
        Description copied from interface: org.apache.xerces.xs.XSSimpleTypeDefinition
        [variety]: one of {atomic, list, union} or absent.
        Specified by:
        getVariety in interface org.apache.xerces.xs.XSSimpleTypeDefinition
      • isIDType

        public boolean isIDType()
        Description copied from interface: XSSimpleType
        Check whether this type is or is derived from ID. REVISIT: this method makes ID special, which is not a good design. but since ID is not a primitive, there doesn't seem to be a clean way of doing it except to define special method like this.
        Specified by:
        isIDType in interface XSSimpleType
        Returns:
        whether this simple type is or is derived from ID.
      • getWhitespace

        public short getWhitespace()
                            throws DatatypeException
        Description copied from interface: XSSimpleType
        Return the whitespace corresponding to this datatype.
        Specified by:
        getWhitespace in interface XSSimpleType
        Returns:
        valid values are WS_PRESERVE, WS_REPLACE, WS_COLLAPSE.
        Throws:
        DatatypeException - union datatypes don't have whitespace facet associated with them
      • getPrimitiveKind

        public short getPrimitiveKind()
        Description copied from interface: XSSimpleType
        return an ID representing the built-in primitive base type. REVISIT: This method is (currently) for internal use only. the constants returned from this method are not finalized yet. the names and values might change in the further.
        Specified by:
        getPrimitiveKind in interface XSSimpleType
        Returns:
        an ID representing the built-in primitive base type
      • getBuiltInKind

        public short getBuiltInKind()
        Returns the closest built-in type category this type represents or derived from. For example, if this simple type is a built-in derived type integer the INTEGER_DV is returned.
        Specified by:
        getBuiltInKind in interface org.apache.xerces.xs.XSSimpleTypeDefinition
      • getPrimitiveType

        public org.apache.xerces.xs.XSSimpleTypeDefinition getPrimitiveType()
        If variety is atomic the primitive type definition (a built-in primitive datatype definition or the simple ur-type definition) is available, otherwise null.
        Specified by:
        getPrimitiveType in interface org.apache.xerces.xs.XSSimpleTypeDefinition
      • getItemType

        public org.apache.xerces.xs.XSSimpleTypeDefinition getItemType()
        If variety is list the item type definition (an atomic or union simple type definition) is available, otherwise null.
        Specified by:
        getItemType in interface org.apache.xerces.xs.XSSimpleTypeDefinition
      • getMemberTypes

        public org.apache.xerces.xs.XSObjectList getMemberTypes()
        If variety is union the list of member type definitions (a non-empty sequence of simple type definitions) is available, otherwise an empty XSObjectList.
        Specified by:
        getMemberTypes in interface org.apache.xerces.xs.XSSimpleTypeDefinition
      • applyFacets

        public void applyFacets​(XSFacets facets,
                                short presentFacet,
                                short fixedFacet,
                                ValidationContext context)
                         throws InvalidDatatypeFacetException
        If is chosen
        Specified by:
        applyFacets in interface XSSimpleType
        Parameters:
        facets - the value of all the facets
        presentFacet - bit combination value of the costraining facet constants which are present.
        fixedFacet - bit combination value of the costraining facet constants which are fixed.
        context - the validation context
        Throws:
        InvalidDatatypeFacetException - exception for invalid facet values.
      • isEqual

        public boolean isEqual​(java.lang.Object value1,
                               java.lang.Object value2)
        Description copied from interface: XSSimpleType
        Check whether two actual values are equal.
        Specified by:
        isEqual in interface XSSimpleType
        Parameters:
        value1 - the first value
        value2 - the second value
        Returns:
        true if the two value are equal
      • isIdentical

        public boolean isIdentical​(java.lang.Object value1,
                                   java.lang.Object value2)
      • normalize

        public static java.lang.String normalize​(java.lang.String content,
                                                 short ws)
      • normalize

        protected java.lang.String normalize​(java.lang.Object content,
                                             short ws)
      • getOrdered

        public short getOrdered()
        Fundamental Facet: ordered.
        Specified by:
        getOrdered in interface org.apache.xerces.xs.XSSimpleTypeDefinition
      • getBounded

        public boolean getBounded()
        Fundamental Facet: bounded.
        Specified by:
        getBounded in interface org.apache.xerces.xs.XSSimpleTypeDefinition
      • getFinite

        public boolean getFinite()
        Fundamental Facet: cardinality.
        Specified by:
        getFinite in interface org.apache.xerces.xs.XSSimpleTypeDefinition
      • getNumeric

        public boolean getNumeric()
        Fundamental Facet: numeric.
        Specified by:
        getNumeric in interface org.apache.xerces.xs.XSSimpleTypeDefinition
      • isDefinedFacet

        public boolean isDefinedFacet​(short facetName)
        Convenience method. [Facets]: check whether a facet is defined on this type.
        Specified by:
        isDefinedFacet in interface org.apache.xerces.xs.XSSimpleTypeDefinition
        Parameters:
        facetName - The name of the facet.
        Returns:
        True if the facet is defined, false otherwise.
      • getDefinedFacets

        public short getDefinedFacets()
        [facets]: all facets defined on this type. The value is a bit combination of FACET_XXX constants of all defined facets.
        Specified by:
        getDefinedFacets in interface org.apache.xerces.xs.XSSimpleTypeDefinition
      • isFixedFacet

        public boolean isFixedFacet​(short facetName)
        Convenience method. [Facets]: check whether a facet is defined and fixed on this type.
        Specified by:
        isFixedFacet in interface org.apache.xerces.xs.XSSimpleTypeDefinition
        Parameters:
        facetName - The name of the facet.
        Returns:
        True if the facet is fixed, false otherwise.
      • getFixedFacets

        public short getFixedFacets()
        [facets]: all defined facets for this type which are fixed.
        Specified by:
        getFixedFacets in interface org.apache.xerces.xs.XSSimpleTypeDefinition
      • getLexicalFacetValue

        public java.lang.String getLexicalFacetValue​(short facetName)
        Convenience method. Returns a value of a single constraining facet for this simple type definition. This method must not be used to retrieve values for enumeration and pattern facets.
        Specified by:
        getLexicalFacetValue in interface org.apache.xerces.xs.XSSimpleTypeDefinition
        Parameters:
        facetName - The name of the facet, i.e. FACET_LENGTH, FACET_TOTALDIGITS (see XSConstants). To retrieve the value for a pattern or an enumeration, see enumeration and pattern.
        Returns:
        A value of the facet specified in facetName for this simple type definition or null.
      • getLexicalEnumeration

        public org.apache.xerces.xs.StringList getLexicalEnumeration()
        A list of enumeration values if it exists, otherwise an empty StringList.
        Specified by:
        getLexicalEnumeration in interface org.apache.xerces.xs.XSSimpleTypeDefinition
      • getActualEnumeration

        public org.apache.xerces.xs.datatypes.ObjectList getActualEnumeration()
        A list of actual enumeration values if it exists, otherwise an empty ObjectList.
      • getEnumerationItemTypeList

        public org.apache.xerces.xs.datatypes.ObjectList getEnumerationItemTypeList()
        A list of enumeration type values (as a list of ShortList objects) if it exists, otherwise returns null
      • getEnumerationTypeList

        public org.apache.xerces.xs.ShortList getEnumerationTypeList()
      • getLexicalPattern

        public org.apache.xerces.xs.StringList getLexicalPattern()
        A list of pattern values if it exists, otherwise an empty StringList.
        Specified by:
        getLexicalPattern in interface org.apache.xerces.xs.XSSimpleTypeDefinition
      • getAnnotations

        public org.apache.xerces.xs.XSObjectList getAnnotations()
        [annotations]: a set of annotations for this simple type component if it exists, otherwise an empty XSObjectList.
        Specified by:
        getAnnotations in interface org.apache.xerces.xs.XSSimpleTypeDefinition
      • derivedFromType

        public boolean derivedFromType​(org.apache.xerces.xs.XSTypeDefinition ancestor,
                                       short derivation)
        Description copied from interface: org.apache.xerces.xs.XSTypeDefinition
        Convenience method which checks if this type is derived from the given ancestorType.
        Specified by:
        derivedFromType in interface org.apache.xerces.xs.XSTypeDefinition
        Parameters:
        ancestor - An ancestor type definition.
        derivation - A bit combination representing a subset of { DERIVATION_RESTRICTION, DERIVATION_EXTENSION, DERIVATION_UNION, DERIVATION_LIST }.
        Returns:
        True if this type is derived from ancestorType using only derivation methods from the derivationMethod .
      • derivedFrom

        public boolean derivedFrom​(java.lang.String ancestorNS,
                                   java.lang.String ancestorName,
                                   short derivation)
        Description copied from interface: org.apache.xerces.xs.XSTypeDefinition
        Convenience method which checks if this type is derived from the given ancestor type.
        Specified by:
        derivedFrom in interface org.apache.xerces.xs.XSTypeDefinition
        Parameters:
        ancestorNS - An ancestor type namespace.
        ancestorName - An ancestor type name.
        derivation - A bit combination representing a subset of { DERIVATION_RESTRICTION, DERIVATION_EXTENSION, DERIVATION_UNION, DERIVATION_LIST }.
        Returns:
        True if this type is derived from ancestorType using only derivation methods from the derivationMethod .
      • isDOMDerivedFrom

        public boolean isDOMDerivedFrom​(java.lang.String ancestorNS,
                                        java.lang.String ancestorName,
                                        int derivationMethod)
        Checks if a type is derived from another by restriction, given the name and namespace. See: http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#TypeInfo-isDerivedFrom
        Parameters:
        ancestorNS - The namspace of the ancestor type declaration
        ancestorName - The name of the ancestor type declaration
        derivationMethod - The derivation method
        Returns:
        boolean True if the ancestor type is derived from the reference type by the specifiied derivation method.
      • reset

        public void reset()
      • getNamespaceItem

        public org.apache.xerces.xs.XSNamespaceItem getNamespaceItem()
        Description copied from interface: org.apache.xerces.xs.XSObject
        A namespace schema information item corresponding to the target namespace of the component, if it is globally declared; or null otherwise.
        Specified by:
        getNamespaceItem in interface org.apache.xerces.xs.XSObject
        See Also:
        XSObject.getNamespaceItem()
      • setNamespaceItem

        public void setNamespaceItem​(org.apache.xerces.xs.XSNamespaceItem namespaceItem)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
        See Also:
        Object.toString()
      • getFacets

        public org.apache.xerces.xs.XSObjectList getFacets()
        A list of constraining facets if it exists, otherwise an empty XSObjectList. Note: This method must not be used to retrieve values for enumeration and pattern facets.
        Specified by:
        getFacets in interface org.apache.xerces.xs.XSSimpleTypeDefinition
      • getFacet

        public org.apache.xerces.xs.XSObject getFacet​(int facetType)
        Description copied from interface: org.apache.xerces.xs.XSSimpleTypeDefinition
        A constraining facet object. An instance of XSFacet or XSMultiValueFacet.
        Specified by:
        getFacet in interface org.apache.xerces.xs.XSSimpleTypeDefinition
      • getMultiValueFacets

        public org.apache.xerces.xs.XSObjectList getMultiValueFacets()
        A list of enumeration and pattern constraining facets if it exists, otherwise an empty XSObjectList.
        Specified by:
        getMultiValueFacets in interface org.apache.xerces.xs.XSSimpleTypeDefinition
      • getMinInclusiveValue

        public java.lang.Object getMinInclusiveValue()
      • getMinExclusiveValue

        public java.lang.Object getMinExclusiveValue()
      • getMaxInclusiveValue

        public java.lang.Object getMaxInclusiveValue()
      • getMaxExclusiveValue

        public java.lang.Object getMaxExclusiveValue()
      • setAnonymous

        public void setAnonymous​(boolean anon)
      • getTypeNamespace

        public java.lang.String getTypeNamespace()
        Specified by:
        getTypeNamespace in interface org.w3c.dom.TypeInfo
      • isDerivedFrom

        public boolean isDerivedFrom​(java.lang.String typeNamespaceArg,
                                     java.lang.String typeNameArg,
                                     int derivationMethod)
        Specified by:
        isDerivedFrom in interface org.w3c.dom.TypeInfo