com.sun.msv.datatype.xsd

Class UnionType

Implemented Interfaces:
Datatype, Serializable, DatabindableDatatype, XSDatatype

public final class UnionType
extends ConcreteType

union type.
Author:
Kohsuke KAWAGUCHI

Field Summary

XSDatatypeImpl[]
memberTypes
member types

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

Constructor Summary

UnionType(String nsUri, String newTypeName, XSDatatype[] memberTypes)
derives a new datatype from atomic datatypes by union

Method Summary

Object
_createValue(String content, ValidationContext context)
converts a whitespace-processed lexical value into the corresponding value object
String
convertToLexicalValue(Object o, SerializationContext context)
String
displayName()
XSDatatype
getBaseType()
Class
getJavaObjectType()
gets the type of the objects that are created by the createJavaObject method.
int
getVariety()
Variety of the UnionType is VARIETY_UNION.
boolean
isContextDependent()
The union type is context-dependent if one of the member types is so.
int
isFacetApplicable(String facetName)

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

memberTypes

public final XSDatatypeImpl[] memberTypes
member types

Constructor Details

UnionType

public UnionType(String nsUri,
                 String newTypeName,
                 XSDatatype[] memberTypes)
            throws DatatypeException
derives a new datatype from atomic datatypes by union

Method Details

_createValue

public Object _createValue(String content,
                           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

displayName

public final String displayName()
Specified by:
displayName in interface XSDatatype

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

getVariety

public final int getVariety()
Variety of the UnionType is VARIETY_UNION. So this method always returns VARIETY_UNION.
Specified by:
getVariety in interface XSDatatype

isContextDependent

public boolean isContextDependent()
The union type is context-dependent if one of the member types is so.
Overrides:
isContextDependent in interface XSDatatypeImpl

isFacetApplicable

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