Class ListType
- java.lang.Object
-
- com.sun.msv.datatype.xsd.XSDatatypeImpl
-
- com.sun.msv.datatype.xsd.ConcreteType
-
- com.sun.msv.datatype.xsd.ListType
-
- All Implemented Interfaces:
DatabindableDatatype,Discrete,XSDatatype,java.io.Serializable,org.relaxng.datatype.Datatype
public final class ListType extends ConcreteType implements Discrete
List type. type of the value object isListValueType.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description XSDatatypeImplitemTypeatomic base typeprivate static longserialVersionUID-
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, serializedValueChecker, whiteSpace
-
Fields inherited from interface org.relaxng.datatype.Datatype
ID_TYPE_ID, ID_TYPE_IDREF, ID_TYPE_IDREFS, ID_TYPE_NULL
-
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
Constructors Constructor Description ListType(java.lang.String nsUri, java.lang.String newTypeName, XSDatatypeImpl itemType)derives a new datatype from atomic datatype by list
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void_checkValid(java.lang.String content, org.relaxng.datatype.ValidationContext context)The current implementation detects which list item is considered wrong.java.lang.Object_createValue(java.lang.String content, org.relaxng.datatype.ValidationContext context)converts a whitespace-processed lexical value into the corresponding value objectprotected booleancheckFormat(java.lang.String content, org.relaxng.datatype.ValidationContext context)java.lang.StringconvertToLexicalValue(java.lang.Object value, SerializationContext context)converts value object back to the corresponding value in the lexical space.intcountLength(java.lang.Object value)count the number of item in value type.java.lang.StringdisplayName()gets the displayable name of this type.XSDatatypegetBaseType()gets the base type of this type.intgetIdType()A property for RELAX NG DTD compatibility datatypes.java.lang.ClassgetJavaObjectType()gets the type of the objects that are created by the createJavaObject method.intgetVariety()Variety of the ListType is VARIETY_LIST.booleanisContextDependent()The list type is context-dependent if its item type is so.intisFacetApplicable(java.lang.String facetName)returns if the specified facet is applicable to this datatype.booleanisFinal(int derivationType)checks if this type is declared as final for the specified kind of derivation.-
Methods inherited from class com.sun.msv.datatype.xsd.ConcreteType
_createJavaObject, getConcreteType, serializeJavaObject
-
Methods inherited from class com.sun.msv.datatype.xsd.XSDatatypeImpl
checkValid, createJavaObject, createStreamingValidator, createValue, getAncestorBuiltinType, getApplicableFacetNames, getFacetObject, getName, getNamespaceUri, isAlwaysValid, isDerivedTypeOf, isDerivedTypeOf, isValid, localize, localize, localize, localize, localize, needValueCheck, sameValue, valueHashCode
-
-
-
-
Field Detail
-
itemType
public final XSDatatypeImpl itemType
atomic base type
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ListType
public ListType(java.lang.String nsUri, java.lang.String newTypeName, XSDatatypeImpl itemType) throws org.relaxng.datatype.DatatypeExceptionderives a new datatype from atomic datatype by list- Throws:
org.relaxng.datatype.DatatypeException
-
-
Method Detail
-
displayName
public final java.lang.String 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.
- Specified by:
displayNamein interfaceXSDatatype
-
getVariety
public final int getVariety()
Variety of the ListType is VARIETY_LIST. So this method always returns VARIETY_LIST.- Specified by:
getVarietyin interfaceXSDatatype- Returns:
- VARIETY_ATOMIC, VARIETY_LIST, or VARIETY_UNION.
-
getBaseType
public final XSDatatype 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.
- Specified by:
getBaseTypein interfaceXSDatatype
-
isContextDependent
public boolean isContextDependent()
The list type is context-dependent if its item type is so.- Specified by:
isContextDependentin interfaceorg.relaxng.datatype.Datatype- Overrides:
isContextDependentin classXSDatatypeImpl
-
getIdType
public int getIdType()
Description copied from class:XSDatatypeImplA property for RELAX NG DTD compatibility datatypes.ID_TYPE_NULLis returned by default.- Specified by:
getIdTypein interfaceorg.relaxng.datatype.Datatype- Overrides:
getIdTypein classXSDatatypeImpl
-
isFinal
public final boolean isFinal(int derivationType)
Description copied from interface:XSDatatypechecks if this type is declared as final for the specified kind of derivation.In the terminology of the spec, this method can be used to examine the final property of this component.
- Specified by:
isFinalin interfaceXSDatatype- Overrides:
isFinalin classConcreteType- Parameters:
derivationType- one of pre-defined values (DERIVATION_BY_XXX).
-
isFacetApplicable
public final int isFacetApplicable(java.lang.String facetName)
Description copied from interface:XSDatatypereturns if the specified facet is applicable to this datatype.- Specified by:
isFacetApplicablein interfaceXSDatatype- 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
protected final boolean checkFormat(java.lang.String content, org.relaxng.datatype.ValidationContext context)- Specified by:
checkFormatin classXSDatatypeImpl
-
_createValue
public java.lang.Object _createValue(java.lang.String content, org.relaxng.datatype.ValidationContext context)Description copied from class:XSDatatypeImplconverts a whitespace-processed lexical value into the corresponding value object- Specified by:
_createValuein classXSDatatypeImpl
-
getJavaObjectType
public java.lang.Class getJavaObjectType()
Description copied from interface:DatabindableDatatypegets the type of the objects that are created by the createJavaObject method.- Specified by:
getJavaObjectTypein interfaceDatabindableDatatype
-
countLength
public final int countLength(java.lang.Object value)
Description copied from interface:Discretecount the number of item in value type. Actual semantics of this method varies.- Specified by:
countLengthin interfaceDiscrete
-
convertToLexicalValue
public java.lang.String convertToLexicalValue(java.lang.Object value, SerializationContext context)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.- Specified by:
convertToLexicalValuein interfaceXSDatatypecontext- 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(java.lang.String content, org.relaxng.datatype.ValidationContext context) throws org.relaxng.datatype.DatatypeExceptionThe current implementation detects which list item is considered wrong.- Overrides:
_checkValidin classConcreteType- Throws:
org.relaxng.datatype.DatatypeException
-
-