Oracle Fusion Middleware Java API Reference for Oracle ADF Model
11g Release 1 (11.1.1.4.0)

E10653-05

oracle.jbo.rules
Class JboPrecisionScaleValidator

java.lang.Object
  extended by oracle.jbo.common.NamedObjectImpl
      extended by oracle.jbo.rules.AbstractValidator
          extended by oracle.jbo.rules.JboAbstractValidator
              extended by oracle.jbo.rules.JboPrecisionScaleValidator
All Implemented Interfaces:
DefPersistable, PersistentDefinition, JboValidatorHints, JboValidatorInterface, ValidatorConstants, VariableManagerOwner, VariableManagerOwnerBase

public class JboPrecisionScaleValidator
extends JboAbstractValidator
implements JboValidatorInterface

Implements precision and scale validation for numeric attributes and length validation for string and character attributes. The framework applies this validator to Entity Object attributes whose definitions inlcude XML metadata precision or scale values.

This validator is invoked by an Entity Objects's validate() method when an attribute with defined precision or scale is modified.


Field Summary
static int DEFAULT_SCALE
           
 
Fields inherited from class oracle.jbo.rules.JboAbstractValidator
mValidatingAttr
 
Fields inherited from class oracle.jbo.rules.AbstractValidator
mbInverse, mDescription, mErrorMessageClass, mMsgExpr, mMsgId, mMsgIds, mResourceBundleId, mTriggeringAttributeNames, mTriggeringAttributes, mValidatingAttrName
 
Fields inherited from class oracle.jbo.common.NamedObjectImpl
mFullName, mObjName, mParent, mProperties, RES_ID_SUFFIX
 
Fields inherited from interface oracle.jbo.rules.ValidatorConstants
ATTR, ATTR_STR, BETWEEN, EO, EO_STR, EQUALTO, EXPR, EXPR_STR, GREATERTHAN, GREATERTHANEQUALTO, JBO, JBO_STR, LESSTHAN, LESSTHANEQUALTO, LITERAL, LITERAL_STR, MANDATORY_STR, mCompOperTypeVals, mRhsTypeVals, mSeverityVals, NOTEQUALTO, PNAME_CompareLength, PNAME_CompareType, PNAME_CompareValue, PNAME_DataType, PNAME_Description, PNAME_ErrorMessageExpressions, PNAME_ErrorMessageId, PNAME_ErrorMessageIds, PNAME_Exposed, PNAME_ExprValueSupplier, PNAME_ForPersonalization, PNAME_Inverse, PNAME_Name, PNAME_OnAttribute, PNAME_OnAttributes, PNAME_OnCondition, PNAME_OperandType, PNAME_Severity, PNAME_Subtype, PNAME_TransactionLevel, PNAME_TransientExpression, PNAME_Trigger, PNAME_ValidationBeanClass, PNAME_ValName, PNAME_xmlns, PRECISION_SCALE_STR, SEVERITY_ERROR, SEVERITY_RECOVERABLE_ERROR, SEVERITY_VETOABLE_WARNING, SEVERITY_WARNING, SQL, SQL_STR, VALIDATION_XMLNS, VALIDATOR_MSG_ID_PREFIX, VO, VO_STR, VO_USAGE, VO_USAGE_STR
 
Fields inherited from interface oracle.jbo.mom.xml.DefPersistable
XML_STATEMENT
 
Constructor Summary
JboPrecisionScaleValidator()
          Creates a default validator.
 
Method Summary
 java.lang.String getDefXMLElementTag()
           
 java.lang.String getDescription()
          Gets the description of this validator.
 java.lang.String getErrorMsgId()
           
 int getPrecision()
          Gets the precision value.
 int getScale()
          Gets the scale value.
static JboPrecisionScaleValidator getSingleton()
           
protected  void initialize(JboValidatorContext evObj)
           
 void setDescription(java.lang.String description)
          Sets the description of this validator.
 void setPrecision(int prec)
          Sets the precision value.
 void setScale(int scale)
          Sets the scale value.
 java.lang.String toString()
          Internal: Applications should not use this method.
 boolean validateValue(java.lang.Object value)
          Validates a value.
static boolean validateValue(java.lang.Object value, int prec, int scale)
          Tests the Entity Object against this validator's precision and scale values.
 boolean validateValueWithContext(JboValidatorContext evObj, java.lang.Object value)
          Validates an Entity Object by invoking validateValue().
 
Methods inherited from class oracle.jbo.rules.JboAbstractValidator
applyValidatorPersonalization, clone, closeObject, getDefXMLNameSpace, getErrorReportAttrDef, getFullName, getImageLoc, getName, getOrigObject, getTriggeringAttributeDefs, getValidatingAttributeName, getValidatorType, getValueToValidate, getXMLElementTag, isForPersonalization, isReadOnly, loadXMLContents, raiseException, resolve, setForPersonalization, setInitialized, setName, setNewValue, setOrigObject, setValidatingAttribute, setValidatingAttribute, validate, validateMany, writeContents, writeObject
 
Methods inherited from class oracle.jbo.rules.AbstractValidator
applyValidatorPersonalization, convertToJava, copyErrorMsgInfo, createException, createExprValueSupplier, ensureVariableManager, getErrorMessageClass, getErrorMsgExpressions, getErrorMsgIds, getExprValueSupplierType, getInverse, getMessageBundleClass, getOnCondition, getOwner, getResourceBundleDef, getResourceBundleId, getSeverity, getTriggeringAttributeNames, getValidatorSubType, getVariableManager, hasErrorMsg, hasValidationCondition, hasVariables, initErrMsgParms, initTriggeringAttributeDefs, initValidatorProperties, isDirty, isMovedToAttrLevel, isNew, isTransactionLevel, isTransactionLevel, isValidatable, loadVariables, parseSeverityStr, prepareException, raiseException, readStringArrayList, readTransientExpression, readUserObject, readUserObject, readUserObjectTrim, readUserObjectTrim, readUserStringElementsMap, setDefaultDescription, setDirty, setErrorMessageClass, setErrorMsgExpressions, setErrorMsgId, setErrorMsgIds, setExprValueSupplierType, setInverse, setNew, setOnCondition, setResourceBundleDef, setResourceBundleId, setSeverity, setTransactionLevel, setTriggeringAttributeNames, setValidatingAttributeName, writeChildren
 
Methods inherited from class oracle.jbo.common.NamedObjectImpl
allocatePropertyMap, getAllProperties, getParent, getProperties, getPropertiesAsStrings, getPropertiesMap, getProperty, getProperty, getPropertyExpressionsMap, getPropertyMap, getResourcesFromBundle, getStringFromMessageBundle, isPropertyExpression, mergePropertyMap, refreshProperty, removeProperty, removeProperty, requiresNamePrefixedResId, resolveObjectProperty, resolvePropertyRaw, setFullName, setParent, setPropertiesMap, setPropertiesMap2, setProperty, setProperty, setPropertyExpression, setPropertyMap
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface oracle.jbo.rules.JboValidatorInterface
validate
 
Methods inherited from interface oracle.jbo.rules.JboValidatorHints
getTriggeringAttributeNames, initValidatorProperties, isTransactionLevel
 
Methods inherited from interface oracle.jbo.mom.xml.DefPersistable
isDirty, isNew, setDirty, setNew
 
Methods inherited from interface oracle.jbo.mom.xml.PersistentDefinition
writeChildren
 

Field Detail

DEFAULT_SCALE

public static final int DEFAULT_SCALE
See Also:
Constant Field Values
Constructor Detail

JboPrecisionScaleValidator

public JboPrecisionScaleValidator()
Creates a default validator.

Use setPrecision and setScale to configure the validatior.

Method Detail

getSingleton

public static JboPrecisionScaleValidator getSingleton()

initialize

protected void initialize(JboValidatorContext evObj)
Overrides:
initialize in class JboAbstractValidator

validateValueWithContext

public boolean validateValueWithContext(JboValidatorContext evObj,
                                        java.lang.Object value)
Validates an Entity Object by invoking validateValue().

Overrides:
validateValueWithContext in class JboAbstractValidator
Parameters:
evObj - an event object indicating the Entity Object to be validated.
Throws:
AttrSetValException - if validation fails.

validateValue

public boolean validateValue(java.lang.Object value)
Description copied from class: JboAbstractValidator
Validates a value.

Subclasses must implement this method.

Specified by:
validateValue in class JboAbstractValidator
Parameters:
value - the object to be validated.
Returns:
true if the object is valid.

validateValue

public static boolean validateValue(java.lang.Object value,
                                    int prec,
                                    int scale)
Tests the Entity Object against this validator's precision and scale values.

The precision value is the maximum allowed number of digits in a number, or the number of characters in a string. The scale value, when less than zero, is the minimum number of digits following the decimal point, and when greater than zero, is the minimum number of digits preceeding the decimal point.

Parameters:
value - the Entity Object to be tested.
Returns:
true if value is valid.

getPrecision

public int getPrecision()
Gets the precision value. For strings, "precision" refers to length.

Returns:
the precision value.

getScale

public int getScale()
Gets the scale value. If scale validation is not to be performed this value is -127.


setPrecision

public void setPrecision(int prec)
Sets the precision value. For strings, "precision" refers to length.

Parameters:
prec - the new precision value.

setScale

public void setScale(int scale)
Sets the scale value. If scale validation is not to be performed this value should be -127.

Parameters:
scale - the new scale value.

toString

public java.lang.String toString()
Internal: Applications should not use this method.

Overrides:
toString in class java.lang.Object

getDescription

public java.lang.String getDescription()
Gets the description of this validator.

Specified by:
getDescription in interface JboValidatorInterface
Overrides:
getDescription in class AbstractValidator
Returns:
a documentation string.

getErrorMsgId

public java.lang.String getErrorMsgId()
Overrides:
getErrorMsgId in class JboAbstractValidator

setDescription

public void setDescription(java.lang.String description)
Sets the description of this validator.

Specified by:
setDescription in interface JboValidatorInterface
Overrides:
setDescription in class AbstractValidator
Parameters:
description - a documentation string.

getDefXMLElementTag

public java.lang.String getDefXMLElementTag()
Specified by:
getDefXMLElementTag in interface PersistentDefinition
Specified by:
getDefXMLElementTag in class JboAbstractValidator

Oracle Fusion Middleware Java API Reference for Oracle ADF Model
11g Release 1 (11.1.1.4.0)

E10653-05

Copyright © 1997, 2011, Oracle. All rights reserved.