public interface ILcdDataModelDescriptor extends ILcdModelDescriptor
ILcdModelDescriptor
that describes models of which the elements are based on
ILcdDataObject
.
Associating an ILcdModel
with an ILcdDataModelDescriptor
asserts that the elements from the model are designed according to the data model
API as defined by the com.luciad.datamodel
package.
This package provides a unified API that
makes it possible to describe the static structure of domain objects
similar to what a UML class diagram would describe.
An ILcdDataModelDescriptor
enables applications to discover this static structure of the elements of
an ILcdModel
, and that without having to iterate over them.
Calling getModelElementTypes()
returns the types of all model elements.
For homogeneous models, where all model elements have the same structure, this
set is a singleton. getDataModel()
returns the TLcdDataModel
that describes
the domain objects of the model.
com.luciad.datamodel
Modifier and Type | Method and Description |
---|---|
TLcdDataModel |
getDataModel()
Returns the data model that describes the elements of the model.
|
Set<TLcdDataType> |
getModelElementTypes()
Returns a set containing all the data types of which instances can be elements in the model
associated with this descriptor.
|
Set<TLcdDataType> |
getModelTypes()
Returns a set containing all the types of which instances can be used (including both
top-level elements and child objects) in the model associated with this descriptor.
|
getDisplayName, getSourceName, getTypeName
TLcdDataModel getDataModel()
Returns the data model that describes the elements of the model. Note that not necessarily all data in the model will be of a type of this data model. Very likely, types from the dependencies of the returned data model are used as well.
In case the model accepts objects from multiple data models, an anonymous
data model that depends on all these data models should be returned
(see TLcdDataModelBuilder.createAnonymousDataModel(java.util.Collection)
).
Set<TLcdDataType> getModelElementTypes()
Returns a set containing all the data types of which instances can be elements in the model associated with this descriptor. Implementations are free to limit the result to only include the types of which there are actually elements in the model; but they are not required to do so.
Implementations should return null
in case they don't know
which element types are present in the model.
For each element of the model associated with this model descriptor, the following holds true :
getModelElementTypes().contains( element.getDataType() )
.
Set<TLcdDataType> getModelTypes()
Returns a set containing all the types of which instances can be used (including both top-level elements and child objects) in the model associated with this descriptor. Implementations are free to limit the result to only include the types of which there are actually instances in the model; but they are not required to do so.
A simple and correct implementation would be to return
getDataModel().getTypes()
. Implementations are encouraged to return a subset of
this set if they can do so without spending an unreasonable amount of resources.
Implementations should return null
in case they don't know
which types are present in the model.