public class TLcyTransformingModelFormatWrapper extends ALcyFormatWrapper
ALcyFormatWrapper
instance which adds support for transforming the models in the layer factory, for
example to add support for clustering.
This format wrapper has a layer factory implementation which allows to
convert the model into a ALcdTransformingModel
and create a layer for that.
A possible use-case is if you want to cluster the domain objects on the map.
The Lucy clustering sample illustrates a usage of this class.
See samples.lucy.clustering.ClusteringSHPAddOn#createSHPFormat()
.TLcyLspTransformingModelFormatWrapper
Constructor and Description |
---|
TLcyTransformingModelFormatWrapper(ALcyFormat aFormat,
Function<ILcdModel,Optional<ALcdTransformingModel>> aTransformingModelProducer,
ILcdGXYLayerFactory aTransformedModelLayerFactory)
Creates a new
TLcyTransformingModelFormatWrapper instance |
Modifier and Type | Method and Description |
---|---|
protected ILcdGXYLayerFactory |
createGXYLayerFactory()
Creates a
ILcdGXYLayerFactory for this format. |
protected ALcyWorkspaceObjectCodec[] |
createModelWorkspaceCodecs()
Creates the
ALcyWorkspaceObjectCodec codecs that can encode and decode the
ILcdModel instances produces by the model decoders of this format. |
boolean |
isModelOfFormat(ILcdModel aModel)
Returns true if and only if the given model is a model of the current data format.
|
ILcdModel |
transformModel(ILcdModel aModel)
This public method can be called from other classes to obtain a transformed version of
aModel ,
for example if a Lightspeed format wants to add clustering for its domain objects. |
createAll, createAsynchronousPaintHintProvider, createBalloonContentProviders, createDataPropertyValueCustomizerPanelFactories, createDataSourceHandlerFileTypeDescriptorGroups, createDataSourceHandlerFileTypeDescriptors, createDataSourceHandlers, createDefaultModelDescriptorFactories, createDomainObjectCustomizerPanelFactories, createDomainObjectCustomizerPanelWorkspaceCodecs, createDomainObjectWorkspaceCodecs, createFormatBarFactory, createGXYLayerCustomizerPanelFactories, createGXYLayerCustomizerPanelWorkspaceCodecs, createGXYLayerDecoderFileTypeDescriptors, createGXYLayerDecoders, createGXYLayerEncoderFileTypeDescriptors, createGXYLayerEncoders, createGXYLayerSelectionTransferHandlers, createGXYLayerStyleProvider, createGXYLayerTypeProvider, createGXYLayerWorkspaceCodecs, createLabelPlacementHintProvider, createLayerHeightProviderFactory, createLayerMeasureProviderFactory, createModelContentTypeProvider, createModelCustomizerPanelFactories, createModelCustomizerPanelWorkspaceCodecs, createModelDecoderFileTypeDescriptorGroups, createModelDecoderFileTypeDescriptors, createModelDecoders, createModelEncoderCustomizerPanelFactories, createModelEncoderCustomizerPanelWorkspaceCodecs, createModelEncoderFileTypeDescriptors, createModelEncoders, createModelFactory, createModelHeightProviderFactory, createModelMeasureProviderFactory, createModelMetaDataCustomizerPanelFactories, createModelMetaDataCustomizerPanelWorkspaceCodecs, getFormat, getLongPrefix, getLucyEnv, getShortPrefix, isGXYLayerOfFormat
createGXYLayerOfFormatFilter, createLayerContextOfFormatFilter, createModelContextOfFormatFilter, createModelOfFormatFilter, getAsynchronousPaintHintProvider, getBalloonContentProviders, getDataPropertyValueCustomizerPanelFactories, getDataSourceHandlerFileTypeDescriptorGroups, getDataSourceHandlerFileTypeDescriptors, getDataSourceHandlers, getDefaultModelDescriptorFactories, getDomainObjectCustomizerPanelFactories, getDomainObjectCustomizerPanelWorkspaceCodecs, getDomainObjectWorkspaceCodecs, getFormatBarFactory, getGXYLayerCustomizerPanelFactories, getGXYLayerCustomizerPanelWorkspaceCodecs, getGXYLayerDecoderFileTypeDescriptors, getGXYLayerDecoders, getGXYLayerEncoderFileTypeDescriptors, getGXYLayerEncoders, getGXYLayerFactory, getGXYLayerSelectionTransferHandlers, getGXYLayerStyleProvider, getGXYLayerTypeProvider, getGXYLayerWorkspaceCodecs, getLabelPlacementHintProvider, getLayerHeightProviderFactory, getLayerMeasureProviderFactory, getModelContentTypeProvider, getModelCustomizerPanelFactories, getModelCustomizerPanelWorkspaceCodecs, getModelDecoderFileTypeDescriptorGroups, getModelDecoderFileTypeDescriptors, getModelDecoders, getModelEncoderCustomizerPanelFactories, getModelEncoderCustomizerPanelWorkspaceCodecs, getModelEncoderFileTypeDescriptors, getModelEncoders, getModelFactory, getModelHeightProviderFactory, getModelMeasureProviderFactory, getModelMetaDataCustomizerPanelFactories, getModelMetaDataCustomizerPanelWorkspaceCodecs, getModelWorkspaceCodecs, toString
public TLcyTransformingModelFormatWrapper(ALcyFormat aFormat, Function<ILcdModel,Optional<ALcdTransformingModel>> aTransformingModelProducer, ILcdGXYLayerFactory aTransformedModelLayerFactory)
TLcyTransformingModelFormatWrapper
instanceaFormat
- The delegate formataTransformingModelProducer
- Function which convert an ILcdModel
into an ALcdTransformingModel
when needed (for example to add clustering support).
The function should return an empty Optional when the model does not need to
be converted.aTransformedModelLayerFactory
- Layer factory responsible for the creation of the layers for the ALcdTransformingModel
instances created by aTransformingModelProducer
protected final ILcdGXYLayerFactory createGXYLayerFactory()
Creates a ILcdGXYLayerFactory
for this format.
For each incoming model, the layer factory will:
ALcdTransformingModel
is produced, layer creation will be delegated to the layer factory passed in the constructor.
If not, layer creation is delegated to the layer factory of the delegate format.
createGXYLayerFactory
in class ALcyFormatWrapper
ILcdGXYLayerFactory
for this data format. May be null
.TLcySafeGuardFormatWrapper
public final ILcdModel transformModel(ILcdModel aModel)
aModel
,
for example if a Lightspeed format wants to add clustering for its domain objects.
It will delegate the creation of the transformed model to the transforming model producer function passed in the constructor.aModel
- The modelALcdTransformingModel
of aModel
(for example to add clustering support)
or aModel
when no transformation is needed.protected final ALcyWorkspaceObjectCodec[] createModelWorkspaceCodecs()
ALcyFormat
Creates the ALcyWorkspaceObjectCodec
codecs that can encode and decode the
ILcdModel
instances produces by the model decoders of this format.
createModelWorkspaceCodecs
in class ALcyFormatWrapper
ALcyWorkspaceObjectCodec
instances. Must not be
null
, but may have length 0
. Must not contain
null
.TLcySafeGuardFormatWrapper
public final boolean isModelOfFormat(ILcdModel aModel)
ALcyFormat
isModelOfFormat
in class ALcyFormatWrapper
aModel
- The model to check.true
if and only if the given model is a model of the current data
format.