com.sun.msv.datatype.xsd
Class FractionDigitsFacet

java.lang.Object
  extended by com.sun.msv.datatype.xsd.XSDatatypeImpl
      extended by com.sun.msv.datatype.xsd.DataTypeWithFacet
          extended by com.sun.msv.datatype.xsd.FractionDigitsFacet
All Implemented Interfaces:
DatabindableDatatype, XSDatatype, Serializable, org.relaxng.datatype.Datatype

public class FractionDigitsFacet
extends DataTypeWithFacet

'fractionDigits' facet. this class holds these facet information and performs validation.

Author:
Kohsuke KAWAGUCHI
See Also:
Serialized Form

Field Summary
 int scale
          maximum number of fraction digits
 
Fields inherited from class com.sun.msv.datatype.xsd.DataTypeWithFacet
baseType, concreteType, facetName, isFacetFixed
 
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 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
 
Fields inherited from interface org.relaxng.datatype.Datatype
ID_TYPE_ID, ID_TYPE_IDREF, ID_TYPE_IDREFS, ID_TYPE_NULL
 
Constructor Summary
FractionDigitsFacet(String nsUri, String typeName, XSDatatypeImpl baseType, int _scale, boolean _isFixed)
           
 
Method Summary
 Object _createValue(String literal, org.relaxng.datatype.ValidationContext context)
          converts a whitespace-processed lexical value into the corresponding value object
protected  boolean checkFormat(String literal, org.relaxng.datatype.ValidationContext context)
           
protected  boolean checkLexicalConstraint(String content)
           
protected static int countScale(String literal)
          count the number of fractional digits.
protected  void diagnoseByFacet(String content, org.relaxng.datatype.ValidationContext context)
           
 
Methods inherited from class com.sun.msv.datatype.xsd.DataTypeWithFacet
_checkValid, _createJavaObject, convertToLexicalValue, displayName, getBaseType, getConcreteType, getFacetObject, getIdType, getJavaObjectType, getVariety, isContextDependent, isFacetApplicable, isFinal, needValueCheck, serializeJavaObject
 
Methods inherited from class com.sun.msv.datatype.xsd.XSDatatypeImpl
checkValid, createJavaObject, createStreamingValidator, createValue, getAncestorBuiltinType, getApplicableFacetNames, getName, getNamespaceUri, isAlwaysValid, isDerivedTypeOf, isDerivedTypeOf, isValid, localize, localize, localize, localize, localize, sameValue, valueHashCode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

scale

public final int scale
maximum number of fraction digits

Constructor Detail

FractionDigitsFacet

public FractionDigitsFacet(String nsUri,
                           String typeName,
                           XSDatatypeImpl baseType,
                           int _scale,
                           boolean _isFixed)
                    throws org.relaxng.datatype.DatatypeException
Throws:
org.relaxng.datatype.DatatypeException
Method Detail

checkLexicalConstraint

protected boolean checkLexicalConstraint(String content)

diagnoseByFacet

protected void diagnoseByFacet(String content,
                               org.relaxng.datatype.ValidationContext context)
                        throws org.relaxng.datatype.DatatypeException
Specified by:
diagnoseByFacet in class DataTypeWithFacet
Throws:
org.relaxng.datatype.DatatypeException

countScale

protected static final int countScale(String literal)
count the number of fractional digits. this method can assume that the given literal is appropriate as an decimal value. "the number of fractional digits" is defined in http://www.w3.org/TR/xmlschema-2/#number


checkFormat

protected final boolean checkFormat(String literal,
                                    org.relaxng.datatype.ValidationContext context)
Specified by:
checkFormat in class XSDatatypeImpl

_createValue

public final Object _createValue(String literal,
                                 org.relaxng.datatype.ValidationContext context)
Description copied from class: XSDatatypeImpl
converts a whitespace-processed lexical value into the corresponding value object

Specified by:
_createValue in class XSDatatypeImpl


MSV