org.exolab.castor.xml.validators

Class DecimalValidator

Implemented Interfaces:
TypeValidator

public class DecimalValidator
extends PatternValidator
implements TypeValidator

The Decimal Validation class. This class handles validation for the BigDecimal type.
Version:
$Revision: 6587 $ $Date: 2006-04-25 15:08:23 -0600 (Tue, 25 Apr 2006) $
Authors:
Arnaud Blandin
Edward Kuns

Nested Class Summary

Nested classes/interfaces inherited from class org.exolab.castor.xml.validators.PatternValidator

PatternValidator.DefaultRegExpEvaluator

Constructor Summary

DecimalValidator()
Creates a new DecimalValidator with no restrictions.

Method Summary

void
clearFixed()
Clears the fixed value for this BigIntegerValidator.
void
clearMax()
Clears the maximum value for this DecimalValidator.
void
clearMin()
Clears the minimum value for this DecimalValidator.
BigDecimal
getFixed()
Returns the configured fixed value for BigDecimal validation.
BigDecimal
getMaxExclusive()
Returns the configured exclusive maximum value for BigDecimal validation.
BigDecimal
getMaxInclusive()
Returns the configured inclusive maximum value for BigDecimal validation.
BigDecimal
getMinExclusive()
Returns the configured exclusive minimum value for BigDecimal validation.
BigDecimal
getMinInclusive()
Returns the configured inclusive minimum value for BigDecimal validation.
boolean
hasFixed()
Returns true if a fixed value to validate against has been set.
void
setFixed(BigDecimal fixedValue)
Sets the fixed value for BigDecimal validation.
void
setFractionDigits(int fractionDig)
Sets the maximum number of fraction digits for BigDecimal validation.
void
setMaxExclusive(BigDecimal maxValue)
Sets the maximum (exclusive) value for BigDecimal validation.
void
setMaxInclusive(BigDecimal maxValue)
Sets the maximum (inclusive) value for BigDecimal validation.
void
setMinExclusive(BigDecimal minValue)
Sets the minimum (exclusive) value for BigDecimal validation.
void
setMinInclusive(BigDecimal minValue)
Sets the minimum (inclusive) value for BigDecimal validation.
void
setTotalDigits(int totalDig)
Sets the maximum number of digits for BigDecimal validation.
void
validate(BigDecimal bd, ValidationContext context)
Validates the given Object.
void
validate(Object object)
Validates the given Object.
void
validate(Object object, ValidationContext context)
Validates the given Object.

Methods inherited from class org.exolab.castor.xml.validators.PatternValidator

addPattern, clearPatterns, getPattern, getPatterns, hasPattern, isNillable, setNillable, setPattern, validate, validate

Constructor Details

DecimalValidator

public DecimalValidator()
Creates a new DecimalValidator with no restrictions.

Method Details

clearFixed

public void clearFixed()
Clears the fixed value for this BigIntegerValidator.

clearMax

public void clearMax()
Clears the maximum value for this DecimalValidator.

clearMin

public void clearMin()
Clears the minimum value for this DecimalValidator.

getFixed

public BigDecimal getFixed()
Returns the configured fixed value for BigDecimal validation. Returns null if no fixed value has been configured.
Returns:
the fixed value to validate against.

getMaxExclusive

public BigDecimal getMaxExclusive()
Returns the configured exclusive maximum value for BigDecimal validation. Returns null if no exclusive maximum has been configured.
Returns:
the maximum exclusive value to validate against.

getMaxInclusive

public BigDecimal getMaxInclusive()
Returns the configured inclusive maximum value for BigDecimal validation. Returns null if no inclusive maximum has been configured.
Returns:
the maximum inclusive value to validate against.

getMinExclusive

public BigDecimal getMinExclusive()
Returns the configured exclusive minimum value for BigDecimal validation. Returns null if no exclusive minimum has been configured.
Returns:
the minimum exclusive value to validate against.

getMinInclusive

public BigDecimal getMinInclusive()
Returns the configured inclusive minimum value for BigDecimal validation. Returns null if no inclusive minimum has been configured.
Returns:
the minimum inclusive value to validate against.

hasFixed

public boolean hasFixed()
Returns true if a fixed value to validate against has been set.
Returns:
true if a fixed value has been set.

setFixed

public void setFixed(BigDecimal fixedValue)
Sets the fixed value for BigDecimal validation.

NOTE: If maximum and/or minimum values have been set and the fixed value is not within that max/min range, then no BigDecimal will pass validation. This is as according to the XML Schema spec.

Parameters:
fixedValue - the fixed value that a BigDecimal validated with this validator must be equal to.

setFractionDigits

public void setFractionDigits(int fractionDig)
Sets the maximum number of fraction digits for BigDecimal validation. To pass validation, a BigDecimal must have this many digits or fewer following the decimal point. Trailing zeros after the decimal point are not counted.
Parameters:
fractionDig - the maximum (inclusive) number of fraction digits for BigDecimal validation. (must be > 0)

setMaxExclusive

public void setMaxExclusive(BigDecimal maxValue)
Sets the maximum (exclusive) value for BigDecimal validation. To pass validation, a BigDecimal must be less than this value.
Parameters:
maxValue - the maximum (exclusive) value for BigDecimal validation.

setMaxInclusive

public void setMaxInclusive(BigDecimal maxValue)
Sets the maximum (inclusive) value for BigDecimal validation. To pass validation, a BigDecimal must be less than or equal to this value.
Parameters:
maxValue - the maximum (inclusive) value for BigDecimal validation.

setMinExclusive

public void setMinExclusive(BigDecimal minValue)
Sets the minimum (exclusive) value for BigDecimal validation. To pass validation, a BigDecimal must be greater than this value.
Parameters:
minValue - the minimum (exclusive) value for BigDecimal validation.

setMinInclusive

public void setMinInclusive(BigDecimal minValue)
Sets the minimum (inclusive) value for BigDecimal validation. To pass validation, a BigDecimal must be greater than or equal to this value.
Parameters:
minValue - the minimum (inclusive) value for BigDecimal validation.

setTotalDigits

public void setTotalDigits(int totalDig)
Sets the maximum number of digits for BigDecimal validation. To pass validation, a BigDecimal must have this many digits or fewer. Leading zeros are not counted. Trailing zeros after the decimal point are not counted.
Parameters:
totalDig - the maximum (inclusive) number of digits for BigDecimal validation. (must be > 0)

validate

public void validate(BigDecimal bd,
                     ValidationContext context)
            throws ValidationException
Validates the given Object.
Parameters:
bd - the BigDecimal to validate
context - the ValidationContext
Throws:
ValidationException - if the object fails validation.

validate

public void validate(Object object)
            throws ValidationException
Validates the given Object.
Parameters:
object - the Object to validate
Throws:
ValidationException - if the object fails validation.

validate

public void validate(Object object,
                     ValidationContext context)
            throws ValidationException
Validates the given Object.
Specified by:
validate in interface TypeValidator
Overrides:
validate in interface PatternValidator
Parameters:
object - the Object to validate
context - the ValidationContext
Throws:
ValidationException - if the object fails validation.

Intalio Inc. (C) 1999-2008. All rights reserved http://www.intalio.com