public class EntityCache extends ComponentObjectImpl implements StructureDef, ValidationManager, ExprValueSupplier, AttributeDependencyManager, ComponentOperationsManager, RowExprEvalSupplier
mFullName, mObjName, mParent, mProperties, RES_ID_SUFFIX, RESID_SUFFIX
DEFINITION_STATE_ACTIVE, DEFINITION_STATE_DEPRECATED, PROPERTY_DEFINITION_STATE, PROPERTY_LABEL, PROPERTY_LABEL_PLURAL, PROPERTY_TOOLTIP
Constructor and Description |
---|
EntityCache()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
protected EntityImpl |
add(EntityImpl srow)
Add an Entity to the cache.
|
AttributeDef |
addDynamicAttribute(java.lang.String attrName) |
void |
addEntityListener(EntityListener listener)
Add an EntityListener.
|
void |
addEventAttr(java.lang.String attrName) |
protected EntityImpl |
addForAltKey(int keyIndex,
EntityImpl srow) |
void |
addForwardDependency(java.lang.String attrName,
java.lang.String depName) |
protected void |
addRowByDeletedPK(Key pkey,
EntityImpl srow) |
void |
addTrigger(TriggerType trig,
JboValidatorInterface aValidator) |
void |
addValidator(JboValidatorInterface aValidator) |
protected void |
clearCache() |
protected void |
closeStatements() |
protected java.sql.PreparedStatement |
createEffDtDateDayAddStatement()
Create a
PreparedStatement that could be cached
and reused to compute the sum/difference between a date and
specified number of days. |
protected java.sql.PreparedStatement |
createPreparedStatement(java.lang.String sqlString,
boolean lock,
int noRowsPrefetch) |
protected java.sql.PreparedStatement |
createPrepStmtForAltKey(java.lang.String sqlString,
int keyIndex,
boolean lock,
int noRowsPrefetch) |
protected void |
deliverEntityEvent(EntityEvent event) |
ExprCodeSource |
editCodeSource(ExprCodeSource codeSource)
Notify that ComponentOperationsManager that the client expects to
edit the CodeSource.
|
ExprCodeSource |
ensureCodeSource(ExprDef exprDef)
Ensure a named code source in the operations manager.
|
AttributeDef |
findAttributeDef(java.lang.String name)
Gets an attribute definition, given its name.
|
protected ViewObject |
findOrCreateLocalViewObject(java.lang.String usageName)
Find or create the local view instance from the local view usage name.
|
ViewAccessorDef |
findViewAccessorDef(java.lang.String name) |
EntityImpl |
get(Key key)
Get an EntityImpl from the cache.
|
int |
getAttributeCount()
Returns the number of defined attributes.
|
AttributeDef |
getAttributeDef(int index)
Gets an attribute definition, given its index.
|
AttributeDefImpl[] |
getAttributeDefImpls() |
AttributeDef[] |
getAttributeDefs()
Gets the defined attributes.
|
int |
getAttributeIndexOf(java.lang.String name)
Finds the index (0-based) of the named attribute.
|
java.util.HashSet<java.lang.String> |
getBackwardDependencies(java.lang.String attrName) |
java.util.List |
getBackwardDependencyAttributes(java.lang.String attrName) |
int |
getBaseAttributeCount() |
java.lang.String |
getColumnNameForQuery(int index) |
static java.util.Comparator |
getComparator() |
java.util.Iterator<EventMapping> |
getCreateEvents() |
protected java.sql.Timestamp |
getCurrentDbTime()
Get the current database time for DATE History Column.
|
DBTransactionImpl |
getDBTransactionImpl() |
java.lang.String |
getDefFullName()
Gets the Full Name of the Def Object.
|
java.lang.String |
getDefName()
Gets the name of the Def Object.
|
java.util.Iterator<EventMapping> |
getDeleteEvents() |
protected java.sql.PreparedStatement |
getEffDtDateDayAddStatement()
Returns a cached statement that returns a date
that is 'x' number of days apart from the specified
date.
|
EntityDefImpl |
getEntityDef() |
EventDef |
getEventDef(java.lang.String name) |
java.lang.String |
getEventNamespace() |
java.lang.String |
getEventPayloadNamespace() |
java.lang.Object |
getExprVarVal(java.lang.String varName) |
EntityImpl |
getForAltKey(int keyIndex,
Key key) |
java.util.HashSet<java.lang.String> |
getForwardDependencies(java.lang.String attrName) |
java.util.List |
getForwardDependencyAttributes(java.lang.String attrName) |
java.lang.String |
getFullName()
Gets this object's fully-qualified name.
|
ExprEval |
getGlobalOperations()
For internal framework use only
|
java.util.List |
getLOBAttrs() |
java.lang.String |
getName()
Get the name of this object.
|
OperationDefinitions |
getOperationDefinitions()
Return the operation definitions.
|
protected java.sql.PreparedStatement |
getPreparedSelectStatement(boolean lock) |
protected java.sql.PreparedStatement |
getPrepSelStmtForAltKey(int keyIndex,
boolean lock) |
OperationDefinitions |
getRowOperationDefinitions()
Return the row operation definitions.
|
ExprEval |
getRowOperations()
For internal framework use only
|
static RowSetIterator |
getRSI(DBTransaction trans,
java.lang.String amUsageName,
java.lang.String voName,
java.lang.String rsiName) |
java.util.ArrayList |
getTriggersOfType(TriggerType type) |
java.util.Iterator<EventMapping> |
getUpdateEvents() |
java.util.ArrayList |
getValidators() |
EntityImpl |
getWithHandle(Key key)
Get an EntityImpl from the cache.
|
boolean |
hasLOBAttrs() |
boolean |
hasRows() |
protected void |
init(DBTransactionImpl trans,
EntityDefImpl entityDef) |
boolean |
isAssociationAccessorRetained() |
protected boolean |
isBatchable(int operation) |
boolean |
isBatchMode()
Advanced method, public for diagnostic purposes.
|
protected java.util.Iterator |
iterator()
Return an Iterator for the EntityCache.
|
java.util.Iterator |
iterator(boolean inclSubclasses) |
AttributeDef |
lookupAttributeDef(java.lang.String name)
Gets an attribute definition, given its name.
|
ExprCodeSource |
lookupCodeSource(java.lang.String name) |
ExprDef |
lookupExprDef(OwnerType type,
java.lang.String path)
Search for an ExprDef in the ComponentOperationsManager's namespace.
|
AttributeDef |
lookupRawAttributeDef(java.lang.String name,
boolean procAccessors) |
JboValidatorInterface |
lookupValidator(java.lang.String name,
boolean localOnly) |
ViewAccessorDef |
lookupViewAccessorDef(java.lang.String vaName) |
void |
pin(EntityImpl srow) |
void |
removeEntityListener(EntityListener listener)
Remove an EntityListener.
|
protected EntityImpl |
removeRow(EntityImpl srow)
Remove a EntityImpl from the cache.
|
protected EntityImpl |
removeRowByDeletedPK(EntityImpl srow) |
protected EntityImpl |
removeRowByOldPK(EntityImpl srow) |
protected EntityImpl |
removeRowForAltKey(int keyIndex,
EntityImpl srow) |
boolean |
removeValidator(JboValidatorInterface aValidator) |
protected void |
replace(EntityImpl srow,
Key okey)
Remove a row in cache and add it in using the new key values.
|
protected void |
replace(EntityImpl srow,
Key[] okeys) |
protected void |
replaceForAltKey(int keyIndex,
EntityImpl srow,
Key okey) |
void |
setAssociationAccessorRetained(boolean b) |
void |
setExprVarVal(java.lang.String varName,
java.lang.Object val) |
boolean |
unpin(EntityImpl srow) |
void |
validate(EntityImpl validateEntity) |
addListener, applyPersonalization, applyPersonalization, create, createRef, createVariableValueManager, ensureVariableManager, findPersDefObject, getAdfmConfigStartupProperty, getAllProperties, getApplicationModule, getBooleanAdfmConfigProperty, getCompListeners, getCompListenersList, getDefinitionManager, getDefinitionState, getFullNameForPersDef, getHintValue, getLabel, getLabelPlural, getMessageBundleClass, getProxyClassName, getProxyClassName, getResourceBundleDef, getRootApplicationModule, getStringFromMessageBundle, getTooltip, getVariableManager, hasVariables, isDead, isPersonalized, isRegWithPiggyMan, remove, resolvePropertyRaw, setName, setParent, setProxyClassName
isPropertyExpression, setParent, setPropertiesMap
allocatePropertyMap, getParent, getProperties, getPropertiesAsStrings, getPropertiesMap, getProperty, getProperty, getPropertyExpressionDef, getPropertyExpressionsMap, getPropertyMap, getPropertyNamesSet, getRawPropertyValue, getResourcesFromBundle, mergePropertyMap, refreshProperty, removeProperty, removeProperty, requiresNamePrefixedResId, resolveObjectProperty, setFullName, setPropertiesMap2, setProperty, setProperty, setPropertyExpression, setPropertyMap
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getResourceBundleDef
getProperties, getProperty, getProperty, refreshProperty
public java.lang.String getName()
NamedObjectImpl
getName
in interface ComponentObject
getName
in interface ValidationManager
getName
in interface StructureDef
getName
in interface VariableManagerOwner
getName
in class NamedObjectImpl
public java.lang.String getFullName()
NamedObjectImpl
getFullName
in interface ComponentObject
getFullName
in interface ComponentOperationsManager
getFullName
in interface ValidationManager
getFullName
in interface StructureDef
getFullName
in class NamedObjectImpl
public java.lang.String getDefName()
ComponentObjectImpl
getDefName
in interface ComponentObject
getDefName
in interface StructureDef
getDefName
in class ComponentObjectImpl
public java.lang.String getDefFullName()
ComponentObjectImpl
getDefFullName
in interface ComponentObject
getDefFullName
in interface StructureDef
getDefFullName
in class ComponentObjectImpl
public final boolean isBatchMode()
protected void init(DBTransactionImpl trans, EntityDefImpl entityDef)
public DBTransactionImpl getDBTransactionImpl()
public EntityDefImpl getEntityDef()
public void pin(EntityImpl srow)
public boolean unpin(EntityImpl srow)
protected EntityImpl add(EntityImpl srow)
srow
- the row to be added.protected EntityImpl addForAltKey(int keyIndex, EntityImpl srow)
public EntityImpl get(Key key)
key
- the Primary key of the EntityImpl.public EntityImpl getWithHandle(Key key)
key
- the Primary key of the EntityImpl.public EntityImpl getForAltKey(int keyIndex, Key key)
public boolean hasRows()
protected void addRowByDeletedPK(Key pkey, EntityImpl srow)
protected EntityImpl removeRowByDeletedPK(EntityImpl srow)
protected EntityImpl removeRowByOldPK(EntityImpl srow)
protected EntityImpl removeRow(EntityImpl srow)
srow
- the row to be removed.protected EntityImpl removeRowForAltKey(int keyIndex, EntityImpl srow)
protected void clearCache()
protected java.util.Iterator iterator()
public java.util.Iterator iterator(boolean inclSubclasses)
public void addEntityListener(EntityListener listener)
listener
- The object to be registered as listener.public void removeEntityListener(EntityListener listener)
listener
- The object to be removed from the list of listeners.protected void deliverEntityEvent(EntityEvent event)
protected void replace(EntityImpl srow, Key okey)
srow
- the row to be replaced.okey
- the original key.protected void replace(EntityImpl srow, Key[] okeys)
protected void replaceForAltKey(int keyIndex, EntityImpl srow, Key okey)
protected java.sql.PreparedStatement getPreparedSelectStatement(boolean lock)
protected java.sql.PreparedStatement getPrepSelStmtForAltKey(int keyIndex, boolean lock)
protected java.sql.PreparedStatement createPreparedStatement(java.lang.String sqlString, boolean lock, int noRowsPrefetch)
protected java.sql.PreparedStatement createPrepStmtForAltKey(java.lang.String sqlString, int keyIndex, boolean lock, int noRowsPrefetch)
protected boolean isBatchable(int operation)
protected void closeStatements()
protected java.sql.Timestamp getCurrentDbTime()
public boolean isAssociationAccessorRetained()
public void setAssociationAccessorRetained(boolean b)
public AttributeDef[] getAttributeDefs()
StructureDef
getAttributeDefs
in interface StructureDef
public AttributeDefImpl[] getAttributeDefImpls()
public int getBaseAttributeCount()
public int getAttributeCount()
StructureDef
getAttributeCount
in interface StructureDef
public AttributeDef lookupRawAttributeDef(java.lang.String name, boolean procAccessors)
lookupRawAttributeDef
in interface AttributeDependencyManager
public AttributeDef lookupAttributeDef(java.lang.String name)
StructureDef
lookupAttributeDef
in interface StructureDef
name
- the name of an AttributeDef
.public AttributeDef findAttributeDef(java.lang.String name)
StructureDef
findAttributeDef
in interface StructureDef
name
- the name of an AttributeDef
.public AttributeDef getAttributeDef(int index)
StructureDef
getAttributeDef
in interface StructureDef
index
- the index of an AttributeDef
, where the leftmost
attribute has index zero.public int getAttributeIndexOf(java.lang.String name)
StructureDef
getAttributeIndexOf
in interface StructureDef
name
- the attribute's name.0
to getAttributeCount() - 1
.
If the named attribute is not found, it returns -1.public java.lang.String getColumnNameForQuery(int index)
getColumnNameForQuery
in interface StructureDef
public ViewAccessorDef lookupViewAccessorDef(java.lang.String vaName)
public ViewAccessorDef findViewAccessorDef(java.lang.String name)
public AttributeDef addDynamicAttribute(java.lang.String attrName)
public boolean hasLOBAttrs()
public java.util.List getLOBAttrs()
public java.util.List getBackwardDependencyAttributes(java.lang.String attrName)
getBackwardDependencyAttributes
in interface AttributeDependencyManager
public java.util.List getForwardDependencyAttributes(java.lang.String attrName)
getForwardDependencyAttributes
in interface AttributeDependencyManager
public java.util.HashSet<java.lang.String> getBackwardDependencies(java.lang.String attrName)
getBackwardDependencies
in interface AttributeDependencyManager
public java.util.HashSet<java.lang.String> getForwardDependencies(java.lang.String attrName)
getForwardDependencies
in interface AttributeDependencyManager
public void addForwardDependency(java.lang.String attrName, java.lang.String depName)
addForwardDependency
in interface AttributeDependencyManager
@Concealed public java.util.ArrayList getTriggersOfType(TriggerType type)
public void addTrigger(TriggerType trig, JboValidatorInterface aValidator)
public JboValidatorInterface lookupValidator(java.lang.String name, boolean localOnly)
public java.util.ArrayList getValidators()
getValidators
in interface ValidationManager
public void addValidator(JboValidatorInterface aValidator)
addValidator
in interface ValidationManager
public boolean removeValidator(JboValidatorInterface aValidator)
public void validate(EntityImpl validateEntity)
public void addEventAttr(java.lang.String attrName)
public java.util.Iterator<EventMapping> getCreateEvents()
public java.util.Iterator<EventMapping> getUpdateEvents()
public java.util.Iterator<EventMapping> getDeleteEvents()
public EventDef getEventDef(java.lang.String name)
public java.lang.String getEventNamespace()
public java.lang.String getEventPayloadNamespace()
protected ViewObject findOrCreateLocalViewObject(java.lang.String usageName)
usageName
- The local view usage name.public static RowSetIterator getRSI(DBTransaction trans, java.lang.String amUsageName, java.lang.String voName, java.lang.String rsiName)
protected java.sql.PreparedStatement getEffDtDateDayAddStatement()
PreparedStatement
object.protected java.sql.PreparedStatement createEffDtDateDayAddStatement()
PreparedStatement
that could be cached
and reused to compute the sum/difference between a date and
specified number of days.PreparedStatement
object.public static java.util.Comparator getComparator()
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
public OperationDefinitions getOperationDefinitions()
OperationContainer
getOperationDefinitions
in interface OperationContainer
getOperationDefinitions
in class ComponentObjectImpl
public OperationDefinitions getRowOperationDefinitions()
OperationContainer
getRowOperationDefinitions
in interface OperationContainer
getRowOperationDefinitions
in class ComponentObjectImpl
public ExprCodeSource ensureCodeSource(ExprDef exprDef)
ComponentOperationsManager
#updateCodeSource
to update the component
operations manager with any updates that are made to this CodeSource.ensureCodeSource
in interface ComponentOperationsManager
ensureCodeSource
in class ComponentObjectImpl
exprDef
- a null exprDef may be used to indicate the a
built-in code source.@Concealed public ExprCodeSource lookupCodeSource(java.lang.String name)
public ExprCodeSource editCodeSource(ExprCodeSource codeSource)
ComponentOperationsManager
editCodeSource
in interface ComponentOperationsManager
editCodeSource
in class ComponentObjectImpl
public ExprDef lookupExprDef(OwnerType type, java.lang.String path)
ComponentOperationsManager
lookupExprDef
in interface ComponentOperationsManager
lookupExprDef
in class ComponentObjectImpl
type
- the {@link oracle.jbo.common.OwnerType) of the expressionpath
- the (@link ExprDef#getPath} of the expressionpublic ExprEval getGlobalOperations()
ExprEvalSupplier
getGlobalOperations
in interface ExprEvalSupplier
public ExprEval getRowOperations()
RowExprEvalSupplier
getRowOperations
in interface RowExprEvalSupplier