|
Business Components | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--oracle.jbo.common.NamedObjectImpl | +--oracle.jbo.mom.DefinitionObject | +--oracle.jbo.server.DefObject | +--oracle.jbo.server.RowDef | +--oracle.jbo.server.ViewDefImpl
ViewDefImpl is the meta-object for View Object instances. It describes the View Object's structure.
A View Def can be created either through XML loading or programmatically. For the former, the client is expected to generate the XML file from design-time and make the file accessible from the classpath. When the client asks MetaObjectManager for the View Def, it finds the XML file, opens it, parses it, and builds a View Def from it.
When creating a View Def programmatically, the client is expected to start with
ViewDefImpl viewDef = new ViewDefImpl("MyViewDef");
where "MyViewDef" is the name by which the View Def will identified
by MetaObjectManager. This is the name that the client should pass
when an API requires a View Def name, e.g., the defName
parameter to
.
ApplicationModule.createViewObject(String, String)
After instantiating the View Def, the client adds entity
usages, attributes, etc. Then, he must resolve the definition
object through
and
regsiter it with MetaObjectManager through
resolveDefObject()
. For a View Def
created from an XML file, the client does not need to call
these methods, as the framework calls them itself.
registerDefObject()
Here is an example code snippet:
ViewDefImpl viewDef = new ViewDefImpl("MyViewDef"); viewDef.addEntityUsage("MyEmpUsage", "testp.kava.VO3.si03mt.Emp", false); // false means it's not refOnly viewDef.setComponentClass(null); // take the default ViewObjectImpl viewDef.setRowClass(null); // take the default ViewRowImpl viewDef.setSelectClause("EmpUsage.EMPNO, EmpUsage.ENAME, EmpUsage.JOB, EmpUsage.DEPTNO"); viewDef.setFromClause("EMP EmpUsage"); viewDef.addEntityAttribute("MyEmpNum", "MyEmpUsage", "EmpNum", true); // true is for persistent viewDef.addEntityAttribute("MyEmpName", "MyEmpUsage", "EmpName", true); viewDef.addEntityAttribute("MyEmpJob", "MyEmpUsage", "EmpJob", true); viewDef.addEntityAttribute("MyEmpDeptNum", "MyEmpUsage", "EmpDeptNum", true); viewDef.resolveDefObject(); viewDef.registerDefObject();
Field Summary |
Type | Field |
---|---|
protected java.lang.Class |
mComponentClass
|
Fields inherited from class oracle.jbo.mom.DefinitionObject |
mBaseDefObject, mExtendedDefObjects, mObjectResolved |
Fields inherited from class oracle.jbo.common.NamedObjectImpl |
mFullName, mObjName, mParent, mProperties |
Constructor Summary |
ViewDefImpl(java.lang.String name)
Constructs a ViewDefImpl. |
Method Summary |
Type | Method |
---|---|
AttributeDefImpl |
addEntityAttribute(java.lang.String attrName,
java.lang.String entityUsageName,
java.lang.String entityAttrName,
boolean isPersistent)
|
void |
addEntityUsage(java.lang.String usageName,
java.lang.String entityDefName,
boolean referenceOnly)
Deprecated. since 9.0.3, use addEntityUsage() that takes readOnly flag as well. |
void |
addEntityUsage(java.lang.String usageName,
java.lang.String entityDefName,
boolean referenceOnly,
boolean readOnly)
|
void |
addEntityUsage(java.lang.String usageName,
java.lang.String entityDefName,
boolean referenceOnly,
boolean readOnly,
java.lang.String assocName,
java.lang.String assocEndName,
java.lang.String srcUsageName)
|
void |
addEntityUsage(java.lang.String usageName,
java.lang.String entityDefName,
boolean referenceOnly,
java.lang.String assocName,
java.lang.String assocEndName,
java.lang.String srcUsageName)
Deprecated. since 9.0.3, use addEntityUsage() that takes readOnly flag as well. |
AttributeDefImpl |
addViewAttribute(java.lang.String attrName,
java.lang.String expression,
java.lang.Class javaType)
|
protected boolean |
discrValuesQualify(java.lang.Object[] values)
|
AttributeDef |
findAttributeDef(java.lang.String attrName)
Get an attribute definition by the attribute name. |
protected oracle.jbo.server.RowDef |
findDefForDiscrValues(java.lang.Object[] values,
boolean recurse)
|
static ViewDefImpl |
findDefObject(java.lang.String viewDefName)
Finds the ViewDefImpl from the list of Meta Objects. |
protected void |
finishedLoading()
|
java.lang.String |
getAliasName()
Returns the database alias that was declared for this definition object at Design-Time. |
int |
getAttributeCount()
Returns the number of defined attributes. |
AttributeDef |
getAttributeDef(int index)
Gets an attribute definition, given its index. |
protected AttributeDefImpl[] |
getAttributeDefImpls()
Gets an array of attribute definitions in this View Def. |
AttributeDef[] |
getAttributeDefs()
Gets an array of attribute definitions in this View Def. |
oracle.jbo.mom.DefinitionObject |
getBaseDefObject()
|
int |
getBindingStyle()
Returns the Oracle or JDBC binding style defined for this Entity definition. |
int |
getCalculatedAttributeCount()
|
java.lang.Class |
getComponentClass()
|
protected AttributeDefImpl[] |
getDiscrColumns()
Returns the AttributeDef's of the discriminator columns. |
java.lang.String |
getEJBAppProviderURL()
|
java.lang.String |
getEJBHomeJNDIName()
|
byte |
getFetchMode()
Get the fetch mode for rows from the query. |
short |
getFetchSize()
Get the size of the fetch. |
protected java.lang.String |
getFromClause()
|
int |
getIterMode()
|
int |
getMaxActiveNodes()
|
static int |
getMaxAttrConst(java.lang.String viewDefName)
|
int |
getMaxFetchSize()
|
int |
getMaxRowsPerNode()
|
java.lang.Class |
getMessageBundleClass()
Internal: Applications should not use this method. |
protected java.lang.String |
getOrderByClause()
|
oracle.jbo.server.PackageDefImpl |
getPackageDef()
|
java.lang.String |
getPackageName()
|
java.lang.String |
getQueryHint()
|
java.lang.Class |
getRowClass()
|
protected java.lang.String |
getSelectClause()
|
protected StmtWithBindVars |
getWhereClause(int noBindVars)
|
boolean |
hasQuery()
|
protected boolean |
isDynamic()
|
boolean |
isFinderView()
|
boolean |
isFullSql()
|
boolean |
isManageRowsByKey()
|
boolean |
isPassivationEnabled()
|
boolean |
isUseGlueCode()
|
protected void |
loadCustomDef(oracle.jbo.mom.xml.DefElementImpl xmlElement)
|
protected void |
loadProperties(oracle.jbo.mom.xml.DefElementImpl xmlElement)
|
AttributeDef |
lookupAttributeDef(java.lang.String attrName)
Gets an attribute definition by name. |
void |
registerDefObject()
Registers this View Def with MetaObjectManager. |
void |
resolveDefObject()
Resolves this View Def. |
protected void |
resolveReferences()
Since this gets called from lazyload |
protected void |
setBaseDefObject(oracle.jbo.mom.DefinitionObject baseDefObject)
|
void |
setBindingStyle(int bindingStyle)
Sets the Oracle or JDBC binding style defined for this Entity definition. |
void |
setComponentClass(java.lang.Class componentClass)
|
protected void |
setDiscrColumns(AttributeDefImpl[] discrCols)
Sets the AttributeDef's of the discriminator columns. |
void |
setFetchMode(byte fetchMode)
Set the fetch mode for rows from the query. |
void |
setFetchSize(short size)
Set the size of the fetch. |
void |
setFromClause(java.lang.String fromClause)
|
void |
setFullSql(boolean b)
|
void |
setMaxActiveNodes(int maxActiveNodes)
|
void |
setMaxFetchSize(int size)
Set the maximum number of rows to fetch during query processing. |
void |
setMaxRowsPerNode(int maxRowsPerNode)
|
protected void |
setMessageBundleClass(java.lang.Class collClass)
Internal: Applications should not use this method. |
protected void |
setName(java.lang.String name)
Name this object. |
void |
setOrderByClause(java.lang.String orderByClause)
|
protected void |
setParent(NamedObjectImpl parent)
Sets this object's parent. |
void |
setQuery(java.lang.String query)
|
void |
setQueryHint(java.lang.String queryHint)
|
void |
setRowClass(java.lang.Class rowClass)
|
void |
setSelectClause(java.lang.String selectClause)
|
void |
setUseGlueCode(boolean b)
|
void |
setWhereClause(java.lang.String whereClause)
|
Methods inherited from class oracle.jbo.mom.DefinitionObject |
addExtendedDefObject, getContainerDef, getContainerName, getExtendedDefObjects, isBaseDefFor, isDynamicDefinitionObject, isObjectResolved, setObjectResolved |
Methods inherited from class oracle.jbo.common.NamedObjectImpl |
getFullName, getName, getParent,
getProperties, getPropertiesAsStrings, getPropertiesMap,
getProperty, refreshProperty, setFullName,
setPropertiesMap, setProperty |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected java.lang.Class mComponentClass
Constructor Detail |
public ViewDefImpl(java.lang.String name)
name
- name by which this View Def will be registered in MetaObjectManager.Method Detail |
public static ViewDefImpl findDefObject(java.lang.String viewDefName)
viewObjectName
- The fully qualified Name of the ViewDefImpl.MetaObjectManager
public void registerDefObject()
This method should be called after the View Def is
all set up and after resolveDefObject()
is called.
public static int getMaxAttrConst(java.lang.String viewDefName)
protected AttributeDefImpl[] getAttributeDefImpls()
getAttributeDefImpls
in class oracle.jbo.server.RowDef
public AttributeDef[] getAttributeDefs()
getAttributeDefs
in interface StructureDef
public AttributeDef findAttributeDef(java.lang.String attrName)
findAttributeDef
in interface StructureDef
attrName
- name of the attribute.NoDefException
- thrown if the named atribute
is not found.public AttributeDef lookupAttributeDef(java.lang.String attrName)
lookupAttributeDef
in interface StructureDef
name
- the name of an AttributeDef
.null
if not found.public boolean isManageRowsByKey()
public void setQuery(java.lang.String query)
The
- sql statement of the query.public void setQueryHint(java.lang.String queryHint)
public java.lang.String getQueryHint()
public int getCalculatedAttributeCount()
public int getAttributeCount()
StructureDef
getAttributeCount
in interface StructureDef
public AttributeDef getAttributeDef(int index)
StructureDef
getAttributeDef
in interface StructureDef
oracle.jbo.StructureDef
index
- the index of an AttributeDef
, where the leftmost
attribute has index zero.public void setRowClass(java.lang.Class rowClass)
rowClass
- The Class of the instance.public java.lang.Class getRowClass()
getRowClass
in class oracle.jbo.server.RowDef
public void setComponentClass(java.lang.Class componentClass)
componentClass
- The Class of the instance.public java.lang.Class getComponentClass()
public void setSelectClause(java.lang.String selectClause)
selectClause
- The SELECT listprotected java.lang.String getSelectClause()
public void setFromClause(java.lang.String fromClause)
fromClause
- The FROM clauseprotected java.lang.String getFromClause()
public void setWhereClause(java.lang.String whereClause)
whereClause
- The WHERE clauseprotected StmtWithBindVars getWhereClause(int noBindVars)
public void setOrderByClause(java.lang.String orderByClause)
orderByClause
- The ORDER BY clauseprotected java.lang.String getOrderByClause()
public void setFetchMode(byte fetchMode)
fetchMode
- is FETCH_AS_NEEDED, FETCH_ALL or FETCH_DEFAULT.public byte getFetchMode()
public void setFetchSize(short size)
size
- the size, in rows, of the chunk to fetch.public short getFetchSize()
public void setMaxFetchSize(int size)
size
- the number of rows.public int getMaxFetchSize()
public boolean isUseGlueCode()
public void setUseGlueCode(boolean b)
public void setMaxRowsPerNode(int maxRowsPerNode)
public int getMaxRowsPerNode()
public void setMaxActiveNodes(int maxActiveNodes)
public int getMaxActiveNodes()
protected void finishedLoading()
finishedLoading
in class oracle.jbo.server.DefObject
protected void resolveReferences()
resolveReferences
in class oracle.jbo.server.DefObject
public void resolveDefObject()
This method must be called after the View Def is set up
and before registerDefObject()
.
public AttributeDefImpl addEntityAttribute(java.lang.String attrName, java.lang.String entityUsageName, java.lang.String entityAttrName, boolean isPersistent)
public AttributeDefImpl addViewAttribute(java.lang.String attrName, java.lang.String expression, java.lang.Class javaType)
public void addEntityUsage(java.lang.String usageName, java.lang.String entityDefName, boolean referenceOnly, java.lang.String assocName, java.lang.String assocEndName, java.lang.String srcUsageName)
public void addEntityUsage(java.lang.String usageName, java.lang.String entityDefName, boolean referenceOnly, boolean readOnly, java.lang.String assocName, java.lang.String assocEndName, java.lang.String srcUsageName)
public void addEntityUsage(java.lang.String usageName, java.lang.String entityDefName, boolean referenceOnly)
public void addEntityUsage(java.lang.String usageName, java.lang.String entityDefName, boolean referenceOnly, boolean readOnly)
public boolean isFullSql()
public void setFullSql(boolean b)
protected boolean isDynamic()
public final boolean isPassivationEnabled()
protected void loadCustomDef(oracle.jbo.mom.xml.DefElementImpl xmlElement) throws PersistenceException
public boolean hasQuery()
public int getIterMode()
public java.lang.String getEJBHomeJNDIName()
public java.lang.String getEJBAppProviderURL()
public boolean isFinderView()
protected AttributeDefImpl[] getDiscrColumns()
protected void setDiscrColumns(AttributeDefImpl[] discrCols)
discrCols
- an array attribute definitions of the discriminator columns.protected boolean discrValuesQualify(java.lang.Object[] values)
protected oracle.jbo.server.RowDef findDefForDiscrValues(java.lang.Object[] values, boolean recurse)
public int getBindingStyle()
SQLBuilder
interface.SQLBuilder
public void setBindingStyle(int bindingStyle)
SQLBuilder
interface.bindingStyle
- an integer representing the Oracle or JDBC binding
style for this Entity definition.
The possible values can be:
SQLBuilder
public java.lang.String getAliasName()
protected void setMessageBundleClass(java.lang.Class collClass)
Sets the implementation class for this Object's Message Bundle class.
collClass
- the message bundle implementation class.public java.lang.Class getMessageBundleClass()
Returns the class of the reference object.
public oracle.jbo.server.PackageDefImpl getPackageDef()
public java.lang.String getPackageName()
protected void setName(java.lang.String name)
setName
in class oracle.jbo.mom.DefinitionObject
name
- the name to be given to this object.public oracle.jbo.mom.DefinitionObject getBaseDefObject()
getBaseDefObject
in class oracle.jbo.mom.DefinitionObject
protected void setBaseDefObject(oracle.jbo.mom.DefinitionObject baseDefObject)
setBaseDefObject
in class oracle.jbo.mom.DefinitionObject
protected void setParent(NamedObjectImpl parent)
setParent
in class oracle.jbo.mom.DefinitionObject
parent
- the named object that is to be the parent of this object.protected void loadProperties(oracle.jbo.mom.xml.DefElementImpl xmlElement)
loadProperties
in class oracle.jbo.mom.DefinitionObject
oracle.jbo.mom.DefinitionObject
xmlDoc
- The XML doc to load from.name
- The name of the Property.
|
Business Components | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |