|
Oracle Fusion Middleware Java API Reference for Oracle ADF Model 11g Release 1 (11.1.1.7.0) E10653-08 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectoracle.jbo.common.NamedObjectImpl
oracle.jbo.mom.DefinitionObject
oracle.jbo.mom.PersistableDefObject
oracle.jbo.server.DefObject
oracle.jbo.server.AttributeDefImpl
public class AttributeDefImpl
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 AttributeDefImpl. However subclasses cannot directly
access protected member variables of this class. These are protected only
for api compatibility reasons and may be renamed, removed or moved out to another
object for performance and/or memory considerations. Use accessor methods
to get to the values of these protected members.
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(...);
Nested Class Summary |
---|
Nested classes/interfaces inherited from class oracle.jbo.mom.PersistableDefObject |
---|
PersistableDefObject.CustomizationType, PersistableDefObject.PersonalizationType |
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
Deprecated. for internal framework use only. Value for the attribute's load value. |
protected java.util.ArrayList |
mBackwardDep
Deprecated. for internal framework use only. |
protected boolean |
mBCheckedForSIF
Deprecated. for internal framework use only. |
protected boolean |
mBCheckSIFCtrlHints
Deprecated. for internal framework use only. |
protected java.lang.String |
mColumnName
Deprecated. for internal framework use only. The database column name for the attribute. |
protected boolean |
mDataSecurity
Deprecated. for internal framework use only. |
protected RowDef |
mDef
Deprecated. for internal framework use only. Back Pointer to Def Object where the Attribute belongs. |
protected java.lang.Object |
mDefaultValue
Deprecated. for internal framework use only. The default value of the attribute. |
protected boolean |
mDiscrColumn
Deprecated. for internal framework use only. Value determines whether the attribute is discriminator column. |
protected java.lang.String |
mDomainName
Deprecated. for internal framework use only. Domain name for this attribute if it's type is a generated domain |
protected byte |
mEffectiveDateType
Deprecated. for internal framework use only. |
protected java.lang.Object |
mElemFactory
Deprecated. for internal framework use only. |
protected java.lang.Class |
mElemType
Deprecated. for internal framework use only. Identifies the Java Type Object for this element. Used with VARRAYs. |
protected byte |
mHistoryKind
Deprecated. for internal framework use only. |
protected int |
mIndex
Deprecated. for internal framework use only. Index in the Table. |
protected boolean |
mIsEffectiveDateSequence
Deprecated. for internal framework use only. |
protected boolean |
mIsEffectiveDateSequenceFlag
Deprecated. for internal framework use only. |
protected java.lang.Class |
mJavaType
Deprecated. for internal framework use only. The Java Type Object for this attribute. |
protected byte |
mKind
Deprecated. for internal framework use only. Value for the Attribute's "kind"; for example, Transient, Dynamic, etc. |
protected boolean |
mMandatory
Deprecated. for internal framework use only. Value determines whether the attribute allows null values. |
protected boolean |
mNotNull
Deprecated. for internal framework use only. Value determines whether the attribute is null. |
protected boolean |
mObjectTableOID
Deprecated. for internal framework use only. Value determines whether the attribute is OID present. |
protected boolean |
mObjectTableRef
Deprecated. for internal framework use only. Value determines whether the attribute has an Object table ref. |
protected java.lang.String |
mObjectType
Deprecated. for internal framework use only. Object Type of the attribute. |
protected java.lang.String[] |
mOIDAttrNames
Deprecated. for internal framework use only. Internal: Applications should not use this field. |
protected int |
mPrecision
Deprecated. for internal framework use only. Precision Value for the attribute, defaulted to zero. |
protected boolean |
mPrimaryKey
Deprecated. for internal framework use only. Value determines whether the attribute is primary key. |
protected boolean |
mQueriable
Deprecated. for internal framework use only. Value determines whether the attribute is queryable. |
protected java.lang.reflect.Method |
mReadMethod
Deprecated. for internal framework use only. To keep the read method with this attribute. |
protected boolean |
mResolveAccessors
Deprecated. for internal framework use only. Value determines whether getters and setters are loaded. |
protected boolean |
mRetrievedOnInsert
Deprecated. for internal framework use only. Value determines whether the attribute is retrieved on Insert. |
protected boolean |
mRetrievedOnUpdate
Deprecated. for internal framework use only. Value determines whether the attribute is retrieved on update. |
protected int |
mScale
Deprecated. for internal framework use only. 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. |
protected SQLBuilder |
mSQLBuilder
Deprecated. for internal framework use only. Identifies the handle to SQL Builder. |
protected int |
mType
Deprecated. for internal framework use only. Integer representation of the SQL type of the attribute. |
protected java.lang.Object |
mTypeFactory
Deprecated. for internal framework use only. Identifies the ORADataFactory for this attribute. |
protected boolean |
mTypeFactoryInitialized
Deprecated. for internal framework use only. Value determines whether this attribute has a type factory. |
protected boolean |
mUnique
Deprecated. for internal framework use only. Value determines whether the attribute is part of a unique key constraint. |
protected byte |
mUpdateable
Deprecated. for internal framework use only. Value determines whether the attribute is updatable. |
protected java.lang.reflect.Method |
mWriteMethod
Deprecated. for internal framework use only. To keep the write method with this attribute. |
Fields inherited from class oracle.jbo.mom.DefinitionObject |
---|
DEF_MDS_CLIENT_KEY, DEF_SCOPE_ALL, DEF_SCOPE_PERS, DEF_SCOPE_SESSION, DEF_SCOPE_SHARED, mBaseDefObject, mExtendedDefObjects, mObjectResolved, PERSDEF_MDS_CLIENT_KEY, PROPERTY_EXPRMAP |
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.GenericHints |
---|
PROPERTY_LABEL, PROPERTY_LABEL_PLURAL, PROPERTY_TOOLTIP |
Fields inherited from interface oracle.jbo.mom.xml.DefPersistable |
---|
XML_STATEMENT |
Constructor Summary | |
---|---|
protected |
AttributeDefImpl()
Default constructor for this class. |
Method Summary | |
---|---|
void |
addBackwardDependency(AttributeDependency attrDep)
Internal: Applications should not use this method. |
void |
addBackwardDependency(java.lang.String attrName)
Internal: Applications should not use this method. |
void |
addCompOper(JboCompOper oper)
|
protected void |
addExtendedDefObject(DefinitionObject extendedDefObject)
|
void |
addForwardDependency(java.lang.String attrName)
Internal: Applications should not use this method. |
void |
addValidator(JboValidatorInterface listener)
Add a JboValidatorInterface to the listener list. |
protected java.util.HashMap |
adjustPropertyMapForWrite()
|
void |
beanToStore(java.lang.Object bean,
Row store)
Internal: Applications should not use this method. |
static java.lang.String |
convertHistoryColumnFlagToString(byte flag)
|
static byte |
convertHistoryColumnStringToFlag(java.lang.String str,
byte editable)
|
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. |
static AttributeDependency |
createAttributeDependencyImpl(java.lang.String name,
AttributeDependency.Type type)
Deprecated. since 11.1.1.5.0 |
boolean |
displayInShortForm(LocaleContext locale)
Returns true if the attribute is to displayed in the short(summary) form. |
java.lang.Object |
evaluateTransientExpression(Row row)
|
ViewObject |
getAccessorVO(ViewObject originVO)
For an accessor attribute, this method creates a View Object that works for the View Link definition. |
java.util.List |
getAllExtendedDefObjects()
|
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. |
java.util.List |
getBackwardDependencies()
|
java.util.List<java.lang.String> |
getBackwardDependenciesNames()
|
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()
|
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.util.ArrayList |
getExtendedDefObjects()
Returns copied list of extended definition objects. |
java.util.List<DefinitionObject> |
getExtendedDefObjectsInternal()
|
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.util.ArrayList |
getForwardDependencyAttributes()
|
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 |
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 |
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()
|
ExprEval.Privilege |
getRecalcExpressionPrivilege()
Deprecated. since 11.1.1.4.0 Applications should not use this method |
ExprEval.TrustMode |
getRecalcExpressionTrustMode()
Deprecated. |
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. |
java.lang.String |
getSerializerClassName()
Gets the name of the custom value serializer class. |
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.Privilege |
getTransientExpressionPrivilege()
Deprecated. since 11.1.1.4.0 Applications should not use this method |
ExprEval.TrustMode |
getTransientExpressionTrustMode()
Deprecated. |
ExprEval |
getTransientExprEval()
Deprecated. since 11.1.1.4.0 Applications should not use this method |
java.lang.Object |
getTypeFactory()
Internal: Applications should not use this method. |
java.lang.String |
getTypeValueMapPropertySet()
Returns the TypeValueMapPropertySet object which describes this attribute. |
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 |
ValueSerializer |
getValueSerializer()
Gets an instance of the custom value serializer class. |
java.lang.String |
getXMLElementTag()
Gets the XML_ELEMENT custom-property and if not present returns the name of this attribute. |
boolean |
hasExtendedDefObjects()
|
boolean |
hasFormatInformation(LocaleContext locale)
Return true if any format hints have been defined for this attribute. |
boolean |
hasHintDefined(LocaleContext locale,
java.lang.String hintName)
|
boolean |
hasHintOverride(LocaleContext locale,
java.lang.String hintName)
|
boolean |
hasTransientExpression()
|
protected void |
initFromXML(DefElement xmlElement,
RowDef parent,
int index)
|
boolean |
isAutoSubmit(LocaleContext locale)
Returns the autoSubmit value for this attribute |
protected boolean |
isCascadeUpdateParticipant()
|
boolean |
isChangeIndicatorColumn()
|
boolean |
isDiscrColumn()
Returns whether this attribute is a Discriminator Column for this Entity type. |
boolean |
isEffectiveDateRelated()
Deprecated. |
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 |
isHistoryColumn()
|
boolean |
isInWhereOrderGroup()
|
boolean |
isKey()
|
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()
|
boolean |
isUnique()
|
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)
|
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 |
resolveObjectProperty(java.lang.String property,
LocaleContext locale)
|
protected java.lang.Object |
resolvePropertyRaw(java.lang.String property,
LocaleContext locale)
|
void |
setAttrLoad(byte attrLoad)
|
void |
setBackwardDependencies(java.util.List arr)
|
void |
setBaseDefObject(DefinitionObject baseDefObject)
|
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 |
setHistoryKind(byte historyKind)
|
void |
setJavaType(java.lang.Class cls)
|
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 |
setPermissionDef(oracle.adf.share.security.binding.BindingPermissionDef permDef)
|
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 |
setRecalcExpressionPrivilege(ExprEval.Privilege pr)
Deprecated. since 11.1.1.4.0 Applications should not use this method |
void |
setRecalcExpressionTrustMode(ExprEval.TrustMode trusted)
Deprecated. |
void |
setRetrievedOnInsert(boolean b)
|
void |
setRetrievedOnUpdate(boolean b)
|
void |
setSelected(boolean b)
|
void |
setSerializerClassName(java.lang.String className)
Sets the name of the custom value serializer class. |
void |
setSQLType(int typ)
|
void |
setTransientExpression(java.lang.String expr)
|
void |
setTransientExpressionPrivilege(ExprEval.Privilege pr)
Deprecated. since 11.1.1.4.0 Applications should not use this method |
void |
setTransientExpressionTrustMode(ExprEval.TrustMode trusted)
Deprecated. |
void |
setTypeValueMapPropertySet(java.lang.String value)
Set the TypeValueMapPropertySet object which describes this attribute. |
void |
setUnique(boolean b)
|
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.server.DefObject |
---|
ensureVariableManager, finishedLoading, getBaseDefObject, getDefXMLNameSpace, getVariableManager, getVarMgrParents, hasVariables, loadProperties, loadVariables, resolveReferences, setBaseDefObject |
Methods inherited from class oracle.jbo.common.NamedObjectImpl |
---|
getFullName, getName, getParent, getProperties, getPropertiesAsStrings, getPropertiesMap, getProperty, getPropertyExpressionsMap, getStringFromMessageBundle, isPropertyExpression, refreshProperty, removeProperty, setFullName, setPropertiesMap, setPropertiesMap2, setProperty |
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 |
---|
public static final byte ATTR_LOAD_EACH
public static final byte ATTR_LOAD_BULK
public static final byte ATTR_LOAD_SKIP
protected java.lang.String mColumnName
protected boolean mQueriable
protected boolean mUnique
protected boolean mPrimaryKey
protected boolean mDiscrColumn
protected boolean mMandatory
protected boolean mRetrievedOnInsert
protected boolean mRetrievedOnUpdate
protected RowDef mDef
protected boolean mObjectTableRef
protected boolean mObjectTableOID
protected java.lang.String[] mOIDAttrNames
protected java.lang.String mObjectType
protected boolean mNotNull
protected int mPrecision
protected int mScale
protected byte mUpdateable
protected byte mKind
protected byte mAttrLoad
protected int mType
protected int mIndex
protected java.lang.Object mDefaultValue
protected java.lang.String mDomainName
protected java.lang.Class mJavaType
protected java.lang.Class mElemType
protected java.lang.reflect.Method mReadMethod
protected java.lang.reflect.Method mWriteMethod
protected java.lang.Object mTypeFactory
protected java.lang.Object mElemFactory
protected volatile boolean mTypeFactoryInitialized
protected SQLBuilder mSQLBuilder
protected boolean mResolveAccessors
protected byte mHistoryKind
protected byte mEffectiveDateType
protected boolean mIsEffectiveDateSequence
protected boolean mIsEffectiveDateSequenceFlag
protected java.util.ArrayList mBackwardDep
public static final byte HISTORY_NOT_DEFINED
public static final byte HISTORY_CREATE_DATE
public static final byte HISTORY_MODIFY_DATE
public static final byte HISTORY_CREATE_USER
public static final byte HISTORY_MODIFY_USER
public static final byte HISTORY_MODIFY_VERSION
public static final byte EFFECTIVE_DATE_TYPE_NONE
public static final byte EFFECTIVE_DATE_TYPE_START
public static final byte EFFECTIVE_DATE_TYPE_END
protected boolean mBCheckedForSIF
protected boolean mBCheckSIFCtrlHints
protected boolean mDataSecurity
Constructor Detail |
---|
protected AttributeDefImpl()
Method Detail |
---|
protected void setParent(NamedObjectImpl parent)
DefObject
setParent
in class DefObject
parent
- the named object that is to be the parent of this object.public void setBaseDefObject(DefinitionObject baseDefObject)
setBaseDefObject
in class DefObject
public void setName(java.lang.String name)
DefObject
setName
in class DefObject
name
- public boolean isSelected()
isSelected
in interface AttributeDef
public void setSelected(boolean b)
public boolean isInWhereOrderGroup()
public boolean isQueriable()
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.
isQueriable
in interface AttributeDef
public void setQueriable(boolean b)
public boolean isUnique()
public void setUnique(boolean b)
public byte getUpdateableFlag()
getUpdateableFlag
in interface AttributeDef
public void setUpdateableFlag(byte updateable)
public boolean isSessionScope()
public boolean isDiscrColumn()
isDiscrColumn
in interface AttributeDef
public void setDiscrColumn(boolean b)
public boolean isPrimaryKey()
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(); } }
isPrimaryKey
in interface AttributeDef
public boolean isKey()
public void setPrimaryKey(boolean b)
public int getAltKeyCount()
public boolean isRetrievedOnInsert()
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.
public void setRetrievedOnInsert(boolean b)
public boolean isRetrievedOnUpdate()
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.
public void setRetrievedOnUpdate(boolean b)
public boolean isMandatory()
isMandatory
in interface AttributeDef
public void setMandatory(boolean b)
public boolean isObjectTableRef()
public boolean isObjectTableOID()
public java.lang.String[] getOIDAttrNames()
public java.lang.String getObjectType()
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.
public int getPrecision()
For strings, precision is maximum allowed length. For numeric values, precision is the number of significant digits.
getPrecision
in interface AttributeDef
public int getScale()
Scale value is meaningful only for numeric attributes.
getScale
in interface AttributeDef
public 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.
prec
- the precision value, or 0 if unspecified.scale
- the scale value. The default is -127.public EntityDefImpl getEntityDef()
public RowDef getDef()
public int getIndex()
getIndex
in interface AttributeDef
public int getSQLType()
getSQLType
in interface AttributeDef
Types
public void setSQLType(int typ)
public java.lang.String getTypeValueMapPropertySet()
public void setTypeValueMapPropertySet(java.lang.String value)
public void setDomainName(java.lang.String domainName)
public java.lang.String getDomainName()
public void setObjectType(java.lang.String objType)
public byte getAttributeKind()
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 } }
getAttributeKind
in interface AttributeDef
public byte getAttrLoad()
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.
public void setAttrLoad(byte attrLoad)
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 AttributeDef
public void setJavaType(java.lang.Class cls)
public java.lang.Class getElemType()
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.
getElemType
in interface AttributeDef
public int getElemSQLType()
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.
getElemSQLType
in interface AttributeDef
public void setElemType(java.lang.Class cls)
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.
public void setDefaultValue(java.lang.Object val)
public void setColumnName(java.lang.String colName)
colName
- the database column name of this attribute.public java.lang.String getColumnName()
getColumnName
in interface AttributeDef
public void setTransientExpression(java.lang.String expr)
public void setRecalcExpression(java.lang.String expr)
public boolean hasTransientExpression()
public java.lang.String getTransientExpression()
public ExprEval getTransientExprEval()
public ExprEval.Privilege getTransientExpressionPrivilege()
public void setTransientExpressionPrivilege(ExprEval.Privilege pr)
public void setTransientExpressionTrustMode(ExprEval.TrustMode trusted)
public ExprEval.TrustMode getTransientExpressionTrustMode()
public ExprEval.Privilege getRecalcExpressionPrivilege()
public void setRecalcExpressionPrivilege(ExprEval.Privilege pr)
public void setRecalcExpressionTrustMode(ExprEval.TrustMode trusted)
public ExprEval.TrustMode getRecalcExpressionTrustMode()
public java.lang.String getRecalcExpression()
public boolean shouldEvaluateTransientExpression(Row row)
public java.lang.Object evaluateTransientExpression(Row row)
public java.lang.String getColumnNameForQuery()
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:
getColumnNameForQuery
in interface AttributeDef
public java.lang.Object convertToJava(java.lang.Object data) throws DataCreationException
This method uses AttributeDefImpl() metadata to convert a database value to the corresponding Java value.
data
- a storage value to be converted.
DataCreationException
- if the conversion cannot be performed.public java.lang.Object getTypeFactory()
Returns the type factory for this attribute.
public java.lang.Object getElemFactory()
public java.lang.Object loadFromResultSet(java.sql.ResultSet rs, int index, DBTransactionImpl trans) throws DataCreationException
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.
rs
- the result set containing the value.index
- the index position for the value.trans
- the transaction containing the ResultSet.
DataCreationException
- if the Domain object
cannot be created.public java.lang.Object loadFromStatement(java.sql.PreparedStatement cs, int index, Transaction trans) throws DataCreationException
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.
cs
- the prepared statement containing the value.index
- the index position for the value.trans
- the transaction containing the ResultSet.
DataCreationException
- if the Domain object
cannot be created.public java.lang.Object convertToStorage(java.lang.Object data, DBTransactionImpl trans)
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.
data
- a Java value to be converted.trans
- the database transaction.
DataCreationException
- if the conversion cannot be performed.public int getValidatorCount()
public JboValidatorInterface getValidator(int indx)
public java.util.ArrayList getValidators()
getValidators
in interface ValidationManager
public JboValidatorInterface lookupValidator(java.lang.String name)
public void addValidator(JboValidatorInterface listener)
JboValidatorInterface
to the listener list.
addValidator
in interface ValidationManager
listener
- The Validator to be addedpublic void removeValidator(JboValidatorInterface listener)
JboValidatorInterface
from the listener list.
listener
- The Validator to be removedpublic java.lang.String getLOVName()
getLOVName
in interface AttributeDef
public void setLOVName(java.lang.String lovName)
public ListBindingDef getListBindingDef()
getListBindingDef
in interface AttributeDef
public java.lang.String getLOVFinder()
public void setLOVFinder(java.lang.String lovFinder)
public ViewObject getAccessorVO(ViewObject originVO)
AttributeDef
getAccessorVO
in interface AttributeDef
originVO
- the View Object that owns the accessor
ViewObject
instance.public boolean isChangeIndicatorColumn()
public boolean isEffectiveStartDate()
true
or false
public boolean isEffectiveEndDate()
true
or false
public void setEffectiveDateType(byte effDtType)
effDtType
- valid values are EFFECTIVE_DATE_TYPE_START,
EFFECTIVE_DATE_TYPE_END or EFFECTIVE_DATE_TYPE_NONE.public void setEffectiveDateSequence(boolean isEffDtSeq)
public boolean isEffectiveDateSequence()
public boolean isEffectiveDateRelated()
public void setEffectiveDateSequenceFlag(boolean isEffDtSeqMarker)
public boolean isEffectiveDateSequenceFlag()
public void setSerializerClassName(java.lang.String className)
ValueSerializer
interface.
className
- name of the custom value serializer classpublic java.lang.String getSerializerClassName()
public ValueSerializer getValueSerializer()
null
if it is not defined.
JboException
- if an error occurs loading the custom class or
instantiating the objectpublic java.lang.String getDefXMLElementTag()
getDefXMLElementTag
in interface PersistentDefinition
getDefXMLElementTag
in class PersistableDefObject
public void writeChildren(DefWriter jos)
PersistentDefinition
writeChildren
in interface PersistentDefinition
writeChildren
in class DefObject
jos
- the Output storage for persistenceprotected java.util.HashMap adjustPropertyMapForWrite()
adjustPropertyMapForWrite
in class PersistableDefObject
public void writeContents(DefWriter jos)
PersistentDefinition
writeContents
in interface PersistentDefinition
writeContents
in class PersistableDefObject
jos
- the Output storage for persistenceprotected void initFromXML(DefElement xmlElement, RowDef parent, int index)
protected void loadCompOpersFromXML(DefElement xmlElement)
protected void loadPermission(DefElement xmlElement)
public static int getSQLTypeStringToId(java.lang.String sqlType)
sqlType
- the name of a SQL datatype.
JboTypeMap
public static java.lang.String getSQLTypeIdToString(int typeId)
typeId
- an SQL type identifier.
JboTypeMap
public int getDefTypeId()
getDefTypeId
in class DefObject
protected void setDefForComponent(ComponentObjectImpl comp)
setDefForComponent
in class DefObject
comp
- component definitionprotected void unsetDefForComponent(ComponentObjectImpl comp)
unsetDefForComponent
in class DefObject
comp
- component definitionprotected SQLBuilder getSQLBuilder()
public void storeToBean(java.lang.Object bean, Row store)
public void beanToStore(java.lang.Object bean, Row store)
public java.lang.String getXMLElementTag()
getXMLElementTag
in interface PersistentDefinition
getXMLElementTag
in class PersistableDefObject
protected java.lang.String printXMLDefinition(Row row, java.util.Hashtable allDefs, java.io.PrintWriter pw, int depthCount)
public AttributeHints getUIHelper()
getUIHelper
in interface AttributeDef
AttributeHints
public java.lang.String getLocaleName(LocaleContext locale, java.lang.String sName)
AttributeHints
getLocaleName
in interface AttributeHints
public ResourceBundleDef getResourceBundleDef()
getResourceBundleDef
in interface ResourceBundleOwner
getResourceBundleDef
in interface ValidationManager
getResourceBundleDef
in interface VariableManagerOwnerBase
public java.lang.String getResourcePrefix()
getResourcePrefix
in interface ResourceBundleOwner
public java.lang.Object getProperty(java.lang.String hintName)
NamedObjectImpl
getProperty
in interface Properties
getProperty
in class NamedObjectImpl
hintName
- a string to be used as a hash table key.
hintName
, if any,
otherwise null
.protected boolean requiresNamePrefixedResId()
requiresNamePrefixedResId
in class NamedObjectImpl
protected java.lang.Object resolvePropertyRaw(java.lang.String property, LocaleContext locale)
resolvePropertyRaw
in class DefObject
protected java.lang.Object resolveObjectProperty(java.lang.String property, LocaleContext locale)
resolveObjectProperty
in class NamedObjectImpl
public java.util.HashMap getAllProperties(java.util.HashMap map, LocaleContext locale)
getAllProperties
in class DefObject
public final java.lang.String getLabel(LocaleContext locale)
getLabel
in interface GenericHints
public boolean hasHintOverride(LocaleContext locale, java.lang.String hintName)
public boolean hasHintDefined(LocaleContext locale, java.lang.String hintName)
public void addCompOper(JboCompOper oper)
public java.util.ArrayList getCompOpers()
public java.lang.String[][] getCompOpers(LocaleContext locale)
AttributeHints
getCompOpers
in interface AttributeHints
public final java.lang.String getTooltip(LocaleContext locale)
getTooltip
in interface GenericHints
public final java.lang.String getLabelPlural(LocaleContext locale)
getLabelPlural
in interface GenericHints
public final java.lang.String getDisplayHint(LocaleContext locale)
getDisplayHint
in interface AttributeHints
public final int getControlType(LocaleContext locale)
getControlType
in interface AttributeHints
public final int getDisplayWidth(LocaleContext locale)
getDisplayWidth
in interface AttributeHints
public final int getDisplayHeight(LocaleContext locale)
getDisplayHeight
in interface AttributeHints
public final boolean isAutoSubmit(LocaleContext locale)
isAutoSubmit
in interface AttributeHints
public java.lang.String getHint(LocaleContext locale, java.lang.String sHintName)
getHint
in interface AttributeHints
public java.lang.String getHintValue(LocaleContext locale, java.lang.String sHintName)
getHintValue
in interface GenericHints
public final java.lang.String getFormat(LocaleContext locale)
AttributeHints
getFormat
in interface AttributeHints
public final Formatter getFormatter(LocaleContext locale)
AttributeHints
getFormatter
in interface AttributeHints
public final boolean hasFormatInformation(LocaleContext locale)
AttributeHints
hasFormatInformation
in interface AttributeHints
public final java.lang.String getFormattedAttribute(AttributeList attrList, LocaleContext locale)
AttributeHints
getFormattedAttribute
in interface AttributeHints
public final java.lang.Object parseFormattedAttribute(java.lang.String sValue, LocaleContext locale)
AttributeHints
parseFormattedAttribute
in interface AttributeHints
public final boolean displayInShortForm(LocaleContext locale)
AttributeHints
displayInShortForm
in interface AttributeHints
public final java.lang.String getFormatterClassName(LocaleContext locale)
getFormatterClassName
in interface AttributeHints
public java.util.Map getHints()
public java.util.HashMap getHintsFromResource(LocaleContext locale)
public byte getHistoryKind()
HISTORY
constants defined for this class.public void setHistoryKind(byte historyKind)
public boolean isHistoryColumn()
public static java.lang.String convertHistoryColumnFlagToString(byte flag)
public static byte convertHistoryColumnStringToFlag(java.lang.String str, byte editable)
protected final boolean isCascadeUpdateParticipant()
public java.lang.Class getMessageBundleClass()
getMessageBundleClass
in interface VariableManagerOwnerBase
public oracle.adf.share.security.binding.BindingPermissionDef getPermissionDef()
Returns the security metadata for this attribute.
public void setPermissionDef(oracle.adf.share.security.binding.BindingPermissionDef permDef)
public java.util.List getBackwardDependencies()
public java.util.List<java.lang.String> getBackwardDependenciesNames()
public void setBackwardDependencies(java.util.List arr)
public static AttributeDependency createAttributeDependencyImpl(java.lang.String name, AttributeDependency.Type type)
public void addBackwardDependency(java.lang.String attrName)
public void addBackwardDependency(AttributeDependency attrDep)
public java.util.ArrayList getForwardDependencyAttributes()
public void addForwardDependency(java.lang.String attrName)
protected void loadDependencies(DefElement xmlElement)
public java.lang.Object getExprVarVal(java.lang.String varName)
getExprVarVal
in interface ExprValueSupplier
public void setExprVarVal(java.lang.String varName, java.lang.Object val)
setExprVarVal
in interface ExprValueSupplier
protected void getResourcesFromBundle(LocaleContext locale, java.util.HashMap map)
getResourcesFromBundle
in class NamedObjectImpl
protected void addExtendedDefObject(DefinitionObject extendedDefObject)
addExtendedDefObject
in class PersistableDefObject
public java.util.ArrayList getExtendedDefObjects()
DefinitionObject
getExtendedDefObjects
in class DefinitionObject
public java.util.List<DefinitionObject> getExtendedDefObjectsInternal()
getExtendedDefObjectsInternal
in class PersistableDefObject
public boolean hasExtendedDefObjects()
hasExtendedDefObjects
in class PersistableDefObject
public java.util.List getAllExtendedDefObjects()
getAllExtendedDefObjects
in class DefinitionObject
|
Oracle Fusion Middleware Java API Reference for Oracle ADF Model 11g Release 1 (11.1.1.7.0) E10653-08 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |