public abstract class AbstractBeanDefinition extends AbstractDefinition
AbstractDefinition
provides structure definition and associated meta data
creation behavior via the DataControlStructure framework. There are three cases when an AbstractDefinition
will be created in ADF:
1) Runtime: The AbstractDefinition will be created via a zero arg constructor and will be provided the
data control name, meta data, and parameters. It is then expected to know how to create the rt data control.
2) Designtime via the AbstractAdapter: In this case, the AbstractDefinition is created with a non zero arg
contructor. It is expected to provide the StructureDefinition, dc name, and meta data.
3) Designtime via the Adapter framework: The AbstractDefinition is created via a zero arg constructor. It is
expected to provide the StructureDefinition. The meta data and and dc name are provided by the Adapter framework.
This class provides facilities for handling these cases in a uniform fashion without introducing
direct designtime dependencies in the concrete AbstractDefinition implementation.
Case 1: Follow the AbstractAdapter pattern for handling meta data loading and data control creation.
Case 2: In the BeanAbstractAdapter implementation return the concrete implementation of this class in the getDefinition(DataControlStructure)
method initialized with the DataControlStructure constructor.
Case 3: The abstract implementation will load the required DataControlStructure when needed from the DataControlStructureProvider
registered with the DCStructureProviderFactory for the definition type.
Implementors of this class must indicate the provider type via the getProviderType()
method.AbstractDefinition
,
DataControlStructure
,
oracle.adfinternal.model.adapter.generic.DataControlStructureProvider,
oracle.adfinternal.model.adapter.bean.AbstractBeanAdapter
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ACCESS_MODE
AcessMode (PagingType) - {scrollable, rangePaging}
|
static java.lang.String |
DATA_CONTROL_HANDLER
DataControl Handler - 11.1.2
|
static java.lang.String |
EAGER_PERSIST |
protected org.w3c.dom.Node |
metaData |
protected java.util.Map |
parameters |
static java.lang.String |
RANGE_PAGING |
static java.lang.String |
SCROLLABLE |
CACHE_TO_SOURCEPATH, DONT_CACHE, mDCConfiguration, mFullName, mName, mRootDefName
TYPE_ACCESSOR, TYPE_ATTRIBUTE, TYPE_CRITERIA, TYPE_CRITERIA_ITEM, TYPE_CRITERIA_OPERATOR, TYPE_CRITERIA_ROW, TYPE_DATACONTROL, TYPE_DEFINITION, TYPE_DEFINITIONCONTEXT, TYPE_NAMED, TYPE_OPERATION, TYPE_OPERATIONRETURN, TYPE_PARAMETER, TYPE_STRUCTURE, TYPE_VARIABLE
Constructor and Description |
---|
AbstractBeanDefinition()
Called by the framework.
|
AbstractBeanDefinition(DataControlStructure dcStructure)
Called by AbstractBeanAdapter to create an initialized AbstractDefinition.
|
Modifier and Type | Method and Description |
---|---|
protected DCHandler |
getBeanDCHandler(java.lang.String dcHandler)
BeanDC DataControlHandler
|
protected java.lang.String |
getDCName()
Returns the name of the data control.
|
java.lang.String |
getFactoryClassName()
Advanced internal placeholder method.
|
org.w3c.dom.Node |
getMetadata()
Returns the element that defines the metadata for the data control.
|
java.lang.String |
getNodeValue(org.w3c.dom.Node attr)
Convenience method for getNodeValue(Node)
|
protected abstract java.lang.String |
getProviderType()
Indicates the type of DataControlStructureProvider to use during initialization.
|
protected org.w3c.dom.Node |
getRuntimeMetaData()
Accessor that returns the DC meta data passed in by the
loadFromMetadata() method. |
protected java.util.Map |
getRuntimeParameters()
Accessor that returns the DC parameters passed in by the
loadFromMetadata() method. |
StructureDefinition |
getStructure()
Gets the structure definition of the output data.
|
protected void |
initDefinition()
Option to override rt bean-definition
|
boolean |
isStructureDirty(boolean refresh)
Indicates to the Adapter framework to always recreate the DC on refresh.
|
boolean |
isSupported(java.lang.String operation)
Indicate whether or not support operations ...
|
void |
loadFromMetadata(org.w3c.dom.Node metaData,
java.util.Map parameters)
Loads the definition from a metadata
Node . |
void |
setProperty(java.lang.String propName,
org.w3c.dom.Node attr)
Convenience method for setProperty(Node)
|
boolean |
usePersistedStructure()
Indicates whether the definition delegates to the framework the task of
deserializing its StructureDefinition (for example, from bean .xml
files on disk).
|
addParameter, assignDefaultPackage, createDataControl, createDuplicateDetailIterator, disableSharing, enableSharing, getAdapterContext, getAdapterType, getCachingMode, getConfiguration, getConfigurationFullName, getDefClassName, getDefinitionParent, getDefinitionType, getFullName, getJUDTDataControlName, getName, getParameter, getParameterCollection, getParameters, getProperties, getProperty, getRootStructureName, removeParameter, setAdapterContext, setCachingMode, setCompileProjectOnCreate, setConfigurationFullName, setFullName, setName, setProperty, setRootStructureName, shouldCompileProjectOnCreate, useDefinitionProvider
public static final java.lang.String DATA_CONTROL_HANDLER
public static final java.lang.String ACCESS_MODE
public static final java.lang.String SCROLLABLE
public static final java.lang.String RANGE_PAGING
public static final java.lang.String EAGER_PERSIST
protected org.w3c.dom.Node metaData
protected java.util.Map parameters
public AbstractBeanDefinition()
public AbstractBeanDefinition(DataControlStructure dcStructure)
protected java.util.Map getRuntimeParameters()
loadFromMetadata()
method.getRuntimeParameters
in class AbstractDefinition
protected org.w3c.dom.Node getRuntimeMetaData()
loadFromMetadata()
method.protected abstract java.lang.String getProviderType()
protected final java.lang.String getDCName()
AbstractDefinition
getDCName
in class AbstractDefinition
public final StructureDefinition getStructure()
AbstractDefinition
getStructure
in interface DataControlDefinition
getStructure
in class AbstractDefinition
public final org.w3c.dom.Node getMetadata()
AbstractDefinition
getMetadata
in class AbstractDefinition
Node
that defines the metadata for this instance.
This metadata will be used at the runtime to fetch data from the
data source.public final void loadFromMetadata(org.w3c.dom.Node metaData, java.util.Map parameters)
AbstractDefinition
Node
.loadFromMetadata
in class AbstractDefinition
metaData
- the metadata node. It can be null if no metadata is defined.parameters
- context parameters.protected void initDefinition()
public boolean usePersistedStructure()
usePersistedStructure
in class AbstractDefinition
public boolean isStructureDirty(boolean refresh)
isStructureDirty
in class AbstractDefinition
refresh
- flag to indicate if the refresh is requested for the
structure.public boolean isSupported(java.lang.String operation)
isSupported
in class AbstractDefinition
operation
- public void setProperty(java.lang.String propName, org.w3c.dom.Node attr)
public java.lang.String getNodeValue(org.w3c.dom.Node attr)
protected DCHandler getBeanDCHandler(java.lang.String dcHandler)
dcHandler
- DCHandler
handler classNamepublic java.lang.String getFactoryClassName()
AbstractDefinition
getFactoryClassName
in class AbstractDefinition