com.sun.msv.datatype.xsd

Class ListType

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

public final class ListType
extends ConcreteType
implements com.sun.msv.datatype.xsd.Discrete

List type. type of the value object is ListValueType.
Author:
Kohsuke KAWAGUCHI

Field Summary

XSDatatypeImpl
itemType
atomic base type

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

ListType(String nsUri, String newTypeName, XSDatatypeImpl itemType)
derives a new datatype from atomic datatype by list

Method Summary

Object
_createValue(String content, ValidationContext context)
converts a whitespace-processed lexical value into the corresponding value object
String
convertToLexicalValue(Object value, SerializationContext context)
int
countLength(Object value)
count the number of item in value type.
String
displayName()
XSDatatype
getBaseType()
int
getIdType()
A property for RELAX NG DTD compatibility datatypes.
Class
getJavaObjectType()
int
getVariety()
Variety of the ListType is VARIETY_LIST.
boolean
isContextDependent()
The list type is context-dependent if its item type is so.
int
isFacetApplicable(String facetName)
boolean
isFinal(int derivationType)

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

itemType

public final XSDatatypeImpl itemType
atomic base type

Constructor Details

ListType

public ListType(String nsUri,
                String newTypeName,
                XSDatatypeImpl itemType)
            throws DatatypeException
derives a new datatype from atomic datatype by list

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 value,
                                    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

displayName

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

getBaseType

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

getIdType

public int getIdType()
A property for RELAX NG DTD compatibility datatypes. ID_TYPE_NULL is returned by default.
Overrides:
getIdType in interface XSDatatypeImpl

getJavaObjectType

public Class getJavaObjectType()
Specified by:
getJavaObjectType in interface DatabindableDatatype

getVariety

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

isContextDependent

public boolean isContextDependent()
The list type is context-dependent if its item type is so.
Overrides:
isContextDependent in interface XSDatatypeImpl

isFacetApplicable

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

isFinal

public final boolean isFinal(int derivationType)
Specified by:
isFinal in interface XSDatatype
Overrides:
isFinal in interface ConcreteType