Class StringType
- All Implemented Interfaces:
DatabindableDatatype
,Discrete
,XSDatatype
,Serializable
,org.relaxng.datatype.Datatype
- Direct Known Subclasses:
NormalizedStringType
,TokenType
java.lang.String
.
See http://www.w3.org/TR/xmlschema-2/#string for the spec- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final boolean
Value returned from the isAlwaysValid method.private static final long
static final StringType
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
ConstructorsModifierConstructorDescriptionprotected
StringType
(String typeName, WhiteSpaceProcessor whiteSpace) protected
StringType
(String typeName, WhiteSpaceProcessor whiteSpace, boolean _isAlwaysValid) -
Method Summary
Modifier and TypeMethodDescription_createValue
(String lexicalValue, org.relaxng.datatype.ValidationContext context) converts a whitespace-processed lexical value into the corresponding value objectprotected final boolean
checkFormat
(String content, org.relaxng.datatype.ValidationContext context) convertToLexicalValue
(Object value, SerializationContext context) converts value object back to the corresponding value in the lexical space.final int
countLength
(Object value) count the number of item in value type.gets the base type of this type.gets the type of the objects that are created by the createJavaObject method.boolean
Returns true if this datatype is known to accept any string.final int
isFacetApplicable
(String facetName) returns if the specified facet is applicable to this datatype.Methods inherited from class com.sun.msv.datatype.xsd.BuiltinAtomicType
displayName, getVariety, readResolve
Methods inherited from class com.sun.msv.datatype.xsd.ConcreteType
_checkValid, _createJavaObject, getConcreteType, isFinal, serializeJavaObject
Methods inherited from class com.sun.msv.datatype.xsd.XSDatatypeImpl
checkValid, createJavaObject, createStreamingValidator, createValue, getAncestorBuiltinType, getApplicableFacetNames, getFacetObject, getIdType, getName, getNamespaceUri, isContextDependent, isDerivedTypeOf, isDerivedTypeOf, isValid, localize, localize, localize, localize, localize, needValueCheck, sameValue, valueHashCode
-
Field Details
-
theInstance
-
isAlwaysValid
private final boolean isAlwaysValidValue returned from the isAlwaysValid method. -
serialVersionUID
private static final long serialVersionUID- See Also:
-
-
Constructor Details
-
StringType
-
StringType
-
-
Method Details
-
getBaseType
Description copied from interface:XSDatatype
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.
- Specified by:
getBaseType
in interfaceXSDatatype
-
checkFormat
- Specified by:
checkFormat
in classXSDatatypeImpl
-
_createValue
Description copied from class:XSDatatypeImpl
converts a whitespace-processed lexical value into the corresponding value object- Specified by:
_createValue
in classXSDatatypeImpl
-
getJavaObjectType
Description copied from interface:DatabindableDatatype
gets the type of the objects that are created by the createJavaObject method.- Specified by:
getJavaObjectType
in interfaceDatabindableDatatype
-
convertToLexicalValue
Description copied from interface:XSDatatype
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.- Specified by:
convertToLexicalValue
in interfaceXSDatatype
- Parameters:
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.
-
countLength
Description copied from interface:Discrete
count the number of item in value type. Actual semantics of this method varies.- Specified by:
countLength
in interfaceDiscrete
-
isFacetApplicable
Description copied from interface:XSDatatype
returns if the specified facet is applicable to this datatype.- Specified by:
isFacetApplicable
in 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.
-
isAlwaysValid
public boolean isAlwaysValid()Description copied from interface:XSDatatype
Returns true if this datatype is known to accept any string. This is just a hint that allows the client code to do certain optimization.This method can return false even if the datatype actually accepts any string. That is, it's perfectly OK for any datatype to return false from this method.
- Specified by:
isAlwaysValid
in interfaceXSDatatype
- Overrides:
isAlwaysValid
in classXSDatatypeImpl
-