com.sun.msv.datatype.xsd
Class ErrorType

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.ErrorType
All Implemented Interfaces:
DatabindableDatatype, XSDatatype, java.io.Serializable, org.relaxng.datatype.Datatype

public class ErrorType
extends BuiltinAtomicType

A dummy datatype that can be used to recover from errors. This datatype accepts any values and any facets. The TypeIncubator class also recognizes this class and any operation on ErrorType will never cause any error and silently return another ErrorType.

Author:
Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
See Also:
Serialized Form

Field Summary
static ErrorType theInstance
           
 
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, whiteSpace
 
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
 
Method Summary
 java.lang.String convertToLexicalValue(java.lang.Object valueObject, SerializationContext context)
          converts value object back to the corresponding value in the lexical space.
 XSDatatype getBaseType()
          gets the base type of this type.
 java.lang.Class getJavaObjectType()
          gets the type of the objects that are created by the createJavaObject method.
 int isFacetApplicable(java.lang.String facetName)
          returns if the specified facet is applicable to this datatype.
 
Methods inherited from class com.sun.msv.datatype.xsd.BuiltinAtomicType
displayName, getVariety
 
Methods inherited from class com.sun.msv.datatype.xsd.ConcreteType
_createJavaObject, getConcreteType, isFinal, serializeJavaObject
 
Methods inherited from class com.sun.msv.datatype.xsd.XSDatatypeImpl
checkValid, createJavaObject, createStreamingValidator, createValue, getAncestorBuiltinType, getApplicableFacetNames, getFacetObject, getIdType, getName, getNamespaceUri, isAlwaysValid, isContextDependent, isDerivedTypeOf, isDerivedTypeOf, isValid, localize, localize, localize, localize, localize, sameValue, valueHashCode
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

theInstance

public static final ErrorType theInstance
Method Detail

convertToLexicalValue

public java.lang.String convertToLexicalValue(java.lang.Object valueObject,
                                              SerializationContext context)
                                       throws java.lang.IllegalArgumentException
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.

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.
Throws:
java.lang.IllegalArgumentException - if the type of the given object is not the expected one. For example, this exception is thrown if you pass a BigInteger object to the "gYear" type.

isFacetApplicable

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

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.

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.


getJavaObjectType

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