Interface ILcdDataModelDescriptor

All Superinterfaces:
ILcdModelDescriptor, Serializable
All Known Subinterfaces:
ILcdDatabaseModelDescriptor, ILcdPanoramaModelDescriptor, ILcdSVGModelDescriptor
All Known Implementing Classes:
ALcdASDIModelDescriptor, ALcdASTERIXModelDescriptor, ALcdLIDARModelDescriptor, ALcdMagneticNorthModelDescriptor, TLcdAerodromeModelDescriptor, TLcdAirspaceModelDescriptor, TLcdAIXM51ModelDescriptor, TLcdAIXMAerodromeModelDescriptor, TLcdAIXMAirspaceModelDescriptor, TLcdAIXMDesignatedPointModelDescriptor, TLcdAIXMDMEModelDescriptor, TLcdAIXMGeoborderModelDescriptor, TLcdAIXMILSModelDescriptor, TLcdAIXMMarkerModelDescriptor, TLcdAIXMModelListDescriptor, TLcdAIXMNDBModelDescriptor, TLcdAIXMObstacleModelDescriptor, TLcdAIXMProcedureTrajectoryModelDescriptor, TLcdAIXMRouteModelDescriptor, TLcdAIXMRunwayModelDescriptor, TLcdAIXMTACANModelDescriptor, TLcdAIXMVORModelDescriptor, TLcdAPP6AModelDescriptor, TLcdAreaMinimumAltitudeModelDescriptor, TLcdARINCAerodromeModelDescriptor, TLcdARINCAirportCommunicationModelDescriptor, TLcdARINCControlledAirspaceModelDescriptor, TLcdARINCDMEModelDescriptor, TLcdARINCEnrouteAirwayModelDescriptor, TLcdARINCEnrouteCommunicationModelDescriptor, TLcdARINCFIRUIRModelDescriptor, TLcdARINCHeliportCommunicationModelDescriptor, TLcdARINCHoldingModelDescriptor, TLcdARINCILSModelDescriptor, TLcdARINCMarkerModelDescriptor, TLcdARINCMinimumSectorAltitudeModelDescriptor, TLcdARINCModelListDescriptor, TLcdARINCMORAModelDescriptor, TLcdARINCNDBModelDescriptor, TLcdARINCProcedureTrajectoryModelDescriptor, TLcdARINCRestrictiveAirspaceModelDescriptor, TLcdARINCRunwayModelDescriptor, TLcdARINCTACANModelDescriptor, TLcdARINCVORModelDescriptor, TLcdARINCWayPointModelDescriptor, TLcdASDIFlightPlanHistoryModelDescriptor, TLcdASDIFlightPlanModelDescriptor, TLcdASDITrackModelDescriptor, TLcdASDITrajectoryModelDescriptor, TLcdASTERIXPlotModelDescriptor, TLcdASTERIXRadarServiceMessageModelDescriptor, TLcdASTERIXRadarVideoModelDescriptor, TLcdASTERIXTrackModelDescriptor, TLcdASTERIXTrajectoryModelDescriptor, TLcdASTERIXWeatherModelDescriptor, TLcdATSRouteModelDescriptor, TLcdCGMModelDescriptor, TLcdDAFIFAerodromeModelDescriptor, TLcdDAFIFAerodromeNavaidModelListDescriptor, TLcdDAFIFAirspaceModelDescriptor, TLcdDAFIFAirspaceModelListDescriptor, TLcdDAFIFATSRouteModelDescriptor, TLcdDAFIFDMEModelDescriptor, TLcdDAFIFGlidePathModelDescriptor, TLcdDAFIFHelipadModelDescriptor, TLcdDAFIFHeliportModelDescriptor, TLcdDAFIFHoldingModelDescriptor, TLcdDAFIFILSDMEModelDescriptor, TLcdDAFIFILSModelListDescriptor, TLcdDAFIFLocalizerModelDescriptor, TLcdDAFIFMarkerModelDescriptor, TLcdDAFIFMilitaryTrainingRouteModelDescriptor, TLcdDAFIFMinimumSectorAltitudeModelDescriptor, TLcdDAFIFNavaidModelListDescriptor, TLcdDAFIFNDBModelDescriptor, TLcdDAFIFOrtcaModelDescriptor, TLcdDAFIFParachuteJumpAreaModelDescriptor, TLcdDAFIFPrecisionApproachPathModelDescriptor, TLcdDAFIFProcedureTrajectoryModelDescriptor, TLcdDAFIFRefuelingAirspaceModelDescriptor, TLcdDAFIFRefuelingTrackModelDescriptor, TLcdDAFIFRefuelingTrackModelListDescriptor, TLcdDAFIFRunwayModelDescriptor, TLcdDAFIFSpecialUseAirspaceModelDescriptor, TLcdDAFIFSpecialUseAirspaceModelListDescriptor, TLcdDAFIFTACANModelDescriptor, TLcdDAFIFVFROffsetModelDescriptor, TLcdDAFIFVFRRouteModelDescriptor, TLcdDAFIFVFRRouteModelListDescriptor, TLcdDAFIFVORModelDescriptor, TLcdDAFIFWayPointModelDescriptor, TLcdDatabaseModelDescriptor, TLcdDataModelDescriptor, TLcdDB2SpatialModelDescriptor, TLcdDGNModelDescriptor, TLcdDMEModelDescriptor, TLcdDWGModelDescriptor, TLcdE57ModelDescriptor, TLcdEditableDataModelListDescriptor, TLcdFinalApproachPathModelDescriptor, TLcdGDFDatasetModelDescriptor, TLcdGDFLayerModelDescriptor, TLcdGDFSectionModelDescriptor, TLcdGeoborderModelDescriptor, TLcdGeoJsonModelDescriptor, TLcdGlidePathModelDescriptor, TLcdGML2ModelDescriptor, TLcdGML31ModelDescriptor, TLcdGML32ModelDescriptor, TLcdGMLModelDescriptor, TLcdHanaModelDescriptor, TLcdHashedFeaturedModelDescriptor, TLcdHelipadModelDescriptor, TLcdHeliportModelDescriptor, TLcdHoldingModelDescriptor, TLcdIGRFModelDescriptor, TLcdILSDMEModelDescriptor, TLcdILSModelDescriptor, TLcdInformixGeodeticModelDescriptor, TLcdInformixSpatialModelDescriptor, TLcdKML22ModelDescriptor, TLcdLASModelDescriptor, TLcdLocalizerModelDescriptor, TLcdLVDBModelDescriptor, TLcdMagneticNorthModelDescriptor, TLcdMarkerModelDescriptor, TLcdMIFModelDescriptor, TLcdMilitaryTrainingRouteModelDescriptor, TLcdMinimumSectorAltitudeModelDescriptor, TLcdMS2525bModelDescriptor, TLcdMSSQLModelDescriptor, TLcdMultilevelTiledModelDescriptor, TLcdNDBModelDescriptor, TLcdNVG15ModelDescriptor, TLcdNVG20ModelDescriptor, TLcdNVGModelDescriptor, TLcdObstacleModelDescriptor, TLcdOracleGeoRasterModelDescriptor, TLcdOracleSpatialModelDescriptor, TLcdOrtcaModelDescriptor, TLcdPanoramaModelDescriptor, TLcdParachuteJumpAreaModelDescriptor, TLcdPOLModelDescriptor, TLcdPostGISModelDescriptor, TLcdProcedureModelDescriptor, TLcdProcedureTrajectoryModelDescriptor, TLcdRefuelingAirspaceModelDescriptor, TLcdRefuelingTrackModelDescriptor, TLcdRunwayModelDescriptor, TLcdS57CatalogueModelDescriptor, TLcdS57LevelModelDescriptor, TLcdS57ModelDescriptor, TLcdS63ModelDescriptor, TLcdServiceModelDescriptor, TLcdSHPModelDescriptor, TLcdSIGWXModelDescriptor, TLcdSpatiaLiteModelDescriptor, TLcdSpecialUseAirspaceModelDescriptor, TLcdSVGModelDescriptor, TLcdTACANModelDescriptor, TLcdVFRAerodromeModelDescriptor, TLcdVFROffsetModelDescriptor, TLcdVFRRouteModelDescriptor, TLcdVORModelDescriptor, TLcdVPFModelDescriptor, TLcdWayPointModelDescriptor, TLcdWFSProxyModelDescriptor, TLcdWMMModelDescriptor, TLcyDrawingDataModelDescriptor, TLfnVectorTileStoreModelDescriptor

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.

Since:
10.0
See Also:
  • Method Details

    • getDataModel

      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)).

      Returns:
      the data model that describes the elements of the model
    • getModelElementTypes

      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() ).

      Returns:
      a set containing all the data types of which instances can be elements in the model associated with this descriptor
    • getModelTypes

      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.

      Returns:
      a set containing all the data types of which instances can be used in the model associated with this descriptor