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

E10653-01

oracle.jbo.server
Class AttributeDefImpl

java.lang.Object
  extended by oracle.jbo.common.NamedObjectImpl
      extended by oracle.jbo.mom.DefinitionObject
          extended by oracle.jbo.mom.PersistableDefObject
              extended by oracle.jbo.server.AttributeDefImpl
All Implemented Interfaces:
AttributeDef, AttributeHints, ResourceBundleOwner, ExprValueSupplier, DefPersistable, PersistentDefinition, Properties, ValidationManager, VariableManagerOwner, VariableManagerOwnerBase
Direct Known Subclasses:
AssociationDefImpl, AttributeDefOverAttr, ViewAttributeDefImpl

public class AttributeDefImpl
extends PersistableDefObject
implements AttributeDef, AttributeHints, ResourceBundleOwner, ValidationManager, ExprValueSupplier

AttributeDefImpl is an implementation class for the AttributeDef interface in the middle tier server. The main function of this class is to describe an attribute in an Entity Object or View Object.

For each Entity attribute (as well as for each View Object attribute), there is a get method to get its value and the set method to set its value. Entity Objects can have the following kinds of attributes:

If you use the Entity Object wizard in the Business Components for Java Design Time tool to create an Entity Object based on an existing table, a persistent Entity attribute is created for each table column. Later, if you change the table, you need to manually change the attribute.

Note that for a View Object attribute, there is a separate class, ViewAttributeDefImpl, that extends AttributeDefImpl.

The AttributeDefImpl class has static methods to create AttributeDefImpl instances from the Entity XML file. These instances can also be created programmatically. For example, the method addDynamicAttribute creates a dynamic attribute (AttributeDefImpl) on the View Object.

Advanced users can provide their own implementation of EntityDefImpl (by subclassing EntityDefImpl). Within it, they can create their own AttributeDefImpls by using:

This class will try to detect circular dependencies but may not always succeed. For example, if A depends on B (meaning that the backward dependency of A is B), and B depends C, then C depends on A is a circular dependency. The rutime code attempts to detect circular dependencies by throwing a GraphCycleException, but if it cannot, then the behavior of the program is unpredictable, though probably there will be an infinite loop and the program will hang. The design time code attempts to prevent circular dependencies.

 new AttributeDefImpl(...);
 

Since:
JDeveloper 3.0

Nested Class Summary
 
Nested classes/interfaces inherited from interface oracle.jbo.AttributeHints
AttributeHints.ControlType
 
Field Summary
static byte ATTR_LOAD_BULK
          Indicates that while retrieving data for this attribute from the query result, data for other attributes were bulk-retrieved as well.
static byte ATTR_LOAD_EACH
          Indicates that the data for this attribute was retrieved from the query result.
static byte ATTR_LOAD_SKIP
          Indicates that this attribute should be skipped; that is, its data was bulk-retrieved by another attribute from the query result.
static byte EFFECTIVE_DATE_TYPE_END
          An attribute that is defined as an effective end date
static byte EFFECTIVE_DATE_TYPE_NONE
          An attribute that is not defined as an effective start or end date
static byte EFFECTIVE_DATE_TYPE_START
          An attribute that is defined as an effective start date
static byte HISTORY_CREATE_DATE
          An attribute that is defined as a create_date history attribute
static byte HISTORY_CREATE_USER
          An attribute that is defined as a create_user history attribute
static byte HISTORY_MODIFY_DATE
          An attribute that is defined as a modify_date history attribute
static byte HISTORY_MODIFY_USER
          An attribute that is defined as a modifiy_user history attribute
static byte HISTORY_MODIFY_VERSION
          An attribute that is defined as a modifiy_version history attribute
static byte HISTORY_NOT_DEFINED
          An attribute that is not defined as a history attribute
protected  byte mAttrLoad
          Value for the attribute's load value.
protected  java.util.ArrayList mBackwardDep
           
protected  java.lang.String mColumnName
          The database column name for the attribute.
protected  boolean mDataSecurity
           
protected  RowDef mDef
          Back Pointer to Def Object where the Attribute belongs.
protected  java.lang.Object mDefaultValue
          The default value of the attribute.
protected  boolean mDiscrColumn
          Value determines whether the attribute is discriminator column.
protected  java.lang.String mDomainName
          Domain name for this attribute if it's type is a generated domain
protected  byte mEffectiveDateType
           
protected  java.lang.Object mElemFactory
           
protected  java.lang.Class mElemType
          Identifies the Java Type Object for this element.
protected  java.util.ArrayList mForwardDep
           
protected  byte mHistoryKind
           
protected  int mIndex
          Index in the Table.
protected  boolean mIsEffectiveDateSequence
           
protected  boolean mIsEffectiveDateSequenceFlag
           
protected  java.lang.Class mJavaType
          The Java Type Object for this attribute.
protected  byte mKind
          Value for the Attribute's "kind"; for example, Transient, Dynamic, etc.
protected  boolean mMandatory
          Value determines whether the attribute allows null values.
protected  boolean mNotNull
          Value determines whether the attribute is null.
protected  boolean mObjectTableOID
          Value determines whether the attribute is OID present.
protected  boolean mObjectTableRef
          Value determines whether the attribute has an Object table ref.
protected  java.lang.String mObjectType
          Object Type of the attribute.
protected  java.lang.String[] mOIDAttrNames
          Internal: Applications should not use this field.
protected  int mPrecision
          Precision Value for the attribute, defaulted to zero.
protected  boolean mPrimaryKey
          Value determines whether the attribute is primary key.
protected  boolean mQueriable
          Value determines whether the attribute is queryable.
protected  java.lang.reflect.Method mReadMethod
          To keep the read method with this attribute.
protected  boolean mResolveAccessors
          Value determines whether getters and setters are loaded.
protected  boolean mRetrievedOnInsert
          Value determines whether the attribute is retrieved on Insert.
protected  boolean mRetrievedOnUpdate
          Value determines whether the attribute is retrieved on update.
protected  int mScale
          Scale value for attribute, set by default to 0.
protected  SQLBuilder mSQLBuilder
          Identifies the handle to SQL Builder.
protected  int mType
          Integer representation of the SQL type of the attribute.
protected  java.lang.Object mTypeFactory
          Identifies the ORADataFactory for this attribute.
protected  boolean mTypeFactoryInitialized
          Value determines whether this attribute has a type factory.
protected  boolean mUnique
          Value determines whether the attribute is part of a unique key constraint.
protected  byte mUpdateable
          Value determines whether the attribute is updatable.
protected  java.lang.reflect.Method mWriteMethod
          To keep the write method with this attribute.
 
Fields inherited from class oracle.jbo.mom.DefinitionObject
DEF_MDS_CLIENT_KEY, DEF_SCOPE_PERS, DEF_SCOPE_SESSION, DEF_SCOPE_SHARED, mBaseDefObject, mExtendedDefObjects, mObjectResolved, PERSDEF_MDS_CLIENT_KEY
 
Fields inherited from class oracle.jbo.common.NamedObjectImpl
mFullName, mObjName, mParent, mProperties, RES_ID_SUFFIX
 
Fields inherited from interface oracle.jbo.AttributeDef
ATTR_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_NEW
 
Fields inherited from interface oracle.jbo.AttributeHints
ATTRIBUTE_BINDEDITOR_LABEL, ATTRIBUTE_CTL_CATEGORY, ATTRIBUTE_CTL_DISPLAYHEIGHT, ATTRIBUTE_CTL_DISPLAYWIDTH, ATTRIBUTE_CTL_FIELD_ORDER, ATTRIBUTE_CTL_FORMTYPE, ATTRIBUTE_CTL_TYPE, ATTRIBUTE_DISPLAY_HINT, ATTRIBUTE_DISPLAY_HINT_DISPLAY, ATTRIBUTE_DISPLAY_HINT_HIDE, ATTRIBUTE_FORM_TYPE_DETAIL, ATTRIBUTE_FORM_TYPE_SHORT, ATTRIBUTE_LABEL, ATTRIBUTE_TOOLTIP, CTL_CHECK_BOX, CTL_CHOICE_LIST, CTL_COMBO_BOX, CTL_COMBO_BOX_LOV, CTL_DATE, CTL_DEFAULT, 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_EDIT, CTLTYPE_IMAGE, CTLTYPE_LIST, CTLTYPE_LISTBOX, CTLTYPE_LOV, CTLTYPE_NUMEDIT, CTLTYPE_RADIOGRP, CTLTYPE_TOGGLE, FMT_FORMAT, FMT_FORMATTER, HINT_NAME_CATEGORY, HINT_NAME_CTL_TYPE, HINT_NAME_DISPLAY_HEIGHT, HINT_NAME_DISPLAY_HINT, HINT_NAME_DISPLAY_WIDTH, HINT_NAME_FIELD_ORDER, HINT_NAME_FORMAT, HINT_NAME_LABEL, HINT_NAME_MANDATORY, HINT_NAME_TOOLTIP, HINT_NAME_UPDATEABLE, PNAME_Button, PNAME_ButtonGroup, PNAME_ComboBox, PNAME_EnumList, PNAME_LovButton, PNAME_TextField
 
Fields inherited from interface oracle.jbo.mom.xml.DefPersistable
XML_STATEMENT
 
Constructor Summary
protected AttributeDefImpl()
          Default constructor for this class.
 
Method Summary
 void addBackwardDependency(java.lang.String attrName)
          Internal: Applications should not use this method.
 void addForwardDependency(java.lang.String attrName)
          Internal: Applications should not use this method.
 void addValidator(JboValidatorInterface listener)
          Add a JboValidatorInterface to the listener list.
 void beanToStore(java.lang.Object bean, Row store)
          Internal: Applications should not use this method.
 java.lang.Object convertToJava(java.lang.Object data)
          Converts a value from the database type to its corresponding Java type and returns the result.
 java.lang.Object convertToStorage(java.lang.Object data, DBTransactionImpl trans)
          Internal: Application should not use this method.
 boolean displayInShortForm(LocaleContext locale)
          Returns true if the attribute is to displayed in the short(summary) form.
 VariableValueManager ensureVariableManager()
          Returns this object's Variable Value Manager.
 java.lang.Object evaluateTransientExpression(Row row)
           
protected  void finishedLoading()
           
 ViewObject getAccessorVO(ViewObject originVO)
          For an accessor attribute, this method creates a View Object that works for the View Link definition.
 java.util.HashMap getAllProperties(java.util.HashMap map, LocaleContext locale)
           
 int getAltKeyCount()
           
 byte getAttributeKind()
          Returns the "kind" enumerations of this attribute.
 byte getAttrLoad()
          Describes the manner in which the data for this attribute is loaded from database.
 DefinitionObject getBaseDefObject()
           
 java.lang.String getColumnName()
          Returns the column name to which this attribute is mapped.
 java.lang.String getColumnNameForQuery()
          Returns the column name to be used in query statement.
 java.util.ArrayList getCompOpers()
           
 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
 RowDef getDef()
          Returns the DefObject object which describes this attribute.
 java.lang.Object getDefaultValue()
          Returns the default value of the attribute.
 int getDefTypeId()
           
 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 display hint that dictates whether this attribute should be visible or not.
 int getDisplayWidth(LocaleContext locale)
          Returns the display width for this attribute
 java.lang.String getDomainName()
          Returns the DomainName object which describes this attribute.
 java.lang.Object getElemFactory()
          Internal: Applications should not use this method.
 int getElemSQLType()
          Returns the jdbc type of the elements of this attribute.
 java.lang.Class getElemType()
          Returns the element type of the attribute.
 EntityDefImpl getEntityDef()
          Returns the EntityDefImpl object which contains this attribute.
 java.lang.Object getExprVarVal(java.lang.String varName)
           
 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.util.Map getHints()
           
 java.util.HashMap getHintsFromResource(LocaleContext locale)
           
 java.lang.String getHintValue(LocaleContext locale, java.lang.String sHintName)
          Return non-defaulted hint value
 byte getHistoryKind()
          Gets the attribute history kind.
 int getIndex()
          Returns the column position of this attribute in the data source.
 java.lang.Class getJavaType()
          Returns the Java type of the attribute.
 java.lang.String getLabel(LocaleContext locale)
          Retrieves the label to be used in any attribute prompts
 ListBindingDef getListBindingDef()
           
 java.lang.String getLocaleName(LocaleContext locale, java.lang.String sName)
          function for retrieving the locale name of a hint
 java.lang.String getLOVFinder()
           
 java.lang.String getLOVName()
          Gets the name of the LOV on which the attribute is a primary attribute.
 java.lang.Class getMessageBundleClass()
           
 java.lang.String getObjectType()
          If the attribute is an object, returns the name of the attribute's object type
 java.lang.String[] getOIDAttrNames()
          Internal: Applications should not use this method.
 oracle.adf.share.security.binding.BindingPermissionDef getPermissionDef()
          Internal: Applications should not use this method.
 int getPrecision()
          Gets the attribute's precision.
 java.lang.Object getProperty(java.lang.String hintName)
          Retrieves the specified property, if it exists.
 java.lang.String getRecalcExpression()
           
 ResourceBundleDef getResourceBundleDef()
           
 java.lang.String getResourcePrefix()
           
protected  void getResourcesFromBundle(LocaleContext locale, java.util.HashMap map)
           
 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.
protected  SQLBuilder getSQLBuilder()
          Returns the SQLBuilderImpl - lazily building.
 int getSQLType()
          Returns the SQL type of this attribute.
static java.lang.String getSQLTypeIdToString(int typeId)
          Converts an identifier to the name of an SQL type.
static int getSQLTypeStringToId(java.lang.String sqlType)
          Converts a SQL type name to its identifier.
 java.lang.String getTooltip(LocaleContext locale)
          Retrives the tooltip text to be used for this attribute
 java.lang.String getTransientExpression()
           
 ExprEval getTransientExprEval()
           
 java.lang.Object getTypeFactory()
          Internal: Applications should not use this method.
 AttributeHints getUIHelper()
          return the AttributeHints interface implemented by this class
 byte getUpdateableFlag()
          Returns whether the attribute is updateable.
 JboValidatorInterface getValidator(int indx)
           
 int getValidatorCount()
           
 java.util.ArrayList getValidators()
          Get the list of JboValidatorInterface objects registered with this attribute
 VariableValueManager getVariableManager()
          Returns this object's current Variable Value Manager.
protected  VariableValueManager[] getVarMgrParents()
           
 java.lang.String getXMLElementTag()
          Gets the XML_ELEMENT custom-property and if not present returns the name of this attribute.
 boolean hasFormatInformation(LocaleContext locale)
          Return true if any format hints have been defined for this attribute.
 boolean hasHintOverride(LocaleContext locale, java.lang.String hintName)
           
 boolean hasTransientExpression()
           
 boolean hasVariables()
          Returns a flag indicating whether this object has Variables or not.
protected  void initFromXML(DefElement xmlElement, RowDef parent, int index)
           
protected  boolean isCascadeUpdateParticipant()
           
 boolean isDiscrColumn()
          Returns whether this attribute is a Discriminator Column for this Entity type.
 boolean isEffectiveDateSequence()
          Checks if the attribute represents an effective date sequence, used in Multiple Changes Per Day.
 boolean isEffectiveDateSequenceFlag()
          Checks if the attribute represents an effective date sequence flag, used in Multiple Changes Per Day to indicate whether a row is the latest change of the day or not.
 boolean isEffectiveEndDate()
          Checks if the attribute represents the effective end date.
 boolean isEffectiveStartDate()
          Checks if the attribute represents the effective start date.
 boolean isInWhereOrderGroup()
           
 boolean isMandatory()
          Returns whether the attribute is not null.
 boolean isObjectTableOID()
          Internal: Applications should not use this method.
 boolean isObjectTableRef()
          Internal: Applications should not use this method.
 boolean isPrimaryKey()
          Returns whether this attribute is a Primary Key for this Entity type.
 boolean isQueriable()
          Returns whether this attribute can participate in the WHERE clause of a SQL statement.
 boolean isRetrievedOnInsert()
          Returns whether the attribute value is retrieved from the database after a row is inserted in the post cycle.
 boolean isRetrievedOnUpdate()
          Returns whether the attribute is retrieved from the database after a row is updated.
 boolean isSelected()
           
 boolean isSessionScope()
           
protected  void loadCompOpersFromXML(DefElement xmlElement)
           
protected  void loadDependencies(DefElement xmlElement)
           
 java.lang.Object loadFromResultSet(java.sql.ResultSet rs, int index, DBTransactionImpl trans)
          Internal: Applications should not use this method.
 java.lang.Object loadFromStatement(java.sql.PreparedStatement cs, int index, Transaction trans)
          Internal: Applications should not use this method.
protected  void loadPermission(DefElement xmlElement)
           
protected  void loadProperties(DefElement xmlElement)
           
protected  void loadVariables(DefElement xmlElement)
           
 JboValidatorInterface lookupValidator(java.lang.String name)
           
 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.
protected  java.lang.String printXMLDefinition(Row row, java.util.Hashtable allDefs, java.io.PrintWriter pw, int depthCount)
          Prints DTD for this attribute and returns the xml-tag for this row to be included in the rowset's declaration.
 void removeValidator(JboValidatorInterface listener)
          Removes a JboValidatorInterface from the listener list.
protected  boolean requiresNamePrefixedResId()
           
protected  java.lang.Object resolvePropertyRaw(java.lang.String property, LocaleContext locale)
           
protected  void resolveReferences()
           
 void setAttrLoad(byte attrLoad)
           
 void setBaseDefObject(DefinitionObject baseDefObject)
           
 void setBaseDefObject(DefinitionObject baseDefObject, boolean addToBaseDef)
           
 void setColumnName(java.lang.String colName)
          Sets the column name of the attribute.
 void setDefaultValue(java.lang.Object val)
           
protected  void setDefForComponent(ComponentObjectImpl comp)
          Sets the Definition Object for the Component.
 void setDiscrColumn(boolean b)
           
 void setDomainName(java.lang.String domainName)
          Set the DomainName object which describes this attribute.
 void setEffectiveDateSequence(boolean isEffDtSeq)
          Marks this attribute as an effective date sequence, used in Multiple Changes Per Day.
 void setEffectiveDateSequenceFlag(boolean isEffDtSeqMarker)
          Marks this attribute as an effective date sequence flag, used in Multiple Changes Per Day to indicate a row is the latest change of the day.
 void setEffectiveDateType(byte effDtType)
          Marks this attribute as an effective start date, end date or none
 void setElemType(java.lang.Class cls)
           
 void setExprVarVal(java.lang.String varName, java.lang.Object val)
           
 void setLOVFinder(java.lang.String lovFinder)
           
 void setLOVName(java.lang.String lovName)
           
 void setMandatory(boolean b)
           
 void setName(java.lang.String name)
          Name this object.
 void setObjectType(java.lang.String objType)
          Set the Object type object which describes this attribute.
protected  void setParent(NamedObjectImpl parent)
          Sets this object's parent.
 void setPrecisionScale(int prec, int scale)
          Sets the attribute's precision and scale.
 void setPrimaryKey(boolean b)
           
 void setQueriable(boolean b)
           
 void setRecalcExpression(java.lang.String expr)
           
 void setRetrievedOnInsert(boolean b)
           
 void setRetrievedOnUpdate(boolean b)
           
 void setSelected(boolean b)
           
 void setSQLType(int typ)
           
 void setTransientExpression(java.lang.String expr)
           
 void setTransientExprEval(ExprEval exprEval)
           
 void setUpdateableFlag(byte updateable)
           
 boolean shouldEvaluateTransientExpression(Row row)
           
 void storeToBean(java.lang.Object bean, Row store)
          Internal: Applications should not use this method.
protected  void unsetDefForComponent(ComponentObjectImpl comp)
          Unsets the DefinitionObject For the component.
 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
 
Methods inherited from class oracle.jbo.mom.PersistableDefObject
close, createFromXML, deregisterSessionObject, getBaseDir, getBasePackage, getDefManager, getDefWriter, getFileName, getFullDirName, getFullFileName, getSubstitutedNames, guaranteePath, isDirty, isEditable, isNew, loadXMLContents, objectRemoved, registerClass, registerDefObject, registerSessionDefObject, remove, removeAndDelete, saveXMLContents, setDefaultBaseDir, setDirty, setEditable, setNew, verifyVersion, writeObject, writeVersion, writeXMLContents
 
Methods inherited from class oracle.jbo.mom.DefinitionObject
addExtendedDefObject, addPropertySetName, getContainerDef, getContainerName, getDefScope, getExtendedDefObjects, getMdsKey, getMdsReference, getPropertySetName, getPropertySetNames, hasExtendedDefObjects, isBaseDefFor, isDynamicDefinitionObject, isObjectResolved, loadCustomProperties, loadPropertiesInMap, loadPropertySetNames, loadSchemaProperties, removeExtendedDefObject, setDefScope, setMdsKey, setMdsReference, setObjectResolved, setPropertySetName
 
Methods inherited from class oracle.jbo.common.NamedObjectImpl
getFullName, getName, getParent, getProperties, getPropertiesAsStrings, getPropertiesMap, getProperty, getPropertyMap, refreshProperty, removeProperty, removeProperty, setFullName, setPropertiesMap, setPropertiesMap2, setProperty, setProperty, setPropertyMap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface oracle.jbo.AttributeDef
getName
 
Methods inherited from interface oracle.jbo.Properties
getProperties, getProperty, refreshProperty
 
Methods inherited from interface oracle.jbo.rules.ValidationManager
getFullName, getName
 
Methods inherited from interface oracle.jbo.VariableManagerOwner
getName
 
Methods inherited from interface oracle.jbo.mom.xml.DefPersistable
getFullName
 

Field Detail

ATTR_LOAD_EACH

public static final byte ATTR_LOAD_EACH
Indicates that the data for this attribute was retrieved from the query result.

See Also:
Constant Field Values

ATTR_LOAD_BULK

public static final byte ATTR_LOAD_BULK
Indicates that while retrieving data for this attribute from the query result, data for other attributes were bulk-retrieved as well.

See Also:
Constant Field Values

ATTR_LOAD_SKIP

public static final byte ATTR_LOAD_SKIP
Indicates that this attribute should be skipped; that is, its data was bulk-retrieved by another attribute from the query result.

See Also:
Constant Field Values

mColumnName

protected java.lang.String mColumnName
The database column name for the attribute.


mQueriable

protected boolean mQueriable
Value determines whether the attribute is queryable.


mUnique

protected boolean mUnique
Value determines whether the attribute is part of a unique key constraint.


mPrimaryKey

protected boolean mPrimaryKey
Value determines whether the attribute is primary key.


mDiscrColumn

protected boolean mDiscrColumn
Value determines whether the attribute is discriminator column.


mMandatory

protected boolean mMandatory
Value determines whether the attribute allows null values.


mRetrievedOnInsert

protected boolean mRetrievedOnInsert
Value determines whether the attribute is retrieved on Insert.


mRetrievedOnUpdate

protected boolean mRetrievedOnUpdate
Value determines whether the attribute is retrieved on update.


mDef

protected RowDef mDef
Back Pointer to Def Object where the Attribute belongs.


mObjectTableRef

protected boolean mObjectTableRef
Value determines whether the attribute has an Object table ref.


mObjectTableOID

protected boolean mObjectTableOID
Value determines whether the attribute is OID present.


mOIDAttrNames

protected java.lang.String[] mOIDAttrNames
Internal: Applications should not use this field.


mObjectType

protected java.lang.String mObjectType
Object Type of the attribute.


mNotNull

protected boolean mNotNull
Value determines whether the attribute is null.


mPrecision

protected int mPrecision
Precision Value for the attribute, defaulted to zero.


mScale

protected int mScale
Scale value for attribute, set by default to 0. This is the number of decimal points before/after the decimal based on whether on whether the scale if positive or negative.


mUpdateable

protected byte mUpdateable
Value determines whether the attribute is updatable.


mKind

protected byte mKind
Value for the Attribute's "kind"; for example, Transient, Dynamic, etc.


mAttrLoad

protected byte mAttrLoad
Value for the attribute's load value.


mType

protected int mType
Integer representation of the SQL type of the attribute.


mIndex

protected int mIndex
Index in the Table.


mDefaultValue

protected java.lang.Object mDefaultValue
The default value of the attribute.


mDomainName

protected java.lang.String mDomainName
Domain name for this attribute if it's type is a generated domain


mJavaType

protected java.lang.Class mJavaType
The Java Type Object for this attribute.


mElemType

protected java.lang.Class mElemType
Identifies the Java Type Object for this element. Used with VARRAYs.


mReadMethod

protected java.lang.reflect.Method mReadMethod
To keep the read method with this attribute.


mWriteMethod

protected java.lang.reflect.Method mWriteMethod
To keep the write method with this attribute.


mTypeFactory

protected java.lang.Object mTypeFactory
Identifies the ORADataFactory for this attribute.


mElemFactory

protected java.lang.Object mElemFactory

mTypeFactoryInitialized

protected boolean mTypeFactoryInitialized
Value determines whether this attribute has a type factory.


mSQLBuilder

protected SQLBuilder mSQLBuilder
Identifies the handle to SQL Builder.


mResolveAccessors

protected boolean mResolveAccessors
Value determines whether getters and setters are loaded.


mHistoryKind

protected byte mHistoryKind

mEffectiveDateType

protected byte mEffectiveDateType

mIsEffectiveDateSequence

protected boolean mIsEffectiveDateSequence

mIsEffectiveDateSequenceFlag

protected boolean mIsEffectiveDateSequenceFlag

mBackwardDep

protected java.util.ArrayList mBackwardDep

mForwardDep

protected java.util.ArrayList mForwardDep

HISTORY_NOT_DEFINED

public static final byte HISTORY_NOT_DEFINED
An attribute that is not defined as a history attribute

See Also:
Constant Field Values

HISTORY_CREATE_DATE

public static final byte HISTORY_CREATE_DATE
An attribute that is defined as a create_date history attribute

See Also:
Constant Field Values

HISTORY_MODIFY_DATE

public static final byte HISTORY_MODIFY_DATE
An attribute that is defined as a modify_date history attribute

See Also:
Constant Field Values

HISTORY_CREATE_USER

public static final byte HISTORY_CREATE_USER
An attribute that is defined as a create_user history attribute

See Also:
Constant Field Values

HISTORY_MODIFY_USER

public static final byte HISTORY_MODIFY_USER
An attribute that is defined as a modifiy_user history attribute

See Also:
Constant Field Values

HISTORY_MODIFY_VERSION

public static final byte HISTORY_MODIFY_VERSION
An attribute that is defined as a modifiy_version history attribute

See Also:
Constant Field Values

EFFECTIVE_DATE_TYPE_NONE

public static final byte EFFECTIVE_DATE_TYPE_NONE
An attribute that is not defined as an effective start or end date

See Also:
Constant Field Values

EFFECTIVE_DATE_TYPE_START

public static final byte EFFECTIVE_DATE_TYPE_START
An attribute that is defined as an effective start date

See Also:
Constant Field Values

EFFECTIVE_DATE_TYPE_END

public static final byte EFFECTIVE_DATE_TYPE_END
An attribute that is defined as an effective end date

See Also:
Constant Field Values

mDataSecurity

protected boolean mDataSecurity
Constructor Detail

AttributeDefImpl

protected AttributeDefImpl()
Default constructor for this class.

Method Detail

setParent

protected void setParent(NamedObjectImpl parent)
Sets this object's parent.

Parameters:
parent - the named object that is to be the parent of this object.

setBaseDefObject

public void setBaseDefObject(DefinitionObject baseDefObject)

setName

public void setName(java.lang.String name)
Name this object.

Parameters:
name -
For internal use only. Application developers should not use this

isSelected

public boolean isSelected()
Specified by:
isSelected in interface AttributeDef

setSelected

public void setSelected(boolean b)

isInWhereOrderGroup

public boolean isInWhereOrderGroup()

isQueriable

public boolean isQueriable()
Returns whether this attribute can participate in the WHERE clause of a SQL statement.

Queriable attributes are those attributes that can have a filter condition for the WHERE clause. If this method returns false, the attribute will not be used in constructing the WHERE clause of the SQL statement.

Specified by:
isQueriable in interface AttributeDef
Returns:
true if queriable; false if the attribute will not be used in the WHERE clause.

setQueriable

public void setQueriable(boolean b)

getUpdateableFlag

public byte getUpdateableFlag()
Returns whether the attribute is updateable.

Specified by:
getUpdateableFlag in interface AttributeDef
Returns:
true if this is an editable attribute; false otherwise.

setUpdateableFlag

public void setUpdateableFlag(byte updateable)

isSessionScope

public boolean isSessionScope()

isDiscrColumn

public boolean isDiscrColumn()
Returns whether this attribute is a Discriminator Column for this Entity type.

Specified by:
isDiscrColumn in interface AttributeDef
Returns:
true if this is a Discriminator Column; false otherwise.

setDiscrColumn

public void setDiscrColumn(boolean b)

isPrimaryKey

public boolean isPrimaryKey()
Returns whether this attribute is a Primary Key for this Entity type.

The following code snippet uses this method to find the name and value of the primary key attribute in an array of AttributeDefs (attrs[]).

 String curAttrName = null;
 for (int j = 0; j < attrs.length ; j ++ ) {
    if (attrs[j].isPrimaryKey()) {
       //get the name of the primary key
       curAttrName = attrs[j].getName();
       //assumes only one key
       String currValue = row.getAttribute(curAttrName).toString();
    }
 }
 

Specified by:
isPrimaryKey in interface AttributeDef
Returns:
true if this is a Primary Key; false otherwise.

setPrimaryKey

public void setPrimaryKey(boolean b)

getAltKeyCount

public int getAltKeyCount()

isRetrievedOnInsert

public boolean isRetrievedOnInsert()
Returns whether the attribute value is retrieved from the database after a row is inserted in the post cycle.

Some derived attributes need to be re-fetched after a save operation has been performed. These typically include timestamps, computed fields, virtual columns and Oracle ROWIDs and OIDs.

Returns:
true if this attribute is retrieved after insert operations; false otherwise.

setRetrievedOnInsert

public void setRetrievedOnInsert(boolean b)

isRetrievedOnUpdate

public boolean isRetrievedOnUpdate()
Returns whether the attribute is retrieved from the database after a row is updated.

Some derived attributes need to be re-fetched after a save operation has been performed. These typically include timestamps, computed fields, virtual columns and Oracle ROWIDs and OIDs.

Returns:
true if this attribute is retrieved after update operations; false otherwise.

setRetrievedOnUpdate

public void setRetrievedOnUpdate(boolean b)

isMandatory

public boolean isMandatory()
Returns whether the attribute is not null.

Specified by:
isMandatory in interface AttributeDef
Returns:
true if this is attribute not null; false otherwise.

setMandatory

public void setMandatory(boolean b)

isObjectTableRef

public boolean isObjectTableRef()
Internal: Applications should not use this method.


isObjectTableOID

public boolean isObjectTableOID()
Internal: Applications should not use this method.


getOIDAttrNames

public java.lang.String[] getOIDAttrNames()
Internal: Applications should not use this method.


getObjectType

public java.lang.String getObjectType()
If the attribute is an object, returns the name of the attribute's object type

For example, assume that you have created an Employee table that contains an Address object of type address_t. The SQL code would look like this:

 CREATE TYPE address_t AS OBJECT  -- user defined Oracle Object datatype
        (
        Street VARCHAR2(30),
        City VARCHAR2(25),
        State CHAR(2),
        Zip  Number
        );

 CREATE TABLE Employee
        (
        EmpId Number,
        Name VARCHAR2(30),
        Address address_t,  -- note the Oracle Object datatype
        );
 

In an Employee Entity Object, this would be interpreted as an Address attribute of type Address_t. If this method were applied to the Address attribute, it would return Address_t.

Returns:
the name of the type.

getPrecision

public int getPrecision()
Gets the attribute's precision.

For strings, precision is maximum allowed length. For numeric values, precision is the number of significant digits.

Specified by:
getPrecision in interface AttributeDef
Returns:
the precision value, or 0 if unspecified.

getScale

public 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.

Scale value is meaningful only for numeric attributes.

Specified by:
getScale in interface AttributeDef
Returns:
the scale value. The default is -127.

setPrecisionScale

public void setPrecisionScale(int prec,
                              int scale)
Sets the attribute's precision and 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.

Parameters:
prec - the precision value, or 0 if unspecified.
scale - the scale value. The default is -127.

getEntityDef

public EntityDefImpl getEntityDef()
Returns the EntityDefImpl object which contains this attribute.

Returns:
this Entity Object definition to which this attribute belongs.

getDef

public RowDef getDef()
Returns the DefObject object which describes this attribute.

Returns:
the definition for this attribute.

getIndex

public int getIndex()
Returns the column position of this attribute in the data source. Index position is 0-based.

Specified by:
getIndex in interface AttributeDef
Returns:
the column index.

getSQLType

public int getSQLType()
Returns the SQL type of this attribute.

Specified by:
getSQLType in interface AttributeDef
Returns:
the data type. For JDBC types, returns a value of java.sql.Types. For Oracle JDBC types, returns a value of oracle.jdbc.OracleTypes.
See Also:
Types

setSQLType

public void setSQLType(int typ)

setDomainName

public void setDomainName(java.lang.String domainName)
Set the DomainName object which describes this attribute.


getDomainName

public java.lang.String getDomainName()
Returns the DomainName object which describes this attribute.

Returns:
the Domain Name for this attribute.

setObjectType

public void setObjectType(java.lang.String objType)
Set the Object type object which describes this attribute.


getAttributeKind

public byte getAttributeKind()
Returns the "kind" enumerations of this attribute. The "kind" of enumeration can be either persistent, derived, row-associated, transient, or dynamic.

The following code snippet uses this method to return the attribute kind for each element in an array of AttributeDefs. Some processing is then done based on the results.

 for(int i=0; i < attributeDefs.length; i++)
 {
    byte attrKind=attributeDefs[i].getAttributeKind();
    if(attrKind==AttributeDef.ATTR_ASSOCIATED_ROW  ||
      attrKind==AttributeDef.ATTR_ASSOCIATED_ROWITERATOR)
      {
        do some processing
      }
  }
 

Specified by:
getAttributeKind in interface AttributeDef
Returns:
one of ATTR_PERSISTENT, ATTR_SQL_DERIVED, ATTR_ASSOCIATED_ROW, ATTR_TRANSIENT, ATTR_DYNAMIC, ATTR_ENTITY_DERIVED, or ATTR_ASSOCIATED_ROWITERATOR.

getAttrLoad

public byte getAttrLoad()
Describes the manner in which the data for this attribute is loaded from database.

In the typical case, after the View Object query is executed, the framework retrieves data from the query result and populates the Entity row with the attribute values.

The framework uses two different ways to retrieve data from the query result. The first is the normal SQL SELECT way--the column corresponding to the attribute is accessible in the query result. For example, if the View Object query says SELECT e.Empno, e.Ename, e.Job, FROM Emp then attributes corresponding to columns Empno, Ename, and Job are accessible from the query result. That is, one can do result.getObject("Empno") to JDBC to retrieve the data. This situation is described as by the getAttrLoad() return value ATTR_LOAD_EACH.

If the query is over an Oracle Object table, on the other hand, the framework doesn't have access to individual columns from the query result. For example, assume an object table OBJEMP is based on an object type T, and this type has attributes Name, Address, and Job.

The query statement that the framework builds for such a table is select value(o) from TAB o. This retrieves each row from the table as an Oracle Object. From JDBC, the framework gets this as an object (STRUCT) and gets attributes out of the STRUCT.

In this case, the Entity Object attributes will have the following attribute load values:

    Name    -- ATTR_LOAD_BULK
    Address -- ATTR_LOAD_SKIP
    Job     -- ATTR_LOAD_SKIP
 

ATTR_LOAD_BULK on Name means that while the framework retrieves data for Name, data for the other attributes, Address and Job is bulk-retrieved as well. ATTR_LOAD_SKIP on Address and Job means that since the framework filled in Address and Job while it retrieved Name, they should be skipped since they were bulk-retrieved with Name.

Returns:
the load value. Can be one of ATTR_LOAD_BULK, ATTR_LOAD_SKIP, or ATTR_LOAD_EACH.

setAttrLoad

public void setAttrLoad(byte attrLoad)

getJavaType

public java.lang.Class getJavaType()
Returns the Java type of the attribute.

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.

Specified by:
getJavaType in interface AttributeDef
Returns:
the attribute's Java class, or Object for attributes which have no accessor methods available.

getElemType

public java.lang.Class getElemType()
Returns the element type of the attribute.

For VARRAYs, this method returns the class name of the elements that are in the VARRAY.

Element type is relevant only if the attribute is an array attribute.

Specified by:
getElemType in interface AttributeDef
Returns:
the attribute's element class, or null if the attribute is not an array attribute.

getElemSQLType

public int getElemSQLType()
Returns the jdbc type of the elements of this attribute.

For VARRAYs, this method returns the jdbc type of the elements that are in the VARRAY.

Element type is relevant only if the attribute is an array attribute.

Specified by:
getElemSQLType in interface AttributeDef
Returns:
the jdbc type (java.sql.Types.*) of this attribute's elements, or -1 if this attribute is not an array attribute.

setElemType

public void setElemType(java.lang.Class cls)

getDefaultValue

public java.lang.Object getDefaultValue()
Returns the default value of the attribute.

The default value for an attribute is expressed in terms of the Java type system, rather than the storage type system.

Returns:
the default value for the attribute, or null if none.

setDefaultValue

public void setDefaultValue(java.lang.Object val)

setColumnName

public void setColumnName(java.lang.String colName)
Sets the column name of the attribute.

Parameters:
colName - the database column name of this attribute.

getColumnName

public java.lang.String getColumnName()
Returns the column name to which this attribute is mapped.

Specified by:
getColumnName in interface AttributeDef
Returns:
the database column name of this attribute.

setTransientExpression

public void setTransientExpression(java.lang.String expr)

setTransientExprEval

public void setTransientExprEval(ExprEval exprEval)

setRecalcExpression

public void setRecalcExpression(java.lang.String expr)

hasTransientExpression

public boolean hasTransientExpression()

getTransientExpression

public java.lang.String getTransientExpression()

getTransientExprEval

public ExprEval getTransientExprEval()

getRecalcExpression

public java.lang.String getRecalcExpression()

shouldEvaluateTransientExpression

public boolean shouldEvaluateTransientExpression(Row row)

evaluateTransientExpression

public java.lang.Object evaluateTransientExpression(Row row)

getColumnNameForQuery

public java.lang.String getColumnNameForQuery()
Returns the column name to be used in query statement.

For Entity Object attributes, this REF([entity-alias]) if the attribute is an object table reference. Otherwise, it is [entity-alias].[column-name], where [column-name] is the name of the column to which the attribute is mapped (that is, the value returned by getColumnName.

For View Object attributes, the value it returns depends on whether the query was created in expert mode:

Specified by:
getColumnNameForQuery in interface AttributeDef
Returns:
the column name to be used in query.

convertToJava

public java.lang.Object convertToJava(java.lang.Object data)
                               throws DataCreationException
Converts a value from the database type to its corresponding Java type and returns the result.

This method uses AttributeDefImpl() metadata to convert a database value to the corresponding Java value.

Parameters:
data - a storage value to be converted.
Returns:
an object of the Java type defined for this attribute.
Throws:
DataCreationException - if the conversion cannot be performed.

getTypeFactory

public java.lang.Object getTypeFactory()
Internal: Applications should not use this method.

Returns the type factory for this attribute.


getElemFactory

public java.lang.Object getElemFactory()
Internal: Applications should not use this method.


loadFromResultSet

public java.lang.Object loadFromResultSet(java.sql.ResultSet rs,
                                          int index,
                                          DBTransactionImpl trans)
                                   throws DataCreationException
Internal: Applications should not use this method.

Returns the value from the specified ResultSet at the specified index. This method can be used when customizing the way that attributes are populated in the row. For example, assume you have a database Name column that contains a first name and a last name. You can use this method to fetch an individual entry, then parse the entry into separate Firstname and a Lastname attribute.

Parameters:
rs - the result set containing the value.
index - the index position for the value.
trans - the transaction containing the ResultSet.
Throws:
DataCreationException - if the Domain object cannot be created.

loadFromStatement

public java.lang.Object loadFromStatement(java.sql.PreparedStatement cs,
                                          int index,
                                          Transaction trans)
                                   throws DataCreationException
Internal: Applications should not use this method.

Returns the value from the specified JDBC prepared statement at the specified index. This method can be used when customizing the way that attributes are populated in the row. For example, assume you have a database Name column that contains a first name and a last name. You can use this method to fetch an individual entry, then parse the entry into separate Firstname and a Lastname attribute.

Parameters:
cs - the prepared statement containing the value.
index - the index position for the value.
trans - the transaction containing the ResultSet.
Throws:
DataCreationException - if the Domain object cannot be created.

convertToStorage

public java.lang.Object convertToStorage(java.lang.Object data,
                                         DBTransactionImpl trans)
Internal: Application should not use this method.

Converts a value from the attribute's Java type to a database type.

This method uses AttributeDefImpl metadata to convert a Java value to the corresponding database value. This method is typically called before the framework sets an attribute inside a JDBC statement parameter.

Parameters:
data - a Java value to be converted.
trans - the database transaction.
Returns:
an object of the storage type.
Throws:
DataCreationException - if the conversion cannot be performed.

getValidatorCount

public int getValidatorCount()

getValidator

public JboValidatorInterface getValidator(int indx)

getValidators

public java.util.ArrayList getValidators()
Get the list of JboValidatorInterface objects registered with this attribute

Specified by:
getValidators in interface ValidationManager
Returns:
ArrayList List of Validators

lookupValidator

public JboValidatorInterface lookupValidator(java.lang.String name)

addValidator

public void addValidator(JboValidatorInterface listener)
Add a JboValidatorInterface to the listener list.

Specified by:
addValidator in interface ValidationManager
Parameters:
listener - The Validator to be added

removeValidator

public void removeValidator(JboValidatorInterface listener)
Removes a JboValidatorInterface from the listener list.

Parameters:
listener - The Validator to be removed

getLOVName

public java.lang.String getLOVName()
Gets the name of the LOV on which the attribute is a primary attribute.

Specified by:
getLOVName in interface AttributeDef
Returns:
name of the LOV

setLOVName

public void setLOVName(java.lang.String lovName)

getListBindingDef

public ListBindingDef getListBindingDef()
Specified by:
getListBindingDef in interface AttributeDef

getLOVFinder

public java.lang.String getLOVFinder()

setLOVFinder

public void setLOVFinder(java.lang.String lovFinder)

getAccessorVO

public ViewObject getAccessorVO(ViewObject originVO)
Description copied from interface: AttributeDef
For an accessor attribute, this method creates a View Object that works for the View Link definition.

Specified by:
getAccessorVO in interface AttributeDef
Parameters:
originVO - the View Object that owns the accessor
Returns:
a ViewObject instance.

isEffectiveStartDate

public boolean isEffectiveStartDate()
Checks if the attribute represents the effective start date.

Returns:
true or false

isEffectiveEndDate

public boolean isEffectiveEndDate()
Checks if the attribute represents the effective end date.

Returns:
true or false

setEffectiveDateType

public void setEffectiveDateType(byte effDtType)
Marks this attribute as an effective start date, end date or none

Parameters:
effDtType - valid values are EFFECTIVE_DATE_TYPE_START, EFFECTIVE_DATE_TYPE_END or EFFECTIVE_DATE_TYPE_NONE.

setEffectiveDateSequence

public void setEffectiveDateSequence(boolean isEffDtSeq)
Marks this attribute as an effective date sequence, used in Multiple Changes Per Day.


isEffectiveDateSequence

public boolean isEffectiveDateSequence()
Checks if the attribute represents an effective date sequence, used in Multiple Changes Per Day.


setEffectiveDateSequenceFlag

public void setEffectiveDateSequenceFlag(boolean isEffDtSeqMarker)
Marks this attribute as an effective date sequence flag, used in Multiple Changes Per Day to indicate a row is the latest change of the day.


isEffectiveDateSequenceFlag

public boolean isEffectiveDateSequenceFlag()
Checks if the attribute represents an effective date sequence flag, used in Multiple Changes Per Day to indicate whether a row is the latest change of the day or not.


getDefXMLElementTag

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

writeChildren

public void writeChildren(DefWriter jos)
Description copied from interface: PersistentDefinition
Writes the Object's children to the Persistent storage

Specified by:
writeChildren in interface PersistentDefinition
Parameters:
jos - the Output storage for persistence

writeContents

public void writeContents(DefWriter jos)
Description copied from interface: PersistentDefinition
Objects should write their persistence output in this method

Specified by:
writeContents in interface PersistentDefinition
Overrides:
writeContents in class PersistableDefObject
Parameters:
jos - the Output storage for persistence

initFromXML

protected void initFromXML(DefElement xmlElement,
                           RowDef parent,
                           int index)

loadCompOpersFromXML

protected void loadCompOpersFromXML(DefElement xmlElement)

loadPermission

protected void loadPermission(DefElement xmlElement)

getSQLTypeStringToId

public static int getSQLTypeStringToId(java.lang.String sqlType)
Converts a SQL type name to its identifier.

Parameters:
sqlType - the name of a SQL datatype.
Returns:
the SQL type's identifier.
See Also:
JboTypeMap

getSQLTypeIdToString

public static java.lang.String getSQLTypeIdToString(int typeId)
Converts an identifier to the name of an SQL type.

Parameters:
typeId - an SQL type identifier.
Returns:
the name of an SQL type.
See Also:
JboTypeMap

getDefTypeId

public int getDefTypeId()

setDefForComponent

protected void setDefForComponent(ComponentObjectImpl comp)
Sets the Definition Object for the Component.

Parameters:
comp - component definition

unsetDefForComponent

protected void unsetDefForComponent(ComponentObjectImpl comp)
Unsets the DefinitionObject For the component.

Parameters:
comp - component definition

getSQLBuilder

protected SQLBuilder getSQLBuilder()
Returns the SQLBuilderImpl - lazily building.

Returns:
the SQLBuilderImpl

storeToBean

public void storeToBean(java.lang.Object bean,
                        Row store)
Internal: Applications should not use this method.


beanToStore

public void beanToStore(java.lang.Object bean,
                        Row store)
Internal: Applications should not use this method.


getXMLElementTag

public java.lang.String getXMLElementTag()
Gets the XML_ELEMENT custom-property and if not present returns the name of this attribute.

Specified by:
getXMLElementTag in interface PersistentDefinition
Overrides:
getXMLElementTag in class PersistableDefObject
Returns:
returns the Statement required to store in Persitent Storage. Incase of XML, it just returns the String. In the case of SQL a JDBC PreparedStatement is returned.

printXMLDefinition

protected java.lang.String printXMLDefinition(Row row,
                                              java.util.Hashtable allDefs,
                                              java.io.PrintWriter pw,
                                              int depthCount)
Prints DTD for this attribute and returns the xml-tag for this row to be included in the rowset's declaration. If this attribute is a rowset and bContainees is true, calls the RowSet for the attribute to print it's definition and returns the RowSet's xml-tag.


getUIHelper

public AttributeHints getUIHelper()
return the AttributeHints interface implemented by this class

Specified by:
getUIHelper in interface AttributeDef
See Also:
AttributeHints

getLocaleName

public java.lang.String getLocaleName(LocaleContext locale,
                                      java.lang.String sName)
Description copied from interface: AttributeHints
function for retrieving the locale name of a hint

Specified by:
getLocaleName in interface AttributeHints

getResourceBundleDef

public ResourceBundleDef getResourceBundleDef()
Specified by:
getResourceBundleDef in interface ResourceBundleOwner
Specified by:
getResourceBundleDef in interface ValidationManager
Specified by:
getResourceBundleDef in interface VariableManagerOwnerBase

getResourcePrefix

public java.lang.String getResourcePrefix()
Specified by:
getResourcePrefix in interface ResourceBundleOwner

getProperty

public java.lang.Object getProperty(java.lang.String hintName)
Description copied from class: NamedObjectImpl
Retrieves the specified property, if it exists.

Specified by:
getProperty in interface Properties
Overrides:
getProperty in class NamedObjectImpl
Parameters:
hintName - a string to be used as a hash table key.
Returns:
the value associated with hintName, if any, otherwise null.

requiresNamePrefixedResId

protected boolean requiresNamePrefixedResId()
Overrides:
requiresNamePrefixedResId in class NamedObjectImpl

resolvePropertyRaw

protected java.lang.Object resolvePropertyRaw(java.lang.String property,
                                              LocaleContext locale)

getAllProperties

public java.util.HashMap getAllProperties(java.util.HashMap map,
                                          LocaleContext locale)

getLabel

public final java.lang.String getLabel(LocaleContext locale)
Retrieves the label to be used in any attribute prompts

Specified by:
getLabel in interface AttributeHints

hasHintOverride

public boolean hasHintOverride(LocaleContext locale,
                               java.lang.String hintName)

getCompOpers

public java.util.ArrayList getCompOpers()

getCompOpers

public java.lang.String[][] getCompOpers(LocaleContext locale)
Description copied from interface: AttributeHints
Returns a Map of operators for this attribute.

Specified by:
getCompOpers in interface AttributeHints

getTooltip

public final java.lang.String getTooltip(LocaleContext locale)
Retrives the tooltip text to be used for this attribute

Specified by:
getTooltip in interface AttributeHints

getDisplayHint

public final java.lang.String getDisplayHint(LocaleContext locale)
Retrieves the display hint that dictates whether this attribute should be visible or not. The two possible values are: ATTRIBUTE_DISPLAY_HINT_DISPLAY = "Display"; ATTRIBUTE_DISPLAY_HINT_HIDE = "Hide";

Specified by:
getDisplayHint in interface AttributeHints

getControlType

public final int getControlType(LocaleContext locale)
Returns the preferred control type for this attribute

Specified by:
getControlType in interface AttributeHints

getDisplayWidth

public final int getDisplayWidth(LocaleContext locale)
Returns the display width for this attribute

Specified by:
getDisplayWidth in interface AttributeHints

getDisplayHeight

public final int getDisplayHeight(LocaleContext locale)
Returns the display width for this attribute

Specified by:
getDisplayHeight in interface AttributeHints

getHint

public java.lang.String getHint(LocaleContext locale,
                                java.lang.String sHintName)
Return defaulted hint value

Specified by:
getHint in interface AttributeHints

getHintValue

public java.lang.String getHintValue(LocaleContext locale,
                                     java.lang.String sHintName)
Return non-defaulted hint value

Specified by:
getHintValue in interface AttributeHints

getFormat

public final java.lang.String getFormat(LocaleContext locale)
Description copied from interface: AttributeHints
returns the format string stored in the ui hints

Specified by:
getFormat in interface AttributeHints

getFormatter

public final Formatter getFormatter(LocaleContext locale)
Description copied from interface: AttributeHints
returns the formatter object stored in the ui hints

Specified by:
getFormatter in interface AttributeHints

hasFormatInformation

public final boolean hasFormatInformation(LocaleContext locale)
Description copied from interface: AttributeHints
Return true if any format hints have been defined for this attribute. This function should eb used to bracket any calls to the formatting api.

Specified by:
hasFormatInformation in interface AttributeHints

getFormattedAttribute

public final java.lang.String getFormattedAttribute(AttributeList attrList,
                                                    LocaleContext locale)
Description copied from interface: AttributeHints
Returns the formatted value for the attribute. The AttributeList parameter will usually be an instance of the oracle.jbo.Row class.

Specified by:
getFormattedAttribute in interface AttributeHints

parseFormattedAttribute

public final java.lang.Object parseFormattedAttribute(java.lang.String sValue,
                                                      LocaleContext locale)
Description copied from interface: AttributeHints
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.

Specified by:
parseFormattedAttribute in interface AttributeHints

displayInShortForm

public final boolean displayInShortForm(LocaleContext locale)
Description copied from interface: AttributeHints
Returns true if the attribute is to displayed in the short(summary) form.

Specified by:
displayInShortForm in interface AttributeHints

getFormatterClassName

public final java.lang.String getFormatterClassName(LocaleContext locale)
Returns the formatter object stored in the ui hints

Specified by:
getFormatterClassName in interface AttributeHints

getHints

public java.util.Map getHints()

getHintsFromResource

public java.util.HashMap getHintsFromResource(LocaleContext locale)

getHistoryKind

public byte getHistoryKind()
Gets the attribute history kind.

Returns:
one of the HISTORY constants defined for this class.

isCascadeUpdateParticipant

protected final boolean isCascadeUpdateParticipant()

getMessageBundleClass

public java.lang.Class getMessageBundleClass()
Specified by:
getMessageBundleClass in interface VariableManagerOwnerBase

getPermissionDef

public oracle.adf.share.security.binding.BindingPermissionDef getPermissionDef()
Internal: Applications should not use this method.

Returns the security metadata for this attribute.


addBackwardDependency

public void addBackwardDependency(java.lang.String attrName)
Internal: Applications should not use this method.


addForwardDependency

public void addForwardDependency(java.lang.String attrName)
Internal: Applications should not use this method.


loadDependencies

protected void loadDependencies(DefElement xmlElement)

getExprVarVal

public java.lang.Object getExprVarVal(java.lang.String varName)
Specified by:
getExprVarVal in interface ExprValueSupplier

setExprVarVal

public void setExprVarVal(java.lang.String varName,
                          java.lang.Object val)
Specified by:
setExprVarVal in interface ExprValueSupplier

getResourcesFromBundle

protected void getResourcesFromBundle(LocaleContext locale,
                                      java.util.HashMap map)
Overrides:
getResourcesFromBundle in class NamedObjectImpl

getBaseDefObject

public DefinitionObject getBaseDefObject()
Overrides:
getBaseDefObject in class DefinitionObject

setBaseDefObject

public void setBaseDefObject(DefinitionObject baseDefObject,
                             boolean addToBaseDef)
Overrides:
setBaseDefObject in class DefinitionObject

resolveReferences

protected void resolveReferences()
Overrides:
resolveReferences in class DefinitionObject

finishedLoading

protected void finishedLoading()
Overrides:
finishedLoading in class DefinitionObject

loadProperties

protected void loadProperties(DefElement xmlElement)
Overrides:
loadProperties in class DefinitionObject
Parameters:
xmlElement - The XML element to load from.

loadVariables

protected void loadVariables(DefElement xmlElement)

getVariableManager

public VariableValueManager getVariableManager()
Description copied from interface: VariableManagerOwnerBase
Returns this object's current Variable Value Manager. It will return null if Variable Value Manager has been initialized.

When a framework object is first created, its Variable Value Manager may be null. This method does not initialize (create) the Variable Value Manager.

VariableManagerOwnerBase.ensureVariableManager() in contrast, ensures that the Variable Value Manager is initialized (created).

Specified by:
getVariableManager in interface VariableManagerOwnerBase
Returns:
this object's current Variable Value Manager. May return null if one was not yet initialized.

getVarMgrParents

protected VariableValueManager[] getVarMgrParents()

hasVariables

public boolean hasVariables()
Description copied from interface: VariableManagerOwnerBase
Returns a flag indicating whether this object has Variables or not.

Specified by:
hasVariables in interface VariableManagerOwnerBase
Returns:
the flag indicating whether this object has Variables.

ensureVariableManager

public VariableValueManager ensureVariableManager()
Description copied from interface: VariableManagerOwnerBase
Returns this object's Variable Value Manager. If this object current has no Variable Value Manager, it will initialize (create) one.

Specified by:
ensureVariableManager in interface VariableManagerOwnerBase
Returns:
this object's Variable Value Manager. Will create a Variable Value Manager if this object had no Variable Value Manager.

getDefXMLNameSpace

public java.lang.String getDefXMLNameSpace()
Specified by:
getDefXMLNameSpace in interface PersistentDefinition
Overrides:
getDefXMLNameSpace in class PersistableDefObject

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

E10653-01

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