Top Description Fields Constructors Methods
com.sun.msv.datatype.xsd

public final Class UnionType

extends ConcreteType
Class Inheritance
Imports
com.sun.msv.datatype.SerializationContext, org.relaxng.datatype.DatatypeException, .ValidationContext

union type.
Author
Kohsuke KAWAGUCHI

Field Summary

Modifier and TypeField and Description
public final XSDatatypeImpl[]
memberTypes

member types

private static final long

Constructor Summary

AccessConstructor and Description
public
UnionType(String nsUri, String newTypeName, XSDatatype[] memberTypes)

derives a new datatype from atomic datatypes by union

Method Summary

Modifier and TypeMethod and Description
protected void
_checkValid(String content, ValidationContext context)

Overrides com.sun.msv.datatype.xsd.ConcreteType._checkValid.

actual 'meat' of the checkValid method
public Object
_createValue(String content, ValidationContext context)

Implements abstract com.sun.msv.datatype.xsd.XSDatatypeImpl._createValue.

converts a whitespace-processed lexical value into the corresponding value object
protected final boolean
public String
convertToLexicalValue(Object o, SerializationContext
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.
context
)

Implements com.sun.msv.datatype.xsd.XSDatatype.convertToLexicalValue.

converts value object back to the corresponding value in the lexical space.
public final String
displayName()

Implements com.sun.msv.datatype.xsd.XSDatatype.displayName.

gets the displayable name of this type.
public final XSDatatype
getBaseType()

Implements com.sun.msv.datatype.xsd.XSDatatype.getBaseType.

gets the base type of this type.
public Class<T>
getJavaObjectType()

Implements com.sun.msv.datatype.DatabindableDatatype.getJavaObjectType.

gets the type of the objects that are created by the createJavaObject method.
public final int
getVariety()

Implements com.sun.msv.datatype.xsd.XSDatatype.getVariety.

Variety of the UnionType is VARIETY_UNION.
public boolean
isContextDependent()

Overrides com.sun.msv.datatype.xsd.XSDatatypeImpl.isContextDependent.

Implements org.relaxng.datatype.Datatype.isContextDependent.

The union type is context-dependent if one of the member types is so.
public final int
isFacetApplicable(String facetName)

Implements com.sun.msv.datatype.xsd.XSDatatype.isFacetApplicable.

returns if the specified facet is applicable to this datatype.
Inherited from com.sun.msv.datatype.xsd.ConcreteType:
_createJavaObjectgetConcreteTypeisFinalserializeJavaObject

Field Detail

memberTypesback to summary
public final XSDatatypeImpl[] memberTypes

member types

serialVersionUIDback to summary
private static final long serialVersionUID

Hides com.sun.msv.datatype.xsd.ConcreteType.serialVersionUID.

Constructor Detail

UnionTypeback to summary
public UnionType(String nsUri, String newTypeName, XSDatatype[] memberTypes) throws DatatypeException

derives a new datatype from atomic datatypes by union

Method Detail

_checkValidback to summary
protected void _checkValid(String content, ValidationContext context) throws DatatypeException

Overrides com.sun.msv.datatype.xsd.ConcreteType._checkValid.

Doc from com.sun.msv.datatype.xsd.XSDatatypeImpl._checkValid.

actual 'meat' of the checkValid method

_createValueback to summary
public Object _createValue(String content, ValidationContext context)

Implements abstract com.sun.msv.datatype.xsd.XSDatatypeImpl._createValue.

Doc from com.sun.msv.datatype.xsd.XSDatatypeImpl._createValue.

converts a whitespace-processed lexical value into the corresponding value object

checkFormatback to summary
protected final boolean checkFormat(String content, ValidationContext context)

Implements abstract com.sun.msv.datatype.xsd.XSDatatypeImpl.checkFormat.

convertToLexicalValueback to summary
public String convertToLexicalValue(Object o, SerializationContext context)

Implements com.sun.msv.datatype.xsd.XSDatatype.convertToLexicalValue.

Doc from com.sun.msv.datatype.xsd.XSDatatype.convertToLexicalValue.

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.

Parameters
context:SerializationContext

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.

displayNameback to summary
public final String displayName()

Implements com.sun.msv.datatype.xsd.XSDatatype.displayName.

Doc from com.sun.msv.datatype.xsd.XSDatatype.displayName.

gets 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.

getBaseTypeback to summary
public final XSDatatype getBaseType()

Implements com.sun.msv.datatype.xsd.XSDatatype.getBaseType.

Doc from com.sun.msv.datatype.xsd.XSDatatype.getBaseType.

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.

getJavaObjectTypeback to summary
public Class<T> getJavaObjectType()

Implements com.sun.msv.datatype.DatabindableDatatype.getJavaObjectType.

Doc from com.sun.msv.datatype.DatabindableDatatype.getJavaObjectType.

gets the type of the objects that are created by the createJavaObject method.

getVarietyback to summary
public final int getVariety()

Implements com.sun.msv.datatype.xsd.XSDatatype.getVariety.

Variety of the UnionType is VARIETY_UNION. So this method always returns VARIETY_UNION.

Returns:int

Doc from com.sun.msv.datatype.xsd.XSDatatype.getVariety.

VARIETY_ATOMIC, VARIETY_LIST, or VARIETY_UNION.

isContextDependentback to summary
public boolean isContextDependent()

Overrides com.sun.msv.datatype.xsd.XSDatatypeImpl.isContextDependent.

Implements org.relaxng.datatype.Datatype.isContextDependent.

The union type is context-dependent if one of the member types is so.

Returns:boolean

Doc from org.relaxng.datatype.Datatype.isContextDependent.

true if this datatype is context-dependent (it needs a context object sometimes); false if this datatype is context-independent (it never needs a context object).

isFacetApplicableback to summary
public final int isFacetApplicable(String facetName)

Implements com.sun.msv.datatype.xsd.XSDatatype.isFacetApplicable.

Doc from com.sun.msv.datatype.xsd.XSDatatype.isFacetApplicable.

returns if the specified facet is applicable to this datatype.

Returns:int

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.