com.sun.msv.datatype.xsd
Class Base64BinaryType

java.lang.Object
  |
  +--com.sun.msv.datatype.xsd.XSDatatypeImpl
        |
        +--com.sun.msv.datatype.xsd.ConcreteType
              |
              +--com.sun.msv.datatype.xsd.BinaryBaseType
                    |
                    +--com.sun.msv.datatype.xsd.Base64BinaryType
All Implemented Interfaces:
DatabindableDatatype, Datatype, com.sun.msv.datatype.xsd.Discrete, Serializable, XSDatatype

public class Base64BinaryType
extends com.sun.msv.datatype.xsd.BinaryBaseType

"base64Binary" type. type of the value object is BinaryValueType. See http://www.w3.org/TR/xmlschema-2/#base64Binary for the spec

Author:
Kohsuke KAWAGUCHI
See Also:
Serialized Form

Field Summary
static Base64BinaryType theInstance
           
 
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
 
Method Summary
 Object _createJavaObject(String literal, ValidationContext context)
           
 Object _createValue(String lexicalValue, ValidationContext context)
           
 String convertToLexicalValue(Object value, SerializationContext context)
          converts value object back to the corresponding value in the lexical space.
 int countLength(Object value)
          count the number of item in value type.
 XSDatatype getBaseType()
          gets the base type of this type.
 Class getJavaObjectType()
          gets the type of the objects that are created by the createJavaObject method.
 int isFacetApplicable(String facetName)
          returns if the specified facet is applicable to this datatype.
 String serializeJavaObject(Object value, SerializationContext context)
          converts a value object back to the lexical representation.
 
Methods inherited from class com.sun.msv.datatype.xsd.ConcreteType
displayName, getConcreteType, getVariety, isFinal
 
Methods inherited from class com.sun.msv.datatype.xsd.XSDatatypeImpl
checkValid, createJavaObject, createStreamingValidator, createValue, getFacetObject, getName, isDerivedTypeOf, isDerivedTypeOf, isValid, localize, localize, localize, localize, localize, sameValue, valueHashCode
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

theInstance

public static final Base64BinaryType theInstance
Method Detail

_createValue

public Object _createValue(String lexicalValue,
                           ValidationContext context)

serializeJavaObject

public String serializeJavaObject(Object value,
                                  SerializationContext context)
Description copied from interface: DatabindableDatatype
converts a value object back to the lexical representation.

This method is a kind of the "reverse" function of the createJavaObject method.

Overrides:
serializeJavaObject in class com.sun.msv.datatype.xsd.BinaryBaseType
Following copied from interface: com.sun.msv.datatype.DatabindableDatatype
Parameters:
context - The context object is used to obtain information necessary to serialize the value object. For example, QName type uses the context to encode the URI into a prefix.
Returns:
null if the given object is invalid with respect to this datatype.
Throws:
IllegalArgumentException - If the type of the specified value object is not recognized, this exception is thrown. For example, if you pass a String object to the serializeJavaObject method of the "positiveInteger" type, this exception is thrown.

convertToLexicalValue

public String convertToLexicalValue(Object value,
                                    SerializationContext context)
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.

Following copied from interface: com.sun.msv.datatype.xsd.XSDatatype
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.
Throws:
IllegalArgumentException - if the type of the given object is not the expected one. For example, this exception is thrown if you pass a BigInteger object to the "gYear" type.

isFacetApplicable

public final int isFacetApplicable(String facetName)
Description copied from interface: XSDatatype
returns if the specified facet is applicable to this datatype.
Following copied from interface: com.sun.msv.datatype.xsd.XSDatatype
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.

getBaseType

public final XSDatatype 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.


countLength

public final int countLength(Object value)
Description copied from interface: com.sun.msv.datatype.xsd.Discrete
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

_createJavaObject

public Object _createJavaObject(String literal,
                                ValidationContext context)
Overrides:
_createJavaObject in class ConcreteType

getJavaObjectType

public Class getJavaObjectType()
Description copied from interface: DatabindableDatatype
gets the type of the objects that are created by the createJavaObject method.