Class TLcyDrawingDataModelDescriptor
- All Implemented Interfaces:
ILcdDataModelDescriptor
,ILcdModelDescriptor
,ILcdFeaturedDescriptor
,ILcdFeaturedDescriptorProvider
,Serializable
Extension of TLcyDrawingModelDescriptor
which also implements ILcdDataModelDescriptor
.
Instances of this class can be created through the Builder
class.
Typically, when you create your own TLcyDrawingDataModelDescriptor
instance, you will also create your own
drawing model and layer.
The following code snippets shows how this can be achieved:
TLcyDrawingDataModelDescriptor.Builder builder = TLcyDrawingDataModelDescriptor.Builder.newInstance();
builder.sourceName(null) //null source as we create a model from scratch
.displayName(""My drawing model");
//add some properties
builder.addStringProperty("Name")
.addIntegerProperty("Population");
//build the model descriptor
TLcyDrawingDataModelDescriptor descriptor = builder.build();
//Create a model and layer using the available model factories and layer factories from Lucy
ILcyLucyEnv lucy = ...;
ILcdModel drawingModel = new TLcyCompositeModelFactory(lucy).createModel(descriptor, new TLcdGeodeticReference());
ILcdGXYLayer gxyLayer = new TLcyCompositeGXYLayerFactory(lucy).createGXYLayer(drawingModel);
This is the default ILcdModelDescriptor
for drawing models. The
TLcyDrawingModelDescriptor
is only used when specified in the configuration file of
the drawing add-on (see the TLcyDrawingAddOn.useDataModel
property).
- Since:
- 10.1
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
Builder class forTLcyDrawingDataModelDescriptor
instances. -
Field Summary
Fields inherited from class com.luciad.model.TLcdFeaturedModelDescriptor
fFeatureClasses
-
Constructor Summary
ConstructorDescriptionTLcyDrawingDataModelDescriptor
(String aSourceName, String aDisplayName) Deprecated.TLcyDrawingDataModelDescriptor
(String aSourceName, String aDisplayName, TLcyDrawingStyleRepository aDrawingModelStyle) Deprecated.Use theTLcyDrawingDataModelDescriptor.Builder
instead -
Method Summary
Modifier and TypeMethodDescriptionReturns the data model that describes the elements of the model.Returns the one and onlyTLcdDataType
ofthis data model
.Returns a set containing all the data types of which instances can be elements in the model associated with this descriptor.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
setDataModel
(TLcdDataModel aDataModel) Set theTLcdDataModel
for this descriptor.Methods inherited from class com.luciad.lucy.addons.drawing.model.TLcyDrawingModelDescriptor
addFeature, getDrawingStyleRepository, getFeatureClass, getFeatureCount, getFeatureIndex, getFeatureName, removeFeature, setFeature
Methods inherited from class com.luciad.model.TLcdFeaturedModelDescriptor
getFeaturedDescriptor
Methods inherited from class com.luciad.model.TLcdModelDescriptor
getDisplayName, getSourceName, getTypeName, setDisplayName, setSourceName, setTypeName, sourceNameToDisplayName
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.luciad.util.ILcdFeaturedDescriptor
getFeatureUnitOfMeasure
Methods inherited from interface com.luciad.model.ILcdModelDescriptor
getDisplayName, getSourceName, getTypeName
-
Constructor Details
-
TLcyDrawingDataModelDescriptor
Deprecated.Use theTLcyDrawingDataModelDescriptor.Builder
insteadConstructs a newTLcyDrawingDataModelDescriptor
with the given parameters. UsesetDataModel(com.luciad.datamodel.TLcdDataModel)
to set theTLcdDataModel
associated to this descriptor.- Parameters:
aSourceName
- the source nameaDisplayName
- the display name
-
TLcyDrawingDataModelDescriptor
@Deprecated public TLcyDrawingDataModelDescriptor(String aSourceName, String aDisplayName, TLcyDrawingStyleRepository aDrawingModelStyle) Deprecated.Use theTLcyDrawingDataModelDescriptor.Builder
insteadConstructs a newTLcyDrawingDataModelDescriptor
with the given parameters. UsesetDataModel(com.luciad.datamodel.TLcdDataModel)
to set theTLcdDataModel
associated to this descriptor.- Parameters:
aSourceName
- the source nameaDisplayName
- the display nameaDrawingModelStyle
- Repository containing SLD styles which can be used by the domain objects
-
-
Method Details
-
setDataModel
Set the
TLcdDataModel
for this descriptor. This method should be called before using theILcdDataModelDescriptor
methods.As soon as the corresponding
ILcdModel
for this descriptor is in use, this method should no longer be used.- Parameters:
aDataModel
- the data model for this descriptor
-
getDataModel
Description copied from interface: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)
).- Specified by:
getDataModel
in interfaceILcdDataModelDescriptor
- Returns:
- the data model that describes the elements of the model
-
getModelElementTypes
Description copied from interface: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() )
.- Specified by:
getModelElementTypes
in interfaceILcdDataModelDescriptor
- Returns:
- a set containing all the data types of which instances can be elements in the model associated with this descriptor
-
getModelTypes
Description copied from interface: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.- Specified by:
getModelTypes
in interfaceILcdDataModelDescriptor
- Returns:
- a set containing all the data types of which instances can be used in the model associated with this descriptor
-
getDataType
Returns the one and onlyTLcdDataType
ofthis data model
.- Returns:
- the one and only
TLcdDataType
ofthis data model
.
-
TLcyDrawingDataModelDescriptor.Builder
instead