public class JboExprCompareValidator extends JboCompareValidator implements JboValidatorHints, JboExprValidator
ValidatorConstants.MessageFlavormOperandType, mOperationType, mRhsAttrName, mRValue, UNINITmValidatingAttrmbInverse, mDescription, mErrorMessageClass, mMsgId, mMsgIds, mResourceBundleId, mTriggeringAttributeNames, mTriggeringAttributes, mValidatingAttrNamemFullName, mObjName, mParent, mProperties, RES_ID_SUFFIX, RESID_SUFFIXATTR, 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_MessageFlavor, 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_INDEX, SEVERITY_VETOABLE_WARNING, SEVERITY_WARNING, SQL, SQL_STR, TRIGGER_SUBTYPE_PREFIX, VALIDATION_XMLNS, VALIDATOR_MSG_ID_PREFIX, VO, VO_STR, VO_USAGE, VO_USAGE_STRXML_STATEMENT| Constructor and Description | 
|---|
JboExprCompareValidator()  | 
JboExprCompareValidator(boolean inverse,
                       int operType,
                       java.lang.String expr)  | 
JboExprCompareValidator(boolean inverse,
                       java.lang.String expr)  | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
applyDiffChildren(DifferDetails dif,
                 DiffResolver resolver)
Applies changes to children defs. 
 | 
java.lang.Object | 
clone()  | 
DifferDetails | 
diffChildren(DiffMergeable docDef,
            DiffMergeable orgDef,
            DifferDetails difDetails)
Performs diff of children defs. 
 | 
java.lang.String | 
getCompareValue()  | 
java.lang.String | 
getExpression()  | 
ExpressionDef | 
getExpressionDef()  | 
ExprEval.Privilege | 
getExpressionPrivilege()  | 
java.lang.Object | 
getRhsValue(java.lang.Object src)
Gets the right-side operand of this validator's expression. 
 | 
void | 
loadXMLContents(DefElement elem)  | 
void | 
resolve(ValidationManager owner,
       StructureDef structDef,
       PersistableDefObject defObj)  | 
void | 
setCompareValue(java.lang.String compareValue)  | 
void | 
setExpressionPrivilege(ExprEval.Privilege pr)  | 
void | 
setRhsValue(java.lang.Object rhsValue)
Sets the right-side operand of this validator's expression. 
 | 
boolean | 
validateValueWithContext(JboValidatorContext evObj,
                        java.lang.Object value)
Called internally by the framework with validation OnCondition is true or
 there is no validation OnCondition. 
 | 
void | 
writeChildren(DefWriter jos)
Writes the Object's children to the Persistent storage 
 | 
applyDiffContents, applyValidatorPersonalization, convertOperType, diffContents, getDefXMLElementTag, getOperatorTypeString, getRhsValue, getType, getValidatorSubType, getValidatorType, initialize, initValidatorProperties, setNewValue, setType, setValidatorSubType, toString, validateValue, validateValue, writeContentscloseObject, createException, editCodeSource, ensureCodeSource, getDefXMLNameSpace, getErrorMsgId, getErrorReportAttrDef, getFullName, getImageLoc, getMessageFlavor, getName, getOperationDefinitions, getOrigObject, getRowOperationDefinitions, getTriggeringAttributeDefs, getValidatingAttributeName, getValueToValidate, getXMLElementTag, isForPersonalization, isReadOnly, lookupExprDef, raiseException, setForPersonalization, setInitialized, setMessageFlavor, setName, setOrigObject, setValidatingAttribute, setValidatingAttribute, validate, validateMany, writeObjectapplyValidatorPersonalization, beginDiffObjects, convertToJava, copyErrorMsgInfo, createAttributeException, createExprValueSupplier, createRowException, diffObjects, ensureDifferDetails, ensureVariableManager, getDefTypeName, getDescription, getErrorMessageClass, getErrorMsgExpressionDefs, getErrorMsgExpressions, getErrorMsgIds, getExprIdentifier, getExprValueSupplierType, getInverse, getMergeableFullName, getMergeableName, getMessageBundleClass, getOnCondition, getOnConditionDef, getOwner, getResourceBundleDef, getResourceBundleId, getSeverity, getTriggeringAttributeNames, getTriggerType, getVariableManager, hasErrorMsg, hasValidationCondition, hasVariables, initErrMsgParms, initTriggeringAttributeDefs, isDirty, isMovedToAttrLevel, isNew, isTransactionLevel, isTransactionLevel, isValidatable, loadVariables, lookupMessageDef, parseSeverityStr, prepareException, raiseException, readStringArrayList, readTransientExpression, readTransientExpression, readUserObject, readUserObject, readUserObjectTrim, readUserObjectTrim, readUserStringElementsMap, setDefaultDescription, setDescription, setDirty, setErrorMessageClass, setErrorMsgExpressionDefs, setErrorMsgExpressions, setErrorMsgId, setErrorMsgIds, setExprValueSupplierType, setInverse, setNew, setOnCondition, setResourceBundleDef, setResourceBundleId, setSeverity, setTransactionLevel, setTriggeringAttributeNames, setTriggerTypeString, setValidatingAttributeNameallocatePropertyMap, getAllProperties, getParent, getProperties, getPropertiesAsStrings, getPropertiesMap, getProperty, getProperty, getPropertyExpressionDef, getPropertyExpressionsMap, getPropertyMap, getPropertyNamesSet, getRawPropertyValue, getResourcesFromBundle, getStringFromMessageBundle, isPropertyExpression, mergePropertyMap, refreshProperty, removeProperty, removeProperty, requiresNamePrefixedResId, resolveObjectProperty, resolvePropertyRaw, setFullName, setParent, setPropertiesMap, setPropertiesMap2, setProperty, setProperty, setPropertyExpression, setPropertyMapequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitapplyValidatorPersonalization, getName, getTriggeringAttributeDefs, getTriggeringAttributeNames, initValidatorProperties, isForPersonalization, isTransactionLevel, setForPersonalization, setNamegetDescription, setDescription, validategetFullName, getOrigObject, isDirty, isNew, setDirty, setNew, setOrigObjectgetDefXMLElementTag, getDefXMLNameSpace, getXMLElementTag, writeContents, writeObjectpublic JboExprCompareValidator()
public JboExprCompareValidator(boolean inverse,
                               java.lang.String expr)
public JboExprCompareValidator(boolean inverse,
                               int operType,
                               java.lang.String expr)
public java.lang.Object clone()
clone in class JboCompareValidatorpublic ExpressionDef getExpressionDef()
getExpressionDef in interface JboExprValidatorpublic java.lang.String getExpression()
getExpression in interface JboExprValidatorpublic ExprEval.Privilege getExpressionPrivilege()
public void setExpressionPrivilege(ExprEval.Privilege pr)
public java.lang.Object getRhsValue(java.lang.Object src)
JboCompareValidatorgetRhsValue in class JboCompareValidatorpublic void setRhsValue(java.lang.Object rhsValue)
JboCompareValidatorsetRhsValue in class JboCompareValidatorrhsValue - a reference object containing a literal value.public java.lang.String getCompareValue()
getCompareValue in class JboCompareValidatorpublic void setCompareValue(java.lang.String compareValue)
setCompareValue in class JboCompareValidatorpublic boolean validateValueWithContext(JboValidatorContext evObj, java.lang.Object value)
JboAbstractValidatorvalidateValueWithContext in class JboCompareValidatorpublic void resolve(ValidationManager owner, StructureDef structDef, PersistableDefObject defObj)
resolve in interface JboValidatorHintsresolve in class JboAbstractValidatorpublic void loadXMLContents(DefElement elem)
loadXMLContents in class JboCompareValidatorpublic void writeChildren(DefWriter jos)
PersistentDefinitionwriteChildren in interface PersistentDefinitionwriteChildren in class AbstractValidatorjos - the Output storage for persistencepublic DifferDetails diffChildren(DiffMergeable docDef, DiffMergeable orgDef, DifferDetails difDetails)
DiffMergeabledifDetails and
 return it at the end.
 For example, if this def has Child1 and Child2, its implementation should look something like:
    public DifferDetails diffChildren(DiffMergeable docDef, DiffMergeable orgDef, DifferDetails difDetails)
    {
       difDetails = diffChildrenChild1(docDef, orgDef, difDetails);
       difDetails = diffChildrenChild1(docDef, orgDef, difDetails);
       return difDetails;
    }
 
 
 where diffChildrenChild1() uses DifferChildren's
 helper method diffChildrenList to diff the child defs.
 
diffChildren in interface DiffMergeablediffChildren in class AbstractValidatordocDef - the document-level definitionorgDef - the original definition.  It could be
   null if the definition did not exist originallydifDetails - the DifferDetails that accumulate
   the details of diff from the document-level (top-level) defDifferDetails that has all the details
   of diffpublic void applyDiffChildren(DifferDetails dif, DiffResolver resolver)
DiffMergeabledif contains the
 changes to be applied to the children.  For each child def, this method
 should first retrieve the diff details for the child, which is of type
 DifferChildren.  Then, it should call
 DifferChildren.applyDiffChanges(oracle.jbo.mom.DiffChildrenMerge, oracle.jbo.mom.DiffResolver) to perform
 the change operation.
 
 applyChanges() requires a
 DiffChildrenMerge object, which has the insert,
 update, and remove methods.  'this' def object must
 provide implmementation of these operations.
 
Here is a sample:
    public void applyDiffChildren(DifferDetails dif, DiffResolver resolver)
    {
       DifferChangeMap detailMap = dif.getDetailMap();
       if (detailMap != null)
       {
          DifferChildren difChild1 = (DifferChildren) detailMap.getValue();
          if (difVCs != null)
          {
             DiffChildrenMerge dm = new DiffChildrenMerge()
             {
                public void insertChild(Object id, Object value)
                {
                   .. perform insert op for Child1 ..
                }
                public void updateChild(Object id, Object value, Object oldValue)
                {
                   .. perform update op for Child1 ..
                }
                public void removeChild(Object id)
                {
                   .. perform remove op for Child1 ..
                }
             };
             difChild1.applyDiffChanges(dm, resolver);
          }
          // Similarly for Child2
       }
    }
  applyDiffChildren in interface DiffMergeableapplyDiffChildren in class AbstractValidator