Class UnionType
- All Implemented Interfaces:
DatabindableDatatype,XSDatatype,Serializable,org.relaxng.datatype.Datatype
- Author:
- Kohsuke KAWAGUCHI
- See Also:
-
Field Summary
FieldsFields 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, whiteSpaceFields inherited from interface org.relaxng.datatype.Datatype
ID_TYPE_ID, ID_TYPE_IDREF, ID_TYPE_IDREFS, ID_TYPE_NULLFields 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
ConstructorsConstructorDescriptionUnionType(String nsUri, String newTypeName, XSDatatype[] memberTypes) derives a new datatype from atomic datatypes by union -
Method Summary
Modifier and TypeMethodDescriptionprotected void_checkValid(String content, org.relaxng.datatype.ValidationContext context) actual 'meat' of the checkValid method_createValue(String content, org.relaxng.datatype.ValidationContext context) converts a whitespace-processed lexical value into the corresponding value objectprotected final booleancheckFormat(String content, org.relaxng.datatype.ValidationContext context) convertToLexicalValue(Object o, SerializationContext context) converts value object back to the corresponding value in the lexical space.final Stringgets the displayable name of this type.final XSDatatypegets the base type of this type.gets the type of the objects that are created by the createJavaObject method.final intVariety of the UnionType is VARIETY_UNION.booleanThe union type is context-dependent if one of the member types is so.final intisFacetApplicable(String facetName) returns if the specified facet is applicable to this datatype.Methods inherited from class com.sun.msv.datatype.xsd.ConcreteType
_createJavaObject, getConcreteType, isFinal, serializeJavaObjectMethods inherited from class com.sun.msv.datatype.xsd.XSDatatypeImpl
checkValid, createJavaObject, createStreamingValidator, createValue, getAncestorBuiltinType, getApplicableFacetNames, getFacetObject, getIdType, getName, getNamespaceUri, isAlwaysValid, isDerivedTypeOf, isDerivedTypeOf, isValid, localize, localize, localize, localize, localize, needValueCheck, sameValue, valueHashCode
-
Field Details
-
memberTypes
member types
-
-
Constructor Details
-
UnionType
public UnionType(String nsUri, String newTypeName, XSDatatype[] memberTypes) throws org.relaxng.datatype.DatatypeException derives a new datatype from atomic datatypes by union- Throws:
org.relaxng.datatype.DatatypeException
-
-
Method Details
-
getBaseType
Description copied from interface:XSDatatypegets 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.
-
displayName
Description copied from interface:XSDatatypegets the displayable name of this type. This method always return something. It is useful to provide a message to the user.This method is an ad-hoc method and there is no corresponding property in the spec.
-
isContextDependent
public boolean isContextDependent()The union type is context-dependent if one of the member types is so.- Specified by:
isContextDependentin interfaceorg.relaxng.datatype.Datatype- Overrides:
isContextDependentin classXSDatatypeImpl
-
getVariety
public final int getVariety()Variety of the UnionType is VARIETY_UNION. So this method always returns VARIETY_UNION.- Returns:
- VARIETY_ATOMIC, VARIETY_LIST, or VARIETY_UNION.
-
isFacetApplicable
Description copied from interface:XSDatatypereturns 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.
-
checkFormat
- Specified by:
checkFormatin classXSDatatypeImpl
-
_createValue
Description copied from class:XSDatatypeImplconverts a whitespace-processed lexical value into the corresponding value object- Specified by:
_createValuein classXSDatatypeImpl
-
getJavaObjectType
Description copied from interface:DatabindableDatatypegets the type of the objects that are created by the createJavaObject method. -
convertToLexicalValue
Description copied from interface:XSDatatypeconverts 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
DatabindableDatatypemethod.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.
-
_checkValid
protected void _checkValid(String content, org.relaxng.datatype.ValidationContext context) throws org.relaxng.datatype.DatatypeException Description copied from class:XSDatatypeImplactual 'meat' of the checkValid method- Overrides:
_checkValidin classConcreteType- Throws:
org.relaxng.datatype.DatatypeException
-