com.sun.msv.datatype.xsd
Class IntegerType

java.lang.Object
  extended by com.sun.msv.datatype.xsd.XSDatatypeImpl
      extended by com.sun.msv.datatype.xsd.ConcreteType
          extended by com.sun.msv.datatype.xsd.BuiltinAtomicType
              extended by com.sun.msv.datatype.xsd.IntegerType
All Implemented Interfaces:
DatabindableDatatype, Comparator, XSDatatype, Serializable, org.relaxng.datatype.Datatype
Direct Known Subclasses:
NegativeIntegerType, NonNegativeIntegerType, NonPositiveIntegerType, PositiveIntegerType, UnsignedLongType

public class IntegerType
extends BuiltinAtomicType

"integer" type. type of the value object is IntegerValueType. See http://www.w3.org/TR/xmlschema-2/#integer for the spec

Author:
Kohsuke KAWAGUCHI
See Also:
Serialized Form

Field Summary
static IntegerType theInstance
          Singleton instance.
 
Fields inherited from class com.sun.msv.datatype.xsd.XSDatatypeImpl
ERR_DUPLICATE_FACET, ERR_EMPTY_UNION, ERR_ENUMERATION, ERR_ENUMERATION_WITH_ARG, ERR_FACET_MUST_BE_NON_NEGATIVE_INTEGER, ERR_FACET_MUST_BE_POSITIVE_INTEGER, ERR_INAPPROPRIATE_FOR_TYPE, ERR_INCONSISTENT_FACETS_1, ERR_INCONSISTENT_FACETS_2, ERR_INVALID_BASE_TYPE, ERR_INVALID_ITEMTYPE, ERR_INVALID_MEMBER_TYPE, ERR_INVALID_VALUE_FOR_THIS_TYPE, ERR_INVALID_WHITESPACE_VALUE, ERR_LENGTH, ERR_LOOSENED_FACET, ERR_MAXLENGTH, ERR_MINLENGTH, ERR_NOT_APPLICABLE_FACET, ERR_OUT_OF_RANGE, ERR_OVERRIDING_FIXED_FACET, ERR_PARSE_ERROR, ERR_PATTERN_1, ERR_PATTERN_MANY, ERR_SCALE_IS_GREATER_THAN_PRECISION, ERR_TOO_MUCH_PRECISION, ERR_TOO_MUCH_SCALE, ERR_X_AND_Y_ARE_EXCLUSIVE, serializedValueChecker, whiteSpace
 
Fields inherited from interface com.sun.msv.datatype.xsd.Comparator
EQUAL, GREATER, LESS, UNDECIDABLE
 
Fields inherited from interface com.sun.msv.datatype.xsd.XSDatatype
APPLICABLE, DERIVATION_BY_LIST, DERIVATION_BY_RESTRICTION, DERIVATION_BY_UNION, FACET_ENUMERATION, FACET_FRACTIONDIGITS, FACET_LENGTH, FACET_MAXEXCLUSIVE, FACET_MAXINCLUSIVE, FACET_MAXLENGTH, FACET_MINEXCLUSIVE, FACET_MININCLUSIVE, FACET_MINLENGTH, FACET_PATTERN, FACET_TOTALDIGITS, FACET_WHITESPACE, FIXED, NOT_ALLOWED, VARIETY_ATOMIC, VARIETY_LIST, VARIETY_UNION, XMLSCHEMA_NSURI
 
Fields inherited from interface org.relaxng.datatype.Datatype
ID_TYPE_ID, ID_TYPE_IDREF, ID_TYPE_IDREFS, ID_TYPE_NULL
 
Constructor Summary
protected IntegerType(String typeName, XSDatatypeImpl baseFacets)
           
 
Method Summary
 Object _createJavaObject(String literal, org.relaxng.datatype.ValidationContext context)
           
 Object _createValue(String lexicalValue, org.relaxng.datatype.ValidationContext context)
          converts a whitespace-processed lexical value into the corresponding value object
protected  boolean checkFormat(String content, org.relaxng.datatype.ValidationContext context)
           
 int compare(Object o1, Object o2)
          compare to value types and decides its order relation
 String convertToLexicalValue(Object value, SerializationContext context)
          converts value object back to the corresponding value in the lexical space.
protected static XSDatatypeImpl createRangeFacet(XSDatatypeImpl baseType, Number min, Number max)
          Apply a range facet.
 XSDatatype getBaseType()
          gets the base type of this type.
 DataTypeWithFacet getFacetObject(String facetName)
          gets the facet object that restricts the specified facet
 Class getJavaObjectType()
          gets the type of the objects that are created by the createJavaObject method.
 int isFacetApplicable(String facetName)
          returns if the specified facet is applicable to this datatype.
static BigInteger load(String s)
           
protected static String removeOptionalPlus(String s)
          removes leading optional '+' sign.
static String save(BigInteger v)
           
 
Methods inherited from class com.sun.msv.datatype.xsd.BuiltinAtomicType
displayName, getVariety, readResolve
 
Methods inherited from class com.sun.msv.datatype.xsd.ConcreteType
_checkValid, getConcreteType, isFinal, serializeJavaObject
 
Methods inherited from class com.sun.msv.datatype.xsd.XSDatatypeImpl
checkValid, createJavaObject, createStreamingValidator, createValue, getAncestorBuiltinType, getApplicableFacetNames, getIdType, getName, getNamespaceUri, isAlwaysValid, isContextDependent, isDerivedTypeOf, isDerivedTypeOf, isValid, localize, localize, localize, localize, localize, needValueCheck, sameValue, valueHashCode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

theInstance

public static final IntegerType theInstance
Singleton instance.

Constructor Detail

IntegerType

protected IntegerType(String typeName,
                      XSDatatypeImpl baseFacets)
Method Detail

getBaseType

public XSDatatype getBaseType()
Description copied from interface: XSDatatype
gets the base type of this type. This method returns null if this object represents the simple ur-type.

This method is intended to capture the semantics of the base type definition property of the simple type component, but there is an important difference.

Specifically, if you derive a type D from another type B, then calling D.getBaseType() does not necessarily return B. Instead, it may return an intermediate object (that represents a facet). Calling the getBaseType method recursively will eventually return B.


_createValue

public Object _createValue(String lexicalValue,
                           org.relaxng.datatype.ValidationContext context)
Description copied from class: XSDatatypeImpl
converts a whitespace-processed lexical value into the corresponding value object

Specified by:
_createValue in class XSDatatypeImpl

_createJavaObject

public Object _createJavaObject(String literal,
                                org.relaxng.datatype.ValidationContext context)
Overrides:
_createJavaObject in class ConcreteType

load

public static BigInteger load(String s)

save

public static String save(BigInteger v)

getJavaObjectType

public Class getJavaObjectType()
Description copied from interface: DatabindableDatatype
gets the type of the objects that are created by the createJavaObject method.


isFacetApplicable

public final int isFacetApplicable(String facetName)
Description copied from interface: XSDatatype
returns if the specified facet is applicable to this datatype.

Specified by:
isFacetApplicable in interface XSDatatype
Returns:
APPLICABLE
if the facet is applicable
FIXED
if the facet is already fixed (that is,not applicable)
NOT_ALLOWED
if the facet is not applicable to this datatype at all. this value is also returned for unknown facets.

getFacetObject

public DataTypeWithFacet getFacetObject(String facetName)
Description copied from class: XSDatatypeImpl
gets the facet object that restricts the specified facet

Specified by:
getFacetObject in interface XSDatatype
Overrides:
getFacetObject in class XSDatatypeImpl
Returns:
null if no such facet object exists.

checkFormat

protected final boolean checkFormat(String content,
                                    org.relaxng.datatype.ValidationContext context)
Specified by:
checkFormat in class XSDatatypeImpl

convertToLexicalValue

public String convertToLexicalValue(Object value,
                                    SerializationContext context)
Description copied from interface: XSDatatype
converts value object back to the corresponding value in the lexical space.

This method does the reverse operation of the createValue method. The returned string is not necessarily the canonical representation. Also note that the implementation may accept invalid values without throwing IllegalArgumentException. To make sure that the result is actually a valid representation, call the isValid method.

Be careful not to confuse this method with The serializeJavaObject method, which is defined in the DatabindableDatatype method.

Specified by:
convertToLexicalValue in interface XSDatatype
context - Context information that will be possibly used for the conversion. Currently, this object is used only by QName, but may be extended in the future.

compare

public final int compare(Object o1,
                         Object o2)
Description copied from interface: Comparator
compare to value types and decides its order relation

Specified by:
compare in interface Comparator

removeOptionalPlus

protected static String removeOptionalPlus(String s)
removes leading optional '+' sign. Several Java conversion functions (e.g., Long.parseLong) do not accept leading '+' sign.


createRangeFacet

protected static XSDatatypeImpl createRangeFacet(XSDatatypeImpl baseType,
                                                 Number min,
                                                 Number max)
Apply a range facet.



MSV