it.eng.spago.validation.fieldvalidators
Class NumericValidator

java.lang.Object
  extended by it.eng.spago.dispatching.service.DefaultRequestContext
      extended by it.eng.spago.validation.fieldvalidators.AbstractFieldValidator
          extended by it.eng.spago.validation.fieldvalidators.NumericValidator
All Implemented Interfaces:
RequestContextIFace, FieldValidatorIFace, java.io.Serializable
Direct Known Subclasses:
DecimalValidator, NumericEnumerationValidator

public class NumericValidator
extends AbstractFieldValidator

Author:
zoppello This class checks if a field is a valid number. This implementation need that this validator should be configured with parameters regarding language and country, with this information the notion of "decimal separator" will depend on Locale object istantiate using this information For Example: If the config section the Italian Locale will be used This Validator will convert the original value in a java.lang.Double object if it succeed and this will be putted in TYPED_SERVICE_REQUEST with an alias if this is configured in validation.xml file
See Also:
Serialized Form

Field Summary
static java.lang.String ERROR_MAXVALUE_IDENTIFIER
           
static java.lang.String ERROR_MIN_MAX_VALUE_IDENTIFIER
           
static java.lang.String ERROR_MINVALUE_IDENTIFIER
           
static java.lang.String ERRORE_CAMPO_NUMERICO
           
static java.lang.String ERRORE_MAX_VALUE
           
static java.lang.String ERRORE_MIN_MAX_VALUE
           
static java.lang.String ERRORE_MIN_VALUE
           
 
Fields inherited from class it.eng.spago.validation.fieldvalidators.AbstractFieldValidator
DEFAULT_VALUE_IDENTIFIER, GENERIC_ERROR_IDENTIFIER
 
Constructor Summary
NumericValidator()
           
 
Method Summary
 java.lang.String getFieldAlias()
           
 java.util.Locale getLocale()
           
 java.util.List getMessagesParams()
           
 java.text.NumberFormat getNumberFormat()
           
 void handleDecimals(SourceBean serviceRequest, java.lang.String fieldName, java.lang.String value, java.util.Map fieldValidationParams, char decimalSeparator, java.util.List params)
          Handle optional checks on the decimal part of the number
 void init(SourceBean config)
          Initialize The validator with his configuration
 void setFieldAlias(java.lang.String fieldAlias)
           
 void setMessagesParams(java.util.List messagesParams)
           
 void validateField(SourceBean serviceRequest, java.lang.String fieldName, java.lang.String value, java.util.Map fieldValidationParams)
          Implements the logic described in JavaDoc of the class
 
Methods inherited from class it.eng.spago.validation.fieldvalidators.AbstractFieldValidator
getConfig, getParameter, getUserFieldName, saveTypedValue, setDefault
 
Methods inherited from class it.eng.spago.dispatching.service.DefaultRequestContext
getErrorHandler, getRequestContainer, getResponseContainer, getServiceRequest, getServiceResponse, setRequestContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ERROR_MAXVALUE_IDENTIFIER

public static final java.lang.String ERROR_MAXVALUE_IDENTIFIER
See Also:
Constant Field Values

ERROR_MINVALUE_IDENTIFIER

public static final java.lang.String ERROR_MINVALUE_IDENTIFIER
See Also:
Constant Field Values

ERROR_MIN_MAX_VALUE_IDENTIFIER

public static final java.lang.String ERROR_MIN_MAX_VALUE_IDENTIFIER
See Also:
Constant Field Values

ERRORE_CAMPO_NUMERICO

public static final java.lang.String ERRORE_CAMPO_NUMERICO
See Also:
Constant Field Values

ERRORE_MAX_VALUE

public static final java.lang.String ERRORE_MAX_VALUE
See Also:
Constant Field Values

ERRORE_MIN_VALUE

public static final java.lang.String ERRORE_MIN_VALUE
See Also:
Constant Field Values

ERRORE_MIN_MAX_VALUE

public static final java.lang.String ERRORE_MIN_MAX_VALUE
See Also:
Constant Field Values
Constructor Detail

NumericValidator

public NumericValidator()
Method Detail

init

public void init(SourceBean config)
Description copied from class: AbstractFieldValidator
Initialize The validator with his configuration

Specified by:
init in interface FieldValidatorIFace
Overrides:
init in class AbstractFieldValidator
See Also:
FieldValidatorIFace.init(it.eng.spago.base.SourceBean)

getLocale

public java.util.Locale getLocale()
Returns:
The Locale built from configuration information.

getNumberFormat

public java.text.NumberFormat getNumberFormat()
Returns:
The NumberFormat built according to the locale created from configuration information.

getFieldAlias

public java.lang.String getFieldAlias()

setFieldAlias

public void setFieldAlias(java.lang.String fieldAlias)

getMessagesParams

public java.util.List getMessagesParams()

setMessagesParams

public void setMessagesParams(java.util.List messagesParams)

validateField

public void validateField(SourceBean serviceRequest,
                          java.lang.String fieldName,
                          java.lang.String value,
                          java.util.Map fieldValidationParams)
                   throws EMFValidationError
Implements the logic described in JavaDoc of the class

Parameters:
serviceRequest - Service request
fieldName - Field name
value - Value to validate
fieldValidationParams - Configuration parameters
Throws:
EMFValidationError - Validation error if the value is not valid
See Also:
FieldValidatorIFace.validateField(it.eng.spago.base.SourceBean, java.lang.String, java.lang.String, java.util.Map)

handleDecimals

public void handleDecimals(SourceBean serviceRequest,
                           java.lang.String fieldName,
                           java.lang.String value,
                           java.util.Map fieldValidationParams,
                           char decimalSeparator,
                           java.util.List params)
                    throws EMFValidationError
Handle optional checks on the decimal part of the number

Throws:
EMFValidationError
See Also:
FieldValidatorIFace.validateField(it.eng.spago.base.SourceBean, java.lang.String, java.lang.String, java.util.Map)