public class TLcyAsynchronousFormatWrapper extends ALcyFormatWrapper
Decorator for an ALcyFormat
that makes the given format support asynchronous
painting (see com.luciad.view.gxy.asynchronous
package).
Note that just wrapping a format with this asynchronous decorator isn't enough.
Also the asynchronous add-on
needs to be loaded, and a valid paint hint provider must be returned by the wrapped ALcyFormat
.
If the wrapped ALcyFormat
extends from ALcyGeneralFormat
, the valid paint hint provider
can be created by specifying it in the configuration file using the following properties:
# This property must be set to true in order to create the paint hint provider.
# This is the only necessary option in the configuration file.
# All other settings are optional.
shortPrefix.asynchronous = true
# A boolean value indicating that only the layer bodies should be painted asynchronously,
# i.e. not the labels and selections
# Setting this setting to true saves memory, but causes labels to be dropped while asynchronous painting
# and label placement is ongoing.
# We recommend false
as value for all formats which can have labels
#
# This is an optional property.
shortPrefix.asynchronous.bodiesOnly = true
# A string indicating a common buffer in which all layers belonging to that mergeGroup are painted in.
# This buffer can be shared across formats.
# Painting layers in the same buffer saves memory, but makes all layers paint as slow as the slowest layer.
# Not specifying this property leaves the buffer management to the layer order manager's strategy
#
# The recommended setting is to only specify this property for layers which you know in advance will be slow-painting.
# Typical examples are layers which request data over the network like WMS, WFS, WCS, BingMaps, ...
#
#This is an optional property.
shortPrefix.asynchronous.mergeGroup =
# If not zero, determines the minimum priority of the rendering thread.
# The value range is specified by the Thread
class.
# If zero, a default priority is chosen
#
# This is an optional property.
shortPrefix.asynchronous.minimumThreadPriority = 0
The wrappers used by this class can be found in the com.luciad.lucy.map.asynchronous
package.
Some of these wrappers make certain assumptions which are documented in the class
documentation of these wrappers.
Constructor and Description |
---|
TLcyAsynchronousFormatWrapper(ALcyFormat aFormat)
Creates a wrapper for the specified
ALcyFormat , making all created layers
paint asynchronously. |
TLcyAsynchronousFormatWrapper(ALcyFormat aFormat,
ILcdFilter aLayerFilter)
Creates a wrapper for the specified
ALcyFormat , making the filtered layers paint
asynchronously. |
Modifier and Type | Method and Description |
---|---|
ILcyAsynchronousPaintHintProvider |
createAsynchronousPaintHintProvider()
Creates a
ILcyAsynchronousPaintHintProvider for this format. |
ILcyCustomizerPanelFactory[] |
createDomainObjectCustomizerPanelFactories()
Creates the
ILcyCustomizerPanelFactory factories that can create
ILcyCustomizerPanel instances for the domain objects created by the model decoders
of this format. |
protected ALcyWorkspaceObjectCodec[] |
createDomainObjectCustomizerPanelWorkspaceCodecs()
Creates the
ALcyWorkspaceObjectCodec codecs for the
ILcyCustomizerPanel instances for the domain objects created by the model
decoders of this format. |
ILcyCustomizerPanelFactory[] |
createGXYLayerCustomizerPanelFactories()
Creates the
ILcyCustomizerPanelFactory factories that can create
ILcyCustomizerPanel instances for the layers created by the layer factories of
this format. |
protected ALcyWorkspaceObjectCodec[] |
createGXYLayerCustomizerPanelWorkspaceCodecs()
Creates the
ALcyWorkspaceObjectCodec codecs for the
ILcyCustomizerPanel instances for the layers created by the layer factories of this
format. |
ILcdGXYLayerDecoder[] |
createGXYLayerDecoders()
Creates the
ILcdGXYLayerDecoder decoders that can decode layers for models
created by the model decoders of this format. |
ILcdGXYLayerEncoder[] |
createGXYLayerEncoders()
Creates the
ILcdGXYLayerEncoder encoders for the layers created by the layer
factories of this format. |
ILcdGXYLayerFactory |
createGXYLayerFactory()
Creates a
ILcdGXYLayerFactory for this format. |
protected ALcyLayerSelectionTransferHandler[] |
createGXYLayerSelectionTransferHandlers()
Creates the
ALcyLayerSelectionTransferHandler transfer handlers that can
transfer the selection of the 2D layers created by the layer factories of this format. |
protected ILcyLayerStyleProvider |
createGXYLayerStyleProvider()
Creates the style provider that can retrieve and encode the style of the layers created by the
layer factory of this format.
|
ILcyGXYLayerTypeProvider |
createGXYLayerTypeProvider()
Creates an
ILcyGXYLayerTypeProvider for this format. |
ALcyWorkspaceObjectCodec[] |
createGXYLayerWorkspaceCodecs()
Creates the
ALcyWorkspaceObjectCodec codecs that can encode and decode the
layers created by the layer factories of this format. |
protected ILcyGXYLabelPlacementHintProvider |
createLabelPlacementHintProvider()
Creates the
ILcyLabelPlacementHintProvider that can create a
TLcyGXYLabelPlacementHint for layers of this format. |
protected ILcdLayerHeightProviderFactory |
createLayerHeightProviderFactory()
Creates the
ILcdLayerHeightProviderFactory that can create an
ILcdHeightProvider for this format. |
ILcyCustomizerPanelFactory[] |
createModelCustomizerPanelFactories()
Creates the
ILcyCustomizerPanelFactory (s) that can create
ILcyCustomizerPanel instances to customize the models
produced by the model decoders and model factories of this format. |
protected ALcyWorkspaceObjectCodec[] |
createModelCustomizerPanelWorkspaceCodecs()
Creates the
ALcyWorkspaceObjectCodec that can encode and decode the
ILcyCustomizerPanel instances for the models produced by this format. |
ILcyCustomizerPanelFactory[] |
createModelEncoderCustomizerPanelFactories()
Creates the
ILcyCustomizerPanelFactory instances for the
ILcdModelEncoder instances created by this class. |
protected ALcyWorkspaceObjectCodec[] |
createModelEncoderCustomizerPanelWorkspaceCodecs()
Creates the
ALcyWorkspaceObjectCodec codecs for the
ILcyCustomizerPanel that customize the model encoder
instances created by this class. |
protected ALcyWorkspaceObjectCodec[] |
createModelMetaDataCustomizerPanelWorkspaceCodecs()
Creates the
ALcyWorkspaceObjectCodec codecs that can encode and decode the
ILcyCustomizerPanel instances used to customize the meta data of the
models produced by this format. |
boolean |
isGXYLayerOfFormat(ILcdGXYLayer aGXYLayer)
Returns
true if and only if the given layer is a layer of the current data
format. |
createAll, createBalloonContentProviders, createDataPropertyValueCustomizerPanelFactories, createDataSourceHandlerFileTypeDescriptorGroups, createDataSourceHandlerFileTypeDescriptors, createDataSourceHandlers, createDefaultModelDescriptorFactories, createDomainObjectWorkspaceCodecs, createFormatBarFactory, createGXYLayerDecoderFileTypeDescriptors, createGXYLayerEncoderFileTypeDescriptors, createLayerMeasureProviderFactory, createModelContentTypeProvider, createModelDecoderFileTypeDescriptorGroups, createModelDecoderFileTypeDescriptors, createModelDecoders, createModelEncoderFileTypeDescriptors, createModelEncoders, createModelFactory, createModelHeightProviderFactory, createModelMeasureProviderFactory, createModelMetaDataCustomizerPanelFactories, createModelWorkspaceCodecs, getFormat, getLongPrefix, getLucyEnv, getShortPrefix, isModelOfFormat
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 TLcyAsynchronousFormatWrapper(ALcyFormat aFormat)
Creates a wrapper for the specified ALcyFormat
, making all created layers
paint asynchronously.
aFormat
- The ALcyFormat
for which to provide asynchronous painting.public TLcyAsynchronousFormatWrapper(ALcyFormat aFormat, ILcdFilter aLayerFilter)
Creates a wrapper for the specified ALcyFormat
, making the filtered layers paint
asynchronously.
aFormat
- the ALcyFormat
for which to provide asynchronous painting.aLayerFilter
- the filter to use to determine if a created layer should
be painted asynchronously. If null, all created layers are painted asynchronously.public boolean isGXYLayerOfFormat(ILcdGXYLayer aGXYLayer)
ALcyFormat
Returns true
if and only if the given layer is a layer of the current data
format.
isGXYLayerOfFormat
in class ALcyFormatWrapper
aGXYLayer
- The layer to check.true
if and only if the given layer is a layer of the current data
format.public ILcdGXYLayerFactory createGXYLayerFactory()
ALcyFormat
Creates a ILcdGXYLayerFactory
for this format.
createGXYLayerFactory
in class ALcyFormatWrapper
ILcdGXYLayerFactory
for this data format. May be null
.TLcyGXYAsynchronousLayerFactory
public ILcdGXYLayerDecoder[] createGXYLayerDecoders()
ALcyFormat
Creates the ILcdGXYLayerDecoder
decoders that can decode layers for models
created by the model decoders of this format.
The default implementation returns a zero-length array.
It is the responsibility of this method to make sure that the lucy environment listens to status events from the decoder. This method should not register the decoder to the lucy env.
Note that TLcdStatusInputStreamFactory
might be useful to implement this
method.
createGXYLayerDecoders
in class ALcyFormatWrapper
null
, but may have length
0
. It must not contain null
.TLcyGXYAsynchronousLayerDecoder
public ILcdGXYLayerEncoder[] createGXYLayerEncoders()
ALcyFormat
Creates the ILcdGXYLayerEncoder
encoders for the layers created by the layer
factories of this format.
The default implementation returns a zero-length array.
It is the responsibility of this method to make sure that the lucy environment listens to status events from the encoder. This method should not register the encoder to the lucy env.
Note that TLcdStatusOutputStreamFactory
might be useful to implement this
method.
createGXYLayerEncoders
in class ALcyFormatWrapper
ILcdGXYLayerEncoder
instances. Must not be null
but may have length 0
. Must not contain null
.TLcyGXYAsynchronousLayerEncoder
protected ALcyWorkspaceObjectCodec[] createModelCustomizerPanelWorkspaceCodecs()
ALcyFormat
Creates the ALcyWorkspaceObjectCodec
that can encode and decode the
ILcyCustomizerPanel
instances for the models produced by this format.
createModelCustomizerPanelWorkspaceCodecs
in class ALcyFormatWrapper
ALcyWorkspaceObjectCodec
instances. Must not be
null
but may have length 0
. Must not contain
null
.TLcyGXYAsynchronousCustomizerPanelWorkspaceCodec
protected ALcyWorkspaceObjectCodec[] createModelEncoderCustomizerPanelWorkspaceCodecs()
ALcyFormat
Creates the ALcyWorkspaceObjectCodec
codecs for the
ILcyCustomizerPanel
that customize the model encoder
instances created by this class.
createModelEncoderCustomizerPanelWorkspaceCodecs
in class ALcyFormatWrapper
ALcyWorkspaceObjectCodec
instances. Must not be
null
, but may have length 0
. Must not contain
null
.TLcyGXYAsynchronousCustomizerPanelWorkspaceCodec
protected ALcyWorkspaceObjectCodec[] createModelMetaDataCustomizerPanelWorkspaceCodecs()
ALcyFormat
Creates the ALcyWorkspaceObjectCodec
codecs that can encode and decode the
ILcyCustomizerPanel
instances used to customize the meta data of the
models produced by this format.
createModelMetaDataCustomizerPanelWorkspaceCodecs
in class ALcyFormatWrapper
ALcyWorkspaceObjectCodec
instances. Must not be
null
but may have length 0
. Must not contain
null
.TLcyGXYAsynchronousCustomizerPanelWorkspaceCodec
protected ALcyWorkspaceObjectCodec[] createGXYLayerCustomizerPanelWorkspaceCodecs()
ALcyFormat
Creates the ALcyWorkspaceObjectCodec
codecs for the
ILcyCustomizerPanel
instances for the layers created by the layer factories of this
format.
createGXYLayerCustomizerPanelWorkspaceCodecs
in class ALcyFormatWrapper
ALcyWorkspaceObjectCodec
instances. Must not be
null
, but may have length 0
. Must not contain
null
.TLcyGXYAsynchronousCustomizerPanelWorkspaceCodec
protected ALcyWorkspaceObjectCodec[] createDomainObjectCustomizerPanelWorkspaceCodecs()
ALcyFormat
Creates the ALcyWorkspaceObjectCodec
codecs for the
ILcyCustomizerPanel
instances for the domain objects created by the model
decoders of this format.
createDomainObjectCustomizerPanelWorkspaceCodecs
in class ALcyFormatWrapper
ALcyWorkspaceObjectCodec
instances. Must not be
null
, but may have length 0
. Must not contain
null
.TLcyGXYAsynchronousCustomizerPanelWorkspaceCodec
public ALcyWorkspaceObjectCodec[] createGXYLayerWorkspaceCodecs()
ALcyFormat
Creates the ALcyWorkspaceObjectCodec
codecs that can encode and decode the
layers created by the layer factories of this format.
The default implementation returns a zero-length array.
createGXYLayerWorkspaceCodecs
in class ALcyFormatWrapper
ALcyWorkspaceObjectCodec
instances. Must not be
null
but may have length 0
. Must not contain
null
.TLcyGXYAsynchronousLayerWorkspaceCodec
public ILcyGXYLayerTypeProvider createGXYLayerTypeProvider()
ALcyFormat
Creates an ILcyGXYLayerTypeProvider
for this format.
createGXYLayerTypeProvider
in class ALcyFormatWrapper
ILcyGXYLayerTypeProvider
for this data format. May be
null
.TLcyGXYAsynchronousLayerTypeProvider
public ILcyAsynchronousPaintHintProvider createAsynchronousPaintHintProvider()
ALcyFormat
Creates a ILcyAsynchronousPaintHintProvider
for this format.
createAsynchronousPaintHintProvider
in class ALcyFormatWrapper
ILcyAsynchronousPaintHintProvider
for the layers created by the layer
factories of this format. May be null
.TLcyGXYAsynchronousLayerPaintHintProvider
public ILcyCustomizerPanelFactory[] createGXYLayerCustomizerPanelFactories()
ALcyFormat
Creates the ILcyCustomizerPanelFactory
factories that can create
ILcyCustomizerPanel
instances for the layers created by the layer factories of
this format.
The created ILcyCustomizerPanel
s should work with instances of TLcyLayerContext
in their
setObject
method.
The default implementation returns a zero-length array.
Hint: When overriding this method, you should also consider overriding ALcyFormat.createGXYLayerCustomizerPanelWorkspaceCodecs()
.
This is needed if your ILcyCustomizerPanel
s need to store any specific state in the workspace.
createGXYLayerCustomizerPanelFactories
in class ALcyFormatWrapper
ILcyCustomizerPanelFactory
instances. Must not be
null
but may have length 0
. Must not contain
null
.TLcyGXYAsynchronousLayerCustomizerPanelFactory
public ILcyCustomizerPanelFactory[] createModelEncoderCustomizerPanelFactories()
ALcyFormat
Creates the ILcyCustomizerPanelFactory
instances for the
ILcdModelEncoder
instances created by this class.
The created ILcyCustomizerPanel
s should work with instances of TLcyModelEncoderContext
in their
setObject
method.
Hint: When overriding this method, you should also consider overriding ALcyFormat.createModelEncoderCustomizerPanelWorkspaceCodecs()
.
This is needed if your ILcyCustomizerPanel
s need to store any specific state in the workspace.
createModelEncoderCustomizerPanelFactories
in class ALcyFormatWrapper
ILcyCustomizerPanelFactory
instances. Must not be
null
but may have length 0
. Must not contain
null
.TLcyGXYAsynchronousLayerCustomizerPanelFactory
public ILcyCustomizerPanelFactory[] createModelCustomizerPanelFactories()
ALcyFormat
Creates the ILcyCustomizerPanelFactory
(s) that can create
ILcyCustomizerPanel
instances to customize the models
produced by the model decoders and model factories of this format.
The created ILcyCustomizerPanel
s should work with instances of TLcyModelContext
in their setObject
method.
Hint: When overriding this method, you should also consider overriding ALcyFormat.createModelCustomizerPanelWorkspaceCodecs()
.
This is needed if your ILcyCustomizerPanel
s need to store any specific state in the workspace.
createModelCustomizerPanelFactories
in class ALcyFormatWrapper
ILcyCustomizerPanelFactory
instances. Must not be
null
but may have length 0
. Must not contain
null
.TLcyGXYAsynchronousLayerCustomizerPanelFactory
public ILcyCustomizerPanelFactory[] createDomainObjectCustomizerPanelFactories()
ALcyFormat
Creates the ILcyCustomizerPanelFactory
factories that can create
ILcyCustomizerPanel
instances for the domain objects created by the model decoders
of this format.
The created ILcyCustomizerPanel
s should work with instances of TLcyDomainObjectContext
in their
setObject
method.
Hint: When overriding this method, you should also consider overriding ALcyFormat.createDomainObjectCustomizerPanelWorkspaceCodecs()
.
This is needed if your ILcyCustomizerPanel
s need to store any specific state in the workspace.
createDomainObjectCustomizerPanelFactories
in class ALcyFormatWrapper
ILcyCustomizerPanelFactory
instances. Must not be
null
but may have length 0
. Must not contain
null
.TLcyGXYAsynchronousLayerCustomizerPanelFactory
protected ALcyLayerSelectionTransferHandler[] createGXYLayerSelectionTransferHandlers()
ALcyFormat
Creates the ALcyLayerSelectionTransferHandler
transfer handlers that can
transfer the selection of the 2D layers created by the layer factories of this format.
The default implementation returns a zero-length array.
createGXYLayerSelectionTransferHandlers
in class ALcyFormatWrapper
ALcyLayerSelectionTransferHandler
instances. Must not be
null
but may have length 0
. Must not contain
null
.TLcyGXYAsynchronousLayerSelectionTransferHandler
protected ILcyLayerStyleProvider createGXYLayerStyleProvider()
ALcyFormat
createGXYLayerStyleProvider
in class ALcyFormatWrapper
null
protected ILcyGXYLabelPlacementHintProvider createLabelPlacementHintProvider()
ALcyFormat
ILcyLabelPlacementHintProvider
that can create a
TLcyGXYLabelPlacementHint
for layers of this format.
The default implementation returns null
.
createLabelPlacementHintProvider
in class ALcyFormatWrapper
ILcyLabelPlacementHintProvider
. May be null
.TLcySafeGuardFormatWrapper
protected ILcdLayerHeightProviderFactory createLayerHeightProviderFactory()
ALcyFormat
Creates the ILcdLayerHeightProviderFactory
that can create an
ILcdHeightProvider
for this format.
The default implementation returns null
.
createLayerHeightProviderFactory
in class ALcyFormatWrapper
ILcdLayerHeightProviderFactory
. May be null
.TLcySafeGuardFormatWrapper