com.sun.msv.datatype.xsd

Class QnameType

Implemented Interfaces:
Datatype, DatabindableDatatype, com.sun.msv.datatype.xsd.Discrete, Serializable, XSDatatype

public class QnameType
extends BuiltinAtomicType
implements com.sun.msv.datatype.xsd.Discrete

"QName" type. type of the value object is QnameValueType. See http://www.w3.org/TR/xmlschema-2/#QName for the spec.
Author:
Kohsuke KAWAGUCHI

Field Summary

static QnameType
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

Method Summary

Object
_createJavaObject(String literal, ValidationContext context)
Object
_createValue(String value, ValidationContext context)
converts a whitespace-processed lexical value into the corresponding value object
String
convertToLexicalValue(Object o, SerializationContext context)
int
countLength(Object value)
count the number of item in value type.
XSDatatype
getBaseType()
Class
getJavaObjectType()
gets the type of the objects that are created by the createJavaObject method.
boolean
isContextDependent()
QName type always returns true.
int
isFacetApplicable(String facetName)
String
serializeJavaObject(Object value, SerializationContext context)
converts a value object back to the lexical representation.

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, getConcreteType, getFacetObject, getIdType, getName, getNamespaceUri, isAlwaysValid, isContextDependent, isDerivedTypeOf, isDerivedTypeOf, isValid, localize, localize, localize, localize, localize, sameValue, valueHashCode

Field Details

theInstance

public static final QnameType theInstance

Method Details

_createJavaObject

public Object _createJavaObject(String literal,
                                ValidationContext context)
Overrides:
_createJavaObject in interface ConcreteType

_createValue

public Object _createValue(String value,
                           ValidationContext context)
converts a whitespace-processed lexical value into the corresponding value object

convertToLexicalValue

public String convertToLexicalValue(Object o,
                                    SerializationContext context)
Specified by:
convertToLexicalValue in interface XSDatatype

countLength

public final int countLength(Object value)
count the number of item in value type. Actual semantics of this method varies.
Specified by:
countLength in interface com.sun.msv.datatype.xsd.Discrete

getBaseType

public final XSDatatype getBaseType()
Specified by:
getBaseType in interface XSDatatype

getJavaObjectType

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

isContextDependent

public boolean isContextDependent()
QName type always returns true. That is, QName is a context-dependent type.
Overrides:
isContextDependent in interface XSDatatypeImpl

isFacetApplicable

public final int isFacetApplicable(String facetName)
Specified by:
isFacetApplicable in interface XSDatatype

serializeJavaObject

public String serializeJavaObject(Object value,
                                  SerializationContext context)
converts a value object back to the lexical representation.

This method is a kind of the "reverse" function of the createJavaObject method.

Specified by:
serializeJavaObject in interface DatabindableDatatype
Overrides:
serializeJavaObject in interface ConcreteType
Parameters:
context - The context object is used to obtain information necessary to serialize the value object. For example, QName type uses the context to encode the URI into a prefix.
Returns:
null if the given object is invalid with respect to this datatype.