public abstract class AbstractDefinition extends java.lang.Object implements DataControlDefinition
There are several ways that this class can be generated.
load
to load from the metadata definition.
Once the definition is loaded, it calls the createDataControl()
to
create the data control instance.
Note: When the definition loaded at the runtime, runtime sets the name
of the definition as stored in the metadata. The implementation of this
class MUST use getName()
to get the name of the definition.
AbstractAdapter
Modifier and Type | Field and Description |
---|---|
static int |
CACHE_TO_SOURCEPATH |
static int |
DONT_CACHE |
protected DataControlConfiguration |
mDCConfiguration |
protected java.lang.String |
mFullName |
protected java.lang.String |
mName |
protected java.lang.String |
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 |
---|
AbstractDefinition() |
Modifier and Type | Method and Description |
---|---|
void |
addParameter(java.lang.String name,
java.lang.String val) |
boolean |
assignDefaultPackage()
Data controls which do not already have their own package structure
need to use a default package.
|
abstract DataControl |
createDataControl()
Creates an instance of data control generated from the metadata definition.
|
boolean |
createDuplicateDetailIterator()
If the data control needs a distinct iterator to be created for the control binding, this method should
return true.
|
void |
disableSharing() |
void |
enableSharing() |
AdapterContext |
getAdapterContext()
Gets the adapter context.
|
java.lang.String |
getAdapterType()
Returns the name of the corresponding adapter type, if any.
|
int |
getCachingMode() |
DataControlConfiguration |
getConfiguration()
Returns the dcx configuration for the data control.
|
java.lang.String |
getConfigurationFullName() |
protected abstract java.lang.String |
getDCName()
Returns the name of the data control.
|
java.lang.String |
getDefClassName()
Returns the class name of the definition class that will load the metadata
that describes the data control.
|
Definition |
getDefinitionParent()
Returns the parent of this metadata definition, which is the Definition
that contains this Definition.
|
int |
getDefinitionType()
Type of definition
|
java.lang.String |
getFactoryClassName()
Advanced internal placeholder method.
|
java.lang.String |
getFullName()
Returns the full name of this Definition, which includes the name of any parent
objects.
|
java.lang.String |
getJUDTDataControlName() |
abstract org.w3c.dom.Node |
getMetadata()
Returns the element that defines the metadata for the data control.
|
java.lang.String |
getName()
Gets the name of the data control.
|
java.lang.String |
getParameter(java.lang.String name) |
java.util.Map<java.lang.String,java.lang.String> |
getParameterCollection() |
ParameterDefinition[] |
getParameters()
Returns the parameters that are defined for the data control metadata.
|
java.util.Hashtable |
getProperties()
Gets a hashtable of all properties.
|
java.lang.Object |
getProperty(java.lang.String name)
Gets a property value.
|
java.lang.String |
getRootStructureName()
Gets the root structure definition name
|
protected java.util.Map |
getRuntimeParameters()
Returns the Parameters entry from the dcx node for this datacontrol definition.
|
abstract StructureDefinition |
getStructure()
Gets the structure definition of the output data.
|
boolean |
isStructureDirty(boolean refresh)
The implementation should return true if the structure of the back end data
is changed.
|
boolean |
isSupported(java.lang.String flag)
Indicates if the adapter support things like sorting, transaction etc.
|
abstract void |
loadFromMetadata(org.w3c.dom.Node node,
java.util.Map params)
Loads the definition from a metadata
Node . |
void |
removeParameter(java.lang.String name) |
void |
setAdapterContext(AdapterContext ctx)
Sets the adapter context.
|
void |
setCachingMode(int cachingMode) |
void |
setCompileProjectOnCreate(boolean flag)
Sets the flag to indicate the requirement of compilation when a data
control will be created from this definition.
|
void |
setConfigurationFullName(java.lang.String configFullName) |
void |
setFullName(java.lang.String fullName) |
void |
setName(java.lang.String name)
Sets the name of the definiiton.
|
void |
setProperty(java.lang.String name,
java.lang.Object val)
Stores a property value.
|
void |
setRootStructureName(java.lang.String rootDefName)
Sets the root structure definition name
|
boolean |
shouldCompileProjectOnCreate()
Indicates if the project needs to be compiled when a data control is
created from this definition.
|
boolean |
useDefinitionProvider()
Indicates if datacontrol uses DC definition provider
|
boolean |
usePersistedStructure()
Indicates whether the definition delegates to the framework the task of
deserializing its StructureDefinition (for example, from bean .xml
files on disk).
|
public static final int CACHE_TO_SOURCEPATH
public static final int DONT_CACHE
protected java.lang.String mName
protected java.lang.String mFullName
protected java.lang.String mRootDefName
protected DataControlConfiguration mDCConfiguration
public abstract org.w3c.dom.Node getMetadata()
Node
that defines the metadata for this instance.
This metadata will be used at the runtime to fetch data from the
data source.public abstract StructureDefinition getStructure()
getStructure
in interface DataControlDefinition
protected java.util.Map getRuntimeParameters()
public int getDefinitionType()
getDefinitionType
in interface Definition
public int getCachingMode()
public void setCachingMode(int cachingMode)
public abstract void loadFromMetadata(org.w3c.dom.Node node, java.util.Map params)
Node
.node
- the metadata node. It can be null if no metadata is defined.params
- context parameters.public abstract DataControl createDataControl()
protected abstract java.lang.String getDCName()
public DataControlConfiguration getConfiguration()
DataControlConfiguration
that defines the metadata
for this DC instance.public java.lang.String getAdapterType()
AdapterDefinition
public java.lang.String getDefClassName()
The framework will call this method at the design time to store the definition class name that will load the metadata. The returned class must be a derived class of this astract class. The default implementation returns the class name of this instance only. The derived class needs to override this only if the definition class that may load a metadata is different than this instance.
public boolean usePersistedStructure()
public boolean useDefinitionProvider()
public boolean isStructureDirty(boolean refresh)
getStructure()
is this
method returns false.refresh
- flag to indicate if the refresh is requested for the
structure.public ParameterDefinition[] getParameters()
The implementation should override this method if the definition uses parameters. The default implementatiaon returns null.
public java.lang.String getName()
At runtime, the name is set from the metadata information. At
design time it calls getDCName()
to get the name of this
definition.
getName
in interface NamedDefinition
public boolean isSupported(java.lang.String flag)
flag
- one of the values defined in
DataControlDefinition
.public boolean assignDefaultPackage()
public boolean shouldCompileProjectOnCreate()
Note:
If the data control create is invoked from within a UI operation (e.g. you
are invoking creation of data control while responding to a property change
action of the data control metadata), this method must return false.
A data control can be created by calling the method
createDataControl
on class MetaDef
.
public Definition getDefinitionParent()
NamedDefinition
getDefinitionParent
in interface NamedDefinition
public java.lang.String getFullName()
NamedDefinition
getFullName
in interface NamedDefinition
public void setFullName(java.lang.String fullName)
public final void setProperty(java.lang.String name, java.lang.Object val)
public final java.lang.Object getProperty(java.lang.String name)
getProperty
in interface NamedDefinition
name
- Name of the property to be retrieved.public final void addParameter(java.lang.String name, java.lang.String val)
public final java.lang.String getParameter(java.lang.String name)
public final void removeParameter(java.lang.String name)
public java.util.Map<java.lang.String,java.lang.String> getParameterCollection()
public void enableSharing()
public void disableSharing()
public java.util.Hashtable getProperties()
getProperties
in interface NamedDefinition
public final void setName(java.lang.String name)
public final void setAdapterContext(AdapterContext ctx)
public final AdapterContext getAdapterContext()
public void setCompileProjectOnCreate(boolean flag)
public java.lang.String getFactoryClassName()
@Concealed public java.lang.String getJUDTDataControlName()
public boolean createDuplicateDetailIterator()
public java.lang.String getConfigurationFullName()
public void setConfigurationFullName(java.lang.String configFullName)
public java.lang.String getRootStructureName()
public void setRootStructureName(java.lang.String rootDefName)