public final class ListType extends ConcreteType implements Discrete
ListValueType
.Modifier and Type | Field and Description |
---|---|
XSDatatypeImpl |
itemType
atomic base type
|
private static long |
serialVersionUID |
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
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 and Description |
---|
ListType(java.lang.String nsUri,
java.lang.String newTypeName,
XSDatatypeImpl itemType)
derives a new datatype from atomic datatype by list
|
Modifier and Type | Method and 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 object
|
protected boolean |
checkFormat(java.lang.String content,
org.relaxng.datatype.ValidationContext context) |
java.lang.String |
convertToLexicalValue(java.lang.Object value,
SerializationContext context)
converts value object back to the corresponding value in the lexical space.
|
int |
countLength(java.lang.Object value)
count the number of item in value type.
|
java.lang.String |
displayName()
gets the displayable name of this type.
|
XSDatatype |
getBaseType()
gets the base type of this type.
|
int |
getIdType()
A property for RELAX NG DTD compatibility datatypes.
|
java.lang.Class |
getJavaObjectType()
gets the type of the objects that are created by the createJavaObject method.
|
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(java.lang.String facetName)
returns if the specified facet is applicable to this datatype.
|
boolean |
isFinal(int derivationType)
checks if this type is declared as final for the specified kind of derivation.
|
_createJavaObject, getConcreteType, serializeJavaObject
checkValid, createJavaObject, createStreamingValidator, createValue, getAncestorBuiltinType, getApplicableFacetNames, getFacetObject, getName, getNamespaceUri, isAlwaysValid, isDerivedTypeOf, isDerivedTypeOf, isValid, localize, localize, localize, localize, localize, needValueCheck, sameValue, valueHashCode
public final XSDatatypeImpl itemType
private static final long serialVersionUID
public ListType(java.lang.String nsUri, java.lang.String newTypeName, XSDatatypeImpl itemType) throws org.relaxng.datatype.DatatypeException
org.relaxng.datatype.DatatypeException
public final java.lang.String displayName()
XSDatatype
This method is an ad-hoc method and there is no corresponding property in the spec.
displayName
in interface XSDatatype
public final int getVariety()
getVariety
in interface XSDatatype
public final XSDatatype getBaseType()
XSDatatype
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.
getBaseType
in interface XSDatatype
public boolean isContextDependent()
isContextDependent
in interface org.relaxng.datatype.Datatype
isContextDependent
in class XSDatatypeImpl
public int getIdType()
XSDatatypeImpl
ID_TYPE_NULL
is returned by default.getIdType
in interface org.relaxng.datatype.Datatype
getIdType
in class XSDatatypeImpl
public final boolean isFinal(int derivationType)
XSDatatype
In the terminology of the spec, this method can be used to examine the final property of this component.
isFinal
in interface XSDatatype
isFinal
in class ConcreteType
derivationType
- one of pre-defined values (DERIVATION_BY_XXX).public final int isFacetApplicable(java.lang.String facetName)
XSDatatype
isFacetApplicable
in interface XSDatatype
protected final boolean checkFormat(java.lang.String content, org.relaxng.datatype.ValidationContext context)
checkFormat
in class XSDatatypeImpl
public java.lang.Object _createValue(java.lang.String content, org.relaxng.datatype.ValidationContext context)
XSDatatypeImpl
_createValue
in class XSDatatypeImpl
public java.lang.Class getJavaObjectType()
DatabindableDatatype
getJavaObjectType
in interface DatabindableDatatype
public final int countLength(java.lang.Object value)
Discrete
countLength
in interface Discrete
public java.lang.String convertToLexicalValue(java.lang.Object value, SerializationContext context)
XSDatatype
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.
convertToLexicalValue
in interface XSDatatype
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.protected void _checkValid(java.lang.String content, org.relaxng.datatype.ValidationContext context) throws org.relaxng.datatype.DatatypeException
_checkValid
in class ConcreteType
org.relaxng.datatype.DatatypeException