public class VariableImpl extends NamedObjectImpl implements Variable, ValidationManager, AttributeHints, JboReservedVarNames, java.io.Serializable, DefPersistable, ResourceBundleOwner, DiffMergeable, ComponentOperationsManager, PropertyManager
AttributeDef.AttributeStorageEnumAttributeHints.ControlType| Modifier and Type | Field and Description | 
|---|---|
protected ExpressionDef | 
mTransientExpressionDef  | 
mFullName, mObjName, mParent, mProperties, RES_ID_SUFFIX, RESID_SUFFIXVAR_KIND_VIEW_CRITERIA_IN_MEM_CLAUSE_PARAM, VAR_KIND_VIEW_CRITERIA_PARAM, VAR_KIND_WHERE_CLAUSE_PARAM, VAR_KIND_WHERE_OR_CRIT_PARAMATTR_ASSOCIATED_ROW, ATTR_ASSOCIATED_ROWITERATOR, ATTR_DYNAMIC, ATTR_ENTITY_DERIVED, ATTR_HIDDEN, ATTR_PERSISTENT, ATTR_ROWSET, ATTR_SQL_DERIVED, ATTR_TRANSIENT, ATTR_VARIABLE, READONLY, UPDATEABLE, UPDATEABLE_WHILE_NEWATTRIBUTE_AUTOSUBMIT, ATTRIBUTE_BINDEDITOR_LABEL, ATTRIBUTE_CTL_CATEGORY, ATTRIBUTE_CTL_DISPLAYHEIGHT, ATTRIBUTE_CTL_DISPLAYWIDTH, ATTRIBUTE_CTL_FIELD_ORDER, ATTRIBUTE_CTL_FORMTYPE, ATTRIBUTE_CTL_TYPE, ATTRIBUTE_DEFINITION_STATE, ATTRIBUTE_DISPLAY_HINT, ATTRIBUTE_DISPLAY_HINT_DISPLAY, ATTRIBUTE_DISPLAY_HINT_HIDE, ATTRIBUTE_FORM_TYPE_DETAIL, ATTRIBUTE_FORM_TYPE_SHORT, ATTRIBUTE_LABEL, ATTRIBUTE_LABEL_PLURAL, ATTRIBUTE_LOVNAME, ATTRIBUTE_PAYLOAD_HINT, ATTRIBUTE_PAYLOAD_HINT_HIDE, ATTRIBUTE_PAYLOAD_HINT_SHOW, ATTRIBUTE_REQUIRED_HINT, ATTRIBUTE_REQUIRED_HINT_OPTIONAL, ATTRIBUTE_REQUIRED_HINT_REQUIRED, ATTRIBUTE_REQUIRED_HINT_SELECTIVELY_REQUIRED, ATTRIBUTE_TIMEZONE_ID, ATTRIBUTE_TOOLTIP, CTL_CHECK_BOX, CTL_CHOICE_LIST, CTL_COMBO_BOX, CTL_COMBO_BOX_LOV, CTL_DATE, CTL_DEFAULT, CTL_DELIMITEDIDS_CHOICE, CTL_EDIT, CTL_IMAGE, CTL_INPUT_TEXT_LOV, CTL_LIST_BOX, CTL_NUMBER_EDIT, CTL_RADIO_GROUP, CTLTYPE_CHECKBOX, CTLTYPE_COMBO, CTLTYPE_COMBOLOV, CTLTYPE_DATE, CTLTYPE_DEFAULT, CTLTYPE_DELIMITEDIDS_CHOICE, CTLTYPE_EDIT, CTLTYPE_IMAGE, CTLTYPE_LIST, CTLTYPE_LISTBOX, CTLTYPE_LOV, CTLTYPE_NUMEDIT, CTLTYPE_RADIOGRP, CTLTYPE_TOGGLE, FMT_FORMAT, FMT_FORMATTER, HINT_NAME_AUTOSUBMIT, HINT_NAME_CATEGORY, HINT_NAME_CTL_TYPE, HINT_NAME_DESCRIPTION, HINT_NAME_DISPLAY_HEIGHT, HINT_NAME_DISPLAY_HINT, HINT_NAME_DISPLAY_WIDTH, HINT_NAME_FIELD_ORDER, HINT_NAME_FORMAT, HINT_NAME_LABEL, HINT_NAME_LABEL_PLURAL, HINT_NAME_LOVNAME, HINT_NAME_MANDATORY, HINT_NAME_MAX_LENGTH, HINT_NAME_MAX_VALUE, HINT_NAME_MIN_LENGTH, HINT_NAME_MIN_VALUE, HINT_NAME_PAYLOAD_HINT, HINT_NAME_SECRET, HINT_NAME_TIMEZONEID, HINT_NAME_TOOLTIP, HINT_NAME_UPDATEABLE, HINT_NAME_WATERMARK, INTERNAL_HINT_NAME_AUTOSUBMIT, PNAME_Button, PNAME_ButtonGroup, PNAME_ComboBox, PNAME_ComboBoxLovEdit, PNAME_ENSURE_KEY_ATTR, PNAME_EnumList, PNAME_LovButton, PNAME_ROWNUMATTR, PNAME_SOURCENAME_ACCESSOR, PNAME_SOURCENAME_ATTR, PNAME_TextFieldDEFINITION_STATE_ACTIVE, DEFINITION_STATE_DEPRECATED, PROPERTY_DEFINITION_STATE, PROPERTY_ERROR_MSG, PROPERTY_LABEL, PROPERTY_LABEL_PLURAL, PROPERTY_TOOLTIPRESERVED_VAR_AGG_AVG, RESERVED_VAR_AGG_COUNT, RESERVED_VAR_AGG_MAX, RESERVED_VAR_AGG_MIN, RESERVED_VAR_AGG_SUM, RESERVED_VAR_AGGVAL_PREFIX, RESERVED_VAR_STRUCTURE_DEFRESERVED_VAR_VALUEFLAG_DIRTY, FLAG_EDITABLE, FLAG_FROM_TIP, FLAG_LOAD_BASE, FLAG_LOAD_HL_DEFS, FLAG_MAJOR_VERSION_CHANGED, FLAG_MINOR_VERSION_CHANGED, FLAG_NEW, FLAG_NEW_RECURSE, FLAG_SKIP_WRITE, XML_STATEMENT| Constructor and Description | 
|---|
VariableImpl()
Default constructor for this class. 
 | 
VariableImpl(java.lang.String name)  | 
VariableImpl(java.lang.String name,
            java.lang.Class javaType)  | 
VariableImpl(java.lang.String name,
            java.lang.Object defaultValue,
            byte updateable,
            boolean notNull,
            java.lang.Class javaType)  | 
VariableImpl(VariableImpl var)  | 
| Modifier and Type | Method and Description | 
|---|---|
java.util.Map | 
_getDomainContext()  | 
void | 
addValidator(JboValidatorInterface listener)
Add a  
JboValidatorInterface to the listener list. | 
void | 
applyDiffChildren(DifferDetails dif,
                 DiffResolver resolver)
Applies changes to children defs. 
 | 
void | 
applyDiffContents(DifferDetails dif,
                 DiffResolver resolver)
When diff/merge operation is requested, we have the following
 three def objects: 
 | 
DifferDetails | 
beginDiffObjects(DiffMergeable docDef,
                DiffMergeable orgDef,
                DifferDetails difDetails)
This method is the entry point call when the diffing process
 begins on the document-level def. 
 | 
java.lang.Object | 
clone()  | 
java.lang.Object | 
convertToJava(java.lang.Object data)
Converts a value from the database type to its corresponding Java type
 and returns the result. 
 | 
protected VariableImpl | 
createClone()  | 
protected ExpressionDef | 
createExpressionDef(java.lang.String expr)  | 
DifferDetails | 
diffChildren(DiffMergeable docDef,
            DiffMergeable orgDef,
            DifferDetails difDetails)
Performs diff of children defs. 
 | 
DifferDetails | 
diffContents(DiffMergeable docDef,
            DiffMergeable orgDef,
            DifferDetails difDetails)
Performs diff of scalar values. 
 | 
DifferDetails | 
diffObjects(DiffMergeable docDef,
           DiffMergeable orgDef,
           DifferDetails difDetails)
The work-horse method performing diff between two defs of this
 def type. 
 | 
boolean | 
displayInShortForm(LocaleContext locale)
Returns true if the attribute is to displayed in the short(summary) form. 
 | 
ExprCodeSource | 
editCodeSource(ExprCodeSource codeSource)
Notify that ComponentOperationsManager that the client expects to
 edit the CodeSource. 
 | 
ExprCodeSource | 
ensureCodeSource(ExprDef exprDef)
Ensure a named code source in the operations manager. 
 | 
DifferDetails | 
ensureDifferDetails(DifferDetails difDetails)
Ensures that we have a valid  
DifferDetails. | 
java.lang.Object | 
evaluateTransientExpression(VariableManagerOwnerBase owner)  | 
ViewObject | 
getAccessorVO(ViewObject originVO)
For an accessor attribute, this method creates a View Object that
 works for the View Link definition. 
 | 
byte | 
getAttributeKind()
Gets the attribute value. 
 | 
AttributeDef.AttributeStorageEnum | 
getAttributeStorage()  | 
java.lang.String | 
getCategory(LocaleContext locale)
Returns the category that this attribute belongs to 
 | 
java.lang.String | 
getColumnName()
Overridden to return null in Variable implementations. 
 | 
java.lang.String | 
getColumnNameForQuery()
Overridden to return null in Variable implementations. 
 | 
java.lang.String | 
getColumnType()
This method is used if the variable is of array type to get to the
 type name created in the database to store the array values. 
 | 
ComponentOperationsManager | 
getComponentOperationsManager()  | 
java.lang.String[][] | 
getCompOpers(LocaleContext locale)
Returns a Map of operators for this attribute. 
 | 
int | 
getControlType(LocaleContext locale)
Returns the preferred control type for this attribute 
 | 
java.lang.Object | 
getDefaultValue()
Returns the default value of the attribute. 
 | 
java.lang.String | 
getDefinitionState(LocaleContext locale)
Retrives the definition state string that indicates if this object is deprecated. 
 | 
DefinitionManager | 
getDefManager()  | 
int | 
getDefScope()  | 
java.lang.String | 
getDefTypeName()
Returns the XML def type name of this defintion object, e.g.,
 "PDefEntityObject". 
 | 
java.lang.String | 
getDefXMLElementTag()  | 
java.lang.String | 
getDefXMLNameSpace()  | 
int | 
getDisplayHeight(LocaleContext locale)
Returns the display width for this attribute 
 | 
java.lang.String | 
getDisplayHint(LocaleContext locale)
Retrieves the displya hint that dictates whether this
  attributr should be visible or not. 
 | 
int | 
getDisplayWidth(LocaleContext locale)
Returns the display width for this attribute 
 | 
int | 
getElemSQLType()
Overridden to return -1. 
 | 
java.lang.Class | 
getElemType()
Returns the class type for the elements if this variable
 stores array types. 
 | 
ExprEval | 
getExprEval()  | 
java.lang.Object | 
getExtendedData()  | 
double | 
getFieldOrder(LocaleContext locale)
Returns the field order for this attribute 
 | 
java.lang.String | 
getFormat(LocaleContext locale)
returns the format string stored in the ui hints 
 | 
java.lang.String | 
getFormattedAttribute(AttributeList attrList,
                     LocaleContext locale)
Returns the formatted value  for the attribute. 
 | 
Formatter | 
getFormatter(LocaleContext locale)
returns the formatter object stored in the ui hints 
 | 
java.lang.String | 
getFormatterClassName(LocaleContext locale)
returns the formatter object stored in the ui hints 
 | 
java.lang.String | 
getHint(LocaleContext locale,
       java.lang.String sHintName)
Return defaulted hint value 
 | 
java.lang.String | 
getHintValue(LocaleContext locale,
            java.lang.String sHintName)
Return non-defaulted hint value 
 | 
java.lang.String | 
getIdentificationAttributeName()
return the attribute name for identification on an xml element. 
 | 
int | 
getIndex()
Overridden to return -1 for index. 
 | 
java.lang.Class | 
getJavaType()
Returns the Java type of the attribute. 
 | 
java.lang.String | 
getJavaTypeName()
Returns the name of the Java type of the attribute, mainly for design time. 
 | 
java.lang.String | 
getLabel(LocaleContext locale)
Retrieves the label to be used in any attribute prompts 
 | 
java.lang.String | 
getLabelPlural(LocaleContext locale)
Retrives the label plural text to be used for this attribute 
 | 
ListBindingDef | 
getListBindingDef()  | 
java.lang.String | 
getLocaleName(LocaleContext locale,
             java.lang.String sName)
function for retrieving the locale name of a hint 
 | 
java.lang.String | 
getLOVName()
Gets the name of the LOV (list of values) associated with this
 attribute definition. 
 | 
java.lang.String | 
getMergeableFullName()
Returns the fully qualified name of the diff-mergeable definition object. 
 | 
java.lang.String | 
getMergeableName()
Returns the diff-mergeable definition's name (short form). 
 | 
OperationDefinitions | 
getOperationDefinitions()  | 
java.util.Map | 
getOperators(LocaleContext locale)  | 
DefPersistable | 
getOrigObject()  | 
java.lang.String | 
getPayloadHint(LocaleContext locale)
Retrieves the payload hint that dictates whether this
  attribute should be included in service payload or not. 
 | 
int | 
getPrecision()
Gets the attribute's precision. 
 | 
ResourceBundleDef | 
getResourceBundleDef()  | 
ResourceBundleDef | 
getResourceBundleDef(java.lang.String resBundleId)  | 
java.lang.String | 
getResourcePrefix()  | 
OperationDefinitions | 
getRowOperationDefinitions()  | 
int | 
getScale()
Gets the attribute's scale value: the number of digits to the right or left of
 the decimal point, depending on whether the scale value is positive or negative. 
 | 
OperationDefinitions | 
getScriptOperationDefinitions()  | 
OperationDefinitions | 
getScriptRowOperationDefinitions()  | 
java.lang.String | 
getSerializerClassName()
Gets the name of the custom value serializer class. 
 | 
static Session | 
getSession(VariableManagerOwnerBase owner)  | 
int | 
getSQLType()
Overridden to return -1; 
 | 
StructureDef | 
getStructureDef()  | 
static StructureDef | 
getStructureDef(VariableManagerOwnerBase owner)  | 
java.lang.String | 
getTooltip(LocaleContext locale)
Retrives the tooltip text to be used for this attribute 
 | 
java.lang.String | 
getTransientExpression()  | 
ExpressionDef | 
getTransientExpressionDef()  | 
AttributeHints | 
getUIHelper()
return the AttributeHints interface implemented by this class 
 | 
byte | 
getUpdateableFlag()
Returns whether the attribute is updateable. 
 | 
java.util.ArrayList | 
getValidators()
Get the list of JboValidatorInterface objects registered with this attribute 
 | 
ValueSerializer | 
getValueSerializer()
Gets an instance of the custom value serializer class. 
 | 
java.lang.String | 
getVariableKind()  | 
VariableManager | 
getVariableManager()  | 
java.lang.Object | 
getXMLContentValue(org.w3c.dom.Element varElem)
Converts an XML element to an instance of this variable's Java type. 
 | 
java.lang.String | 
getXMLElementTag()
Returns a piece of static info for the type of object this is invoked
 upon. 
 | 
boolean | 
hasFormatInformation(LocaleContext locale)
Return true if any format  hints have been defined for this
   attribute. 
 | 
void | 
initDefaultValueNoConversion(java.lang.String val)
*** For internal framework use only ***
 only for testing purposes 
 | 
void | 
initFromXML(DefElement xmlElement)
*** For internal framework use only *** 
 | 
void | 
initFromXML(DefElement xmlElement,
           boolean bDesignTime)
*** For internal framework use only *** 
 | 
protected void | 
initialize(VariableImpl fromVar)  | 
static java.lang.Object | 
internalGetExprVarVal(java.lang.String varName,
                     VariableManagerOwnerBase owner,
                     java.lang.Object propertyBase)  | 
static boolean | 
internalHasExprVarVal(java.lang.String varName,
                     VariableManagerOwnerBase owner,
                     java.lang.Object propertyBase)  | 
void | 
internalSetVariableKind(java.lang.String kind)  | 
boolean | 
isAutoSubmit(LocaleContext locale)
Returns the autoSubmit value for this attribute 
 | 
boolean | 
isDefinedDefaultValue()
Passivation uses this to tell if the current value is not the definition default. 
 | 
boolean | 
isDirty()
This method returns if an Object is modified from last save/load 
 | 
boolean | 
isDiscrColumn()
Tests if an attribute is a discriminator. 
 | 
boolean | 
isDynamicCodeSourceEnabled()  | 
boolean | 
isMandatory()
Returns whether the attribute is not null. 
 | 
boolean | 
isNew()
This method returns if this object is previously persisted. 
 | 
boolean | 
isNewRecurse()  | 
boolean | 
isNotCloned()  | 
boolean | 
isPassivationNeeded()
The framework calls this api when building the sparse list of variables
 that need passivation. 
 | 
boolean | 
isPrimaryKey()
Overridden to return false; 
 | 
boolean | 
isQueriable()
Returns true for Variables that are bound as where-clause parameters 
 | 
boolean | 
isSelected()  | 
boolean | 
isSkipWrite()  | 
boolean | 
isWriteObject(DefPersistable parentObj,
             DefWriter defWriter)  | 
protected void | 
loadCustomProperties(DefElement xmlElement,
                    java.util.Map givenMap)  | 
protected ExpressionDef | 
loadExpressionDef(DefElement xmlElement)  | 
protected void | 
loadProperties(DefElement xmlElement)  | 
protected void | 
loadSchemaProperties(DefElement xmlElement,
                    java.util.Map givenMap)  | 
ExprDef | 
lookupExprDef(OwnerType type,
             java.lang.String path)
Search for an ExprDef in the ComponentOperationsManager's namespace. 
 | 
void | 
mergePropertyMap(java.util.Map m)  | 
java.lang.Object | 
parseFormattedAttribute(java.lang.String sValue,
                       LocaleContext locale)
Strips off the formatting from a string and constructs an
   instance of the attribute's domain using the 'clean' string as
   a parameter of the contructor. 
 | 
void | 
removeProperty(java.lang.String hintName,
              LocaleContext locale)  | 
void | 
removeValidator(JboValidatorInterface listener)
Removes a  
JboValidatorInterface from the listener list. | 
protected boolean | 
requiresNamePrefixedResId()  | 
void | 
resolve()  | 
void | 
setColumnType(java.lang.String columnType)
This method is used to set the name of the table
 created in the database to store the array values. 
 | 
void | 
setDefaultValue(java.lang.Object val)  | 
void | 
setDirty(boolean b)
This method marks the Object dirty 
 | 
void | 
setElemType(java.lang.String elementTypeName)
Sets the class type for the elements if this variable
 stores array types. 
 | 
void | 
setExtendedData(java.lang.Object data)  | 
void | 
setJavaType(java.lang.Class cls)  | 
void | 
setJavaTypeName(java.lang.String typeName)
*** For internal framework use only *** 
 | 
void | 
setMandatory(boolean b)  | 
void | 
setName(java.lang.String name)
Name this object. 
 | 
void | 
setNew(boolean b)
This method marks the as previously persisted. 
 | 
void | 
setNewRecurse(boolean b)  | 
void | 
setOrigObject(DefPersistable oldObj)  | 
protected void | 
setPassivationNeeded(boolean flag)
*** For internal framework use only *** 
 | 
void | 
setPrecisionScale(int prec,
                 int scale)
Sets the attribute's precision and scale. 
 | 
void | 
setProperty(java.lang.String hintName,
           java.lang.Object hintValue,
           LocaleContext locale)  | 
protected void | 
setPropertyExpression(java.lang.String name,
                     java.lang.String expr)  | 
void | 
setPropertyMap(java.util.Map m)
Replaces all properties. 
 | 
void | 
setSerializerClassName(java.lang.String className)
Sets the name of the custom value serializer class. 
 | 
void | 
setSkipWrite(boolean b)  | 
void | 
setTransientExpression(java.lang.String expr)  | 
void | 
setTransientExpressionDef(ExpressionDef exprDef)
Add an expression to the variable. 
 | 
void | 
setUpdateableFlag(byte updateable)  | 
void | 
setVariableKind(java.lang.String kind)  | 
void | 
setVariableManager(VariableManager manager)  | 
void | 
writeChildren(DefWriter jos)
Writes the Object's children to the Persistent storage 
 | 
void | 
writeContents(DefWriter jos)
Objects should write their persistence output in this method 
 | 
void | 
writeObject(DefWriter jos)
Objects should write their persistence output in this method 
 | 
allocatePropertyMap, getAllProperties, getFullName, getName, getParent, getProperties, getPropertiesAsStrings, getPropertiesMap, getProperty, getProperty, getPropertyExpressionDef, getPropertyExpressionsMap, getPropertyExprEval, getPropertyMap, getPropertyNamesSet, getRawPropertyValue, getResourcesFromBundle, getStringFromMessageBundle, hasProperty, isPropertyExpression, refreshProperty, removeProperty, resolveObjectProperty, resolvePropertyRaw, setFullName, setParent, setPropertiesMap, setPropertiesMap2, setProperty, setPropertyExpressionMap, setRawPropertyValueequals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetNamegetProperties, getProperty, getProperty, refreshPropertygetFullName, getNamegetFullNamegetFullNamegetProperty, removeProperty, setPropertyprotected ExpressionDef mTransientExpressionDef
public VariableImpl()
public VariableImpl(java.lang.String name)
public VariableImpl(java.lang.String name,
                    java.lang.Class javaType)
public VariableImpl(java.lang.String name,
                    java.lang.Object defaultValue,
                    byte updateable,
                    boolean notNull,
                    java.lang.Class javaType)
public VariableImpl(VariableImpl var)
protected VariableImpl createClone()
protected ExpressionDef createExpressionDef(java.lang.String expr)
protected ExpressionDef loadExpressionDef(DefElement xmlElement)
public java.lang.Object clone()
public void setName(java.lang.String name)
NamedObjectImplsetName in interface VariablesetName in class NamedObjectImplname - the name to be given to this object.public java.lang.String getMergeableName()
DiffMergeablegetMergeableName in interface DiffMergeablepublic java.lang.String getMergeableFullName()
DiffMergeablegetMergeableFullName in interface DiffMergeablepublic VariableManager getVariableManager()
getVariableManager in interface Variablepublic void setVariableManager(VariableManager manager)
setVariableManager in interface Variablepublic java.lang.String getVariableKind()
getVariableKind in interface Variablepublic boolean isNotCloned()
public void internalSetVariableKind(java.lang.String kind)
public void setVariableKind(java.lang.String kind)
setVariableKind in interface Variablepublic java.lang.Object getExtendedData()
getExtendedData in interface Variablepublic void setExtendedData(java.lang.Object data)
setExtendedData in interface Variablepublic byte getUpdateableFlag()
getUpdateableFlag in interface AttributeDefpublic void setUpdateableFlag(byte updateable)
setUpdateableFlag in interface Variablepublic boolean isMandatory()
isMandatory in interface AttributeDefpublic void setMandatory(boolean b)
setMandatory in interface Variablepublic int getPrecision()
For strings, precision is maximum allowed length. For numeric values, precision is the number of significant digits.
getPrecision in interface AttributeDefpublic int getScale()
Scale value is meaningful only for numeric attributes.
getScale in interface AttributeDefpublic void setPrecisionScale(int prec,
                              int scale)
For strings, precision is maximum allowed length. For numeric values, precision is the number of significant digits.
Scale is the number of digits to the right or left of the decimal point, depending on whether the scale value is positive or negative. Scale is meaning only for numeric attributes.
setPrecisionScale in interface Variableprec - the precision value, or 0 if unspecified.scale - the scale value.  The default is -127.public java.lang.Class getJavaType()
For example, if the attribute is of type String, this method returns java.lang.String; if it is of type Number, it returns oracle.jbo.domain.Number.
Subclasses should override this method because Entities without accessors should also be able to get their types from attribute descriptors and beans.
getJavaType in interface AttributeDefpublic void setJavaType(java.lang.Class cls)
setJavaType in interface Variablepublic java.lang.String getJavaTypeName()
For example, if the attribute is of type String, this method returns java.lang.String; if it is of type Number, it returns oracle.jbo.domain.Number.
getJavaTypeName in interface Variablepublic void setJavaTypeName(java.lang.String typeName)
public java.lang.Object getDefaultValue()
The default value for an attribute is expressed in terms of the Java type system, rather than the storage type system.
getDefaultValue in interface Variablepublic void setDefaultValue(java.lang.Object val)
setDefaultValue in interface Variablepublic void initDefaultValueNoConversion(java.lang.String val)
public java.lang.Object convertToJava(java.lang.Object data)
This method uses AttributeDefImpl() metadata to convert a database value to the corresponding Java value.
convertToJava in interface Variabledata - a storage value to be converted.public void addValidator(JboValidatorInterface listener)
JboValidatorInterface to the listener list.addValidator in interface ValidationManagerlistener - The Validator to be addedpublic java.util.ArrayList getValidators()
getValidators in interface ValidationManagerpublic void removeValidator(JboValidatorInterface listener)
JboValidatorInterface from the listener list.listener - The Validator to be removed@Concealed protected void initialize(VariableImpl fromVar)
public void initFromXML(DefElement xmlElement)
public void initFromXML(DefElement xmlElement, boolean bDesignTime)
public DifferDetails ensureDifferDetails(DifferDetails difDetails)
DiffMergeableDifferDetails.
 
 This method is to create a DifferDetails object to
 be used for diffing if necessary.  The difDetails may come in
 as null.  By calling this method, we can ensure that
 a non-null difDetails is there.  So, instead of
 writing:
 
    if (difDetails == null)
    {
       difDetails = new DifferDetails(..);
    }
    difDetails.addDiffDetail(..);
 
 we can write
 
    (difDetails = diffMergeable.ensureDifferDetails(difDetails)).addDiffDetail(..);
 
 ensureDifferDetails in interface DiffMergeabledifDetails - the incoming DifferDetails.  It may
   be null.difDetails if it wasn't
   null coming in, or a new DifferDetails if
   the incoming difDetails was nullpublic DifferDetails diffContents(DiffMergeable docDef, DiffMergeable orgDef, DifferDetails difDetails)
DiffMergeableorgDef.  Then, help
 methods on DifferBase can be used to diff the attr values
 and accumulate the details of diff in difDetails.
 Here is example code snippet:
    private static final String DIFF_STRING_ELEMS[] =
    {
       "MyStringVal1",
       "MyStringVal2"
    };
    private static final String DIFF_INT_ELEMS[] =
    {
       "MyIntVal",
    }
    public DifferDetails diffContents(DiffMergeable docDef, DiffMergeable orgDef, DifferDetails difDetails)
    {
       <Your-def-class> orgDefImpl = (<Your-def-class>) orgDef;
       final String editStringValues[] =
       {
          this.getMyStringVal1(),
          this.getMyStringVal2()
       };
       String orgStringValues[] = null;
       if (orgDef != null)
       {
          String orgV[] =
          {
             orgDefImpl.getMyStringVal1(),
             orgDefImpl.getMyStringVal2()
          };
          orgStringValues = orgV;
       }
       final int editIntValues[] =
       {
          this.getMyIntVal(),
       };
       int orgIntValues[] = null;
       if (orgDef != null)
       {
          int orgV[] =
          {
             orgDefImpl.getMyIntVal()
          };
          orgIntValues = orgV;
       }
       difDetails = DifferBase.diffStringArray(this, DIFF_STRING_ELEMS, editStringValues, orgStringValues, difDetails);
       difDetails = DifferBase.diffIntArray(this, DIFF_INT_ELEMS, editIntValues, orgIntValues, difDetails);
       return difDetails;
   }
 
 diffContents in interface DiffMergeabledocDef - 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 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 DiffMergeabledocDef - 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 DifferDetails beginDiffObjects(DiffMergeable docDef, DiffMergeable orgDef, DifferDetails difDetails)
DiffMergeableDiffMergeable's.  'this' object is the
 changed definition.
 beginDiffObjects in interface DiffMergeabledocDef - 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 DifferDetails diffObjects(DiffMergeable docDef, DiffMergeable orgDef, DifferDetails difDetails)
DiffMergeablediffContents
 to diff scalar values and diffChildren to diff
 children objects.  The children objects themselves are expected
 to be DiffMergeable.  'this' object is the
 changed definition.
 diffObjects in interface DiffMergeabledocDef - 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 applyDiffContents(DifferDetails dif, DiffResolver resolver)
DiffMergeable
 
    orgDef - original def object (from the branch point)
    editDef - def object into which changes are to be merge
    toMergeDef - def object to be merged (source of changes)
 
 For sandbox refresh operation, orgDef comes from the branch
 point, editDef from the sandbox, toMergeDef from the
 mainline of the repos.  With these three defs, we first diff editDef
 against orgDef, producing editDifDetails.
 
 Similarly, toMergeDef is diffed against orgDef,
 producing toMergeDifDetails.  The diff engine then
 walks through these two sets of diffs and identifies conflicts.
 After the conflicts are all resolved, we apply appropriate
 changes to editDef.
 
 applyDiffContents is called to apply changes to
 scalar values.  dif contains the changed values to
 be applied to 'this' object.  Use sample code like
 the following:
 
    public void applyDiffContents(DifferDetails dif, DiffResolver resolver)
    {
       DifferChangeMap detailMap = dif.getDetailMap();
       Object[] updValues;
       // DIFF_STRING_ELEMS from the above example code
       for (int j = 0; j < DIFF_STRING_ELEMS.length; j++)
       {
          if ((updValues = (Object[]) detailMap.getValue(DIFF_STRING_ELEMS[j])) != null)
          {
             switch(j)
             {
             case 0:
                setMyStringVal1((String) updValues[0]);
                break;
             case 1:
                 setMyStringVal2((String) updValues[0]);
                break;
             }
          }
       }
       for (int j = 0; j < DIFF_INT_ELEMS.length; j++)
       {
          if ((updValues = (Object[]) detailMap.getValue(DIFF_INT_ELEMS[j])) != null)
          {
             switch(j)
             {
             case 0:
                setMyIntVal((Integer) updValues[0]);
                break;
             }
          }
       }
    }
 
 
 Notice that the index specified in the case
 statement is the array index of the attr in the String, int,
 or boolean array.
 
applyDiffContents in interface DiffMergeabledif - changes to be applied to 'this' defresolver - the diff resolver used in diff/merge operationpublic 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(<XML-tag-for-Child1>);
          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 DiffMergeableprotected void setPassivationNeeded(boolean flag)
public boolean isPassivationNeeded()
isPassivationNeeded in interface Variablepublic boolean isDefinedDefaultValue()
isDefinedDefaultValue in interface Variablepublic void removeProperty(java.lang.String hintName,
                           LocaleContext locale)
removeProperty in class NamedObjectImplpublic void setProperty(java.lang.String hintName,
                        java.lang.Object hintValue,
                        LocaleContext locale)
setProperty in class NamedObjectImplpublic void setPropertyMap(java.util.Map m)
NamedObjectImplAll existing properties are lost.
setPropertyMap in class NamedObjectImplprotected void setPropertyExpression(java.lang.String name,
                                     java.lang.String expr)
setPropertyExpression in class NamedObjectImplpublic void mergePropertyMap(java.util.Map m)
mergePropertyMap in class NamedObjectImplprotected void loadProperties(DefElement xmlElement)
xmlElement - The XML element to load from.protected void loadCustomProperties(DefElement xmlElement, java.util.Map givenMap)
protected void loadSchemaProperties(DefElement xmlElement, java.util.Map givenMap)
public AttributeHints getUIHelper()
getUIHelper in interface AttributeDefAttributeHintspublic java.lang.String getLocaleName(LocaleContext locale, java.lang.String sName)
AttributeHintsgetLocaleName in interface AttributeHintspublic ResourceBundleDef getResourceBundleDef()
getResourceBundleDef in interface ResourceBundleOwnergetResourceBundleDef in interface ValidationManagerpublic ResourceBundleDef getResourceBundleDef(java.lang.String resBundleId)
getResourceBundleDef in interface ValidationManagerpublic StructureDef getStructureDef()
getStructureDef in interface ValidationManagerpublic java.lang.String getResourcePrefix()
getResourcePrefix in interface ResourceBundleOwnerpublic java.lang.String[][] getCompOpers(LocaleContext locale)
AttributeHintsgetCompOpers in interface AttributeHintsprotected boolean requiresNamePrefixedResId()
requiresNamePrefixedResId in class NamedObjectImplpublic final java.lang.String getLabel(LocaleContext locale)
getLabel in interface GenericHintspublic java.util.Map getOperators(LocaleContext locale)
public final java.lang.String getTooltip(LocaleContext locale)
getTooltip in interface GenericHintspublic final java.lang.String getLabelPlural(LocaleContext locale)
getLabelPlural in interface GenericHintspublic java.lang.String getDefinitionState(LocaleContext locale)
getDefinitionState in interface GenericHintspublic final java.lang.String getDisplayHint(LocaleContext locale)
getDisplayHint in interface AttributeHintspublic java.lang.String getPayloadHint(LocaleContext locale)
getPayloadHint in interface AttributeHintspublic final int getControlType(LocaleContext locale)
getControlType in interface AttributeHintspublic final int getDisplayWidth(LocaleContext locale)
getDisplayWidth in interface AttributeHintspublic final int getDisplayHeight(LocaleContext locale)
getDisplayHeight in interface AttributeHintspublic final boolean isAutoSubmit(LocaleContext locale)
isAutoSubmit in interface AttributeHintspublic final double getFieldOrder(LocaleContext locale)
getFieldOrder in interface AttributeHintspublic final java.lang.String getCategory(LocaleContext locale)
getCategory in interface AttributeHintspublic java.lang.String getHint(LocaleContext locale, java.lang.String sHintName)
getHint in interface AttributeHintspublic java.lang.String getHintValue(LocaleContext locale, java.lang.String sHintName)
getHintValue in interface GenericHintspublic final java.lang.String getFormat(LocaleContext locale)
AttributeHintsgetFormat in interface AttributeHintspublic final Formatter getFormatter(LocaleContext locale)
AttributeHintsgetFormatter in interface AttributeHintspublic final boolean hasFormatInformation(LocaleContext locale)
AttributeHintshasFormatInformation in interface AttributeHintspublic final java.lang.String getFormattedAttribute(AttributeList attrList, LocaleContext locale)
AttributeHintsgetFormattedAttribute in interface AttributeHintspublic final java.lang.Object parseFormattedAttribute(java.lang.String sValue,
                                                      LocaleContext locale)
AttributeHintsparseFormattedAttribute in interface AttributeHintspublic final boolean displayInShortForm(LocaleContext locale)
AttributeHintsdisplayInShortForm in interface AttributeHintspublic final java.lang.String getFormatterClassName(LocaleContext locale)
getFormatterClassName in interface AttributeHintspublic byte getAttributeKind()
AttributeDefgetAttributeKind in interface AttributeDefgetAttributeKind in interface Variablepublic AttributeDef.AttributeStorageEnum getAttributeStorage()
getAttributeStorage in interface AttributeDefpublic java.lang.String getColumnName()
getColumnName in interface AttributeDefgetColumnName in interface Variablepublic java.lang.String getColumnNameForQuery()
getColumnNameForQuery in interface AttributeDefgetColumnNameForQuery in interface Variablepublic int getSQLType()
getSQLType in interface AttributeDefgetSQLType in interface VariableTypespublic boolean isPrimaryKey()
isPrimaryKey in interface AttributeDefisPrimaryKey in interface Variabletrue if this is either a Primary Key attribute or
 part of the attributes that constitute the Primary Key for a given row.public int getElemSQLType()
getElemSQLType in interface AttributeDefgetElemSQLType in interface Variablepublic int getIndex()
getIndex in interface AttributeDefpublic java.lang.String getColumnType()
where ATTR.COLUMNNAME in (select column_value from table(cast(:VAR.NAME as VAR.COLUMNTYPE)))getColumnType in interface Variablepublic void setColumnType(java.lang.String columnType)
where ATTR.COLUMNNAME in (select column_value from table(cast(:VAR.NAME as VAR.COLUMNTYPE)))setColumnType in interface VariablecolumnType - The table name created in the database to store array valuespublic java.lang.Class getElemType()
getElemType in interface AttributeDefpublic void setElemType(java.lang.String elementTypeName)
elementTypeName - The Class whose instances become the elements of the arraypublic boolean isDiscrColumn()
AttributeDefisDiscrColumn in interface AttributeDefpublic boolean isSelected()
isSelected in interface AttributeDefpublic boolean isQueriable()
isQueriable in interface AttributeDeftrue if this attribute is queriable.public ViewObject getAccessorVO(ViewObject originVO)
AttributeDefgetAccessorVO in interface AttributeDeforiginVO - the View Object that owns the accessorViewObject instance.public static final StructureDef getStructureDef(VariableManagerOwnerBase owner)
public static final Session getSession(VariableManagerOwnerBase owner)
public java.lang.String getTransientExpression()
getTransientExpression in interface Variablepublic ExpressionDef getTransientExpressionDef()
getTransientExpressionDef in interface Variablepublic void setTransientExpression(java.lang.String expr)
setTransientExpression in interface Variablepublic void setTransientExpressionDef(ExpressionDef exprDef)
VariableExpressionDef.createVariableExpression(String)
 to create an expression.setTransientExpressionDef in interface Variablepublic ExprEval getExprEval()
public java.lang.Object evaluateTransientExpression(VariableManagerOwnerBase owner)
evaluateTransientExpression in interface Variablepublic java.lang.String getLOVName()
AttributeDefgetLOVName in interface AttributeDefgetLOVName in interface AttributeHintspublic ListBindingDef getListBindingDef()
getListBindingDef in interface AttributeDefpublic void setSerializerClassName(java.lang.String className)
VariableValueSerializer interface.setSerializerClassName in interface VariableclassName - name of the custom value serializer classpublic java.lang.String getSerializerClassName()
VariablegetSerializerClassName in interface Variablenull
          if it is not defined.public ValueSerializer getValueSerializer()
VariablegetValueSerializer in interface Variablenull if it is not defined.VariableValueManager.writeVarsToXML(Document, Element, boolean)public java.lang.Object getXMLContentValue(org.w3c.dom.Element varElem)
VariablegetXMLContentValue in interface VariablevarElem - an XML element containing the serialized variable valueVariableValueManager.readVarsFromXML(Element)public static java.lang.Object internalGetExprVarVal(java.lang.String varName,
                                                     VariableManagerOwnerBase owner,
                                                     java.lang.Object propertyBase)
public static boolean internalHasExprVarVal(java.lang.String varName,
                                            VariableManagerOwnerBase owner,
                                            java.lang.Object propertyBase)
public boolean isDirty()
DefPersistableisDirty in interface DefPersistablepublic void setDirty(boolean b)
DefPersistablesetDirty in interface DefPersistableb - If true the Object is marked Dirty.public boolean isNew()
DefPersistableisNew in interface DefPersistablepublic void setNew(boolean b)
DefPersistablesetNew in interface DefPersistableb - If true the Object is marked as new object.public boolean isNewRecurse()
isNewRecurse in interface DefPersistablepublic void setNewRecurse(boolean b)
setNewRecurse in interface DefPersistablepublic boolean isSkipWrite()
isSkipWrite in interface DefPersistablepublic void setSkipWrite(boolean b)
setSkipWrite in interface DefPersistablepublic boolean isWriteObject(DefPersistable parentObj, DefWriter defWriter)
isWriteObject in interface DefPersistablepublic DefPersistable getOrigObject()
getOrigObject in interface DefPersistablepublic void setOrigObject(DefPersistable oldObj)
setOrigObject in interface DefPersistablepublic java.lang.String getDefXMLElementTag()
getDefXMLElementTag in interface PersistentDefinitionpublic java.lang.String getDefTypeName()
DiffMergeablegetDefTypeName in interface DiffMergeablepublic java.lang.String getXMLElementTag()
PersistentDefinitiongetXMLElementTag in interface PersistentDefinitionpublic java.lang.String getDefXMLNameSpace()
getDefXMLNameSpace in interface PersistentDefinitionpublic java.lang.String getIdentificationAttributeName()
PersistentDefinitiongetIdentificationAttributeName in interface PersistentDefinitionpublic void writeObject(DefWriter jos)
PersistentDefinitionwriteObject in interface PersistentDefinitionjos - the Output storage for persistencepublic void writeContents(DefWriter jos)
PersistentDefinitionwriteContents in interface PersistentDefinitionjos - the Output storage for persistencepublic void writeChildren(DefWriter jos)
PersistentDefinitionwriteChildren in interface PersistentDefinitionjos - the Output storage for persistencepublic java.util.Map _getDomainContext()
_getDomainContext in interface Variablepublic OperationDefinitions getOperationDefinitions()
getOperationDefinitions in interface OperationContainerpublic OperationDefinitions getRowOperationDefinitions()
getRowOperationDefinitions in interface OperationContainerpublic OperationDefinitions getScriptOperationDefinitions()
getScriptOperationDefinitions in interface OperationContainerpublic OperationDefinitions getScriptRowOperationDefinitions()
getScriptRowOperationDefinitions in interface OperationContainerpublic ExprCodeSource ensureCodeSource(ExprDef exprDef)
ComponentOperationsManager#updateCodeSource to update the component
 operations manager with any updates that are made to this CodeSource.ensureCodeSource in interface ComponentOperationsManagerexprDef - a null exprDef may be used to indicate the a
    built-in code source.public ExprCodeSource editCodeSource(ExprCodeSource codeSource)
ComponentOperationsManagereditCodeSource in interface ComponentOperationsManagerpublic ExprDef lookupExprDef(OwnerType type, java.lang.String path)
ComponentOperationsManagerlookupExprDef in interface ComponentOperationsManagertype - the OwnerType of the expressionpath - the ExprDef.getPath() of the expressionpublic boolean isDynamicCodeSourceEnabled()
isDynamicCodeSourceEnabled in interface ComponentOperationsManagerpublic int getDefScope()
getDefScope in interface ComponentOperationsManagerpublic DefinitionManager getDefManager()
getDefManager in interface ComponentOperationsManagerpublic ComponentOperationsManager getComponentOperationsManager()