public class TLcdEditableDataModelListDescriptor extends TLcdEditableModelListDescriptor implements ILcdDataModelDescriptor
An extension of a TLcdEditableModelListDescriptor
that
implements ILcdDataModelDescriptor
.
The data model of this descriptor will be the union of the data models of all descriptors
in the list. The model (element) types will be the union of the model (element) types
of all descriptors in the list. If one or more model (element) types of the descriptors
in the list is null
, the model (element) types of this descriptor will also
be null
.
If at least one descriptor in the list does not implement
ILcdDataModelDescriptor
the data model of this descriptor will be
TLcdUnknownDataTypes.getDataModel()
.
Constructor and Description |
---|
TLcdEditableDataModelListDescriptor()
Create a TLcdEditableDataModelListDescriptor with ModelSet as source, type and display name.
|
TLcdEditableDataModelListDescriptor(String aSourceName,
String aDisplayName)
Create a TLcdEditableDataModelListDescriptor with the given source and display name.
|
TLcdEditableDataModelListDescriptor(String aSourceName,
String aDisplayName,
String aTypeName)
Create a TLcdEditableDataModelListDescriptor with the given source, display name,
and type name.
|
Modifier and Type | Method and Description |
---|---|
void |
addModelDescriptor(ILcdModelDescriptor aModelDescriptor)
Add the given
ILcdModelDescriptor . |
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.
|
void |
insertModelDescriptorAt(ILcdModelDescriptor aModelDescriptor,
int aIndex)
Inserts the given
ILcdModelDescriptor at the given index. |
void |
removeAllModelDescriptors()
Remove all
ILcdModelDescriptor s. |
void |
removeModelDescriptor(ILcdModelDescriptor aModelDescriptor)
Remove the given
ILcdModelDescriptor . |
getModelDescriptor, getModelDescriptorCount
getDisplayName, getSourceName, getTypeName, setDisplayName, setSourceName, setTypeName, sourceNameToDisplayName
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getDisplayName, getSourceName, getTypeName
public TLcdEditableDataModelListDescriptor()
public TLcdEditableDataModelListDescriptor(String aSourceName, String aDisplayName)
aSourceName
- an indication of the source of the model(s).aDisplayName
- a display name for the data in the model(s).public TLcdEditableDataModelListDescriptor(String aSourceName, String aDisplayName, String aTypeName)
aSourceName
- an indication of the source of the model(s).aDisplayName
- a display name for the data in the model(s).aTypeName
- a type name for the data in the model(s).public void addModelDescriptor(ILcdModelDescriptor aModelDescriptor)
TLcdEditableModelListDescriptor
ILcdModelDescriptor
.addModelDescriptor
in class TLcdEditableModelListDescriptor
aModelDescriptor
- the ILcdModelDescriptor
.public void insertModelDescriptorAt(ILcdModelDescriptor aModelDescriptor, int aIndex)
TLcdEditableModelListDescriptor
ILcdModelDescriptor
at the given index.insertModelDescriptorAt
in class TLcdEditableModelListDescriptor
aModelDescriptor
- the ILcdModelDescriptor
.aIndex
- the index the model descriptor should have after insertion. The index should be smaller than or
equal to the current number of model descriptors.public void removeModelDescriptor(ILcdModelDescriptor aModelDescriptor)
ILcdModelDescriptor
.removeModelDescriptor
in class TLcdEditableModelListDescriptor
aModelDescriptor
- the ILcdModelDescriptor
.public void removeAllModelDescriptors()
ILcdModelDescriptor
s.removeAllModelDescriptors
in class TLcdEditableModelListDescriptor
public TLcdDataModel getDataModel()
ILcdDataModelDescriptor
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)
).
getDataModel
in interface ILcdDataModelDescriptor
public Set<TLcdDataType> getModelElementTypes()
ILcdDataModelDescriptor
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() )
.
getModelElementTypes
in interface ILcdDataModelDescriptor
public Set<TLcdDataType> getModelTypes()
ILcdDataModelDescriptor
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.
getModelTypes
in interface ILcdDataModelDescriptor