public abstract static class TLcyDataFormatManager.ALcyMapComponentChooser extends Object
Class that represents the logic to choose one or multiple ILcyGenericMapComponent
(s)
out of a list of candidates. This class will only be triggered when the data could not be
loaded on the specified map. As a back-up mechanism, the TLcyDataFormatManager
tries to
load the data on another map, and this class allows to choose on which map(s) the TLcyDataFormatManager
should retry.
Implementations could for example present the user with a dialog to choose the appropriate map component.
Modifier | Constructor and Description |
---|---|
protected |
ALcyMapComponentChooser()
The default constructor
|
Modifier and Type | Method and Description |
---|---|
abstract List<ILcyGenericMapComponent<? extends ILcdView,? extends ILcdLayer>> |
chooseMapComponent(ILcdDataSource aSource,
ILcyGenericMapComponent<? extends ILcdView,? extends ILcdLayer> aFailedMapComponent,
List<ILcyGenericMapComponent<? extends ILcdView,? extends ILcdLayer>> aMapComponentsToChooseFrom,
ILcdModelDecoder[] aModelDecoders,
Component aParentComponent)
Chooses the
ILcyGenericMapComponent (s) to use for the given aSource
out of the list of given map components. |
abstract List<ILcyGenericMapComponent<? extends ILcdView,? extends ILcdLayer>> |
chooseMapComponent(String aSourceName,
ILcyGenericMapComponent<? extends ILcdView,? extends ILcdLayer> aFailedMapComponent,
List<ILcyGenericMapComponent<? extends ILcdView,? extends ILcdLayer>> aMapComponentsToChooseFrom,
ILcdModelDecoder[] aModelDecoders,
ALcyFileTypeDescriptor[] aModelDecoderFileTypeDescriptors,
ALcyDataSourceHandler[] aDataSourceHandlers,
ALcyFileTypeDescriptor[] aDataSourceHandlerFileTypeDescriptors,
ALcyFileTypeDescriptor aSelectedFileTypeDescriptor,
Component aParentComponent)
Chooses the
ILcyGenericMapComponent (s) to use for the given
aSourceName out of the list of given map components. |
protected ALcyMapComponentChooser()
public abstract List<ILcyGenericMapComponent<? extends ILcdView,? extends ILcdLayer>> chooseMapComponent(String aSourceName, ILcyGenericMapComponent<? extends ILcdView,? extends ILcdLayer> aFailedMapComponent, List<ILcyGenericMapComponent<? extends ILcdView,? extends ILcdLayer>> aMapComponentsToChooseFrom, ILcdModelDecoder[] aModelDecoders, ALcyFileTypeDescriptor[] aModelDecoderFileTypeDescriptors, ALcyDataSourceHandler[] aDataSourceHandlers, ALcyFileTypeDescriptor[] aDataSourceHandlerFileTypeDescriptors, ALcyFileTypeDescriptor aSelectedFileTypeDescriptor, Component aParentComponent) throws TLcyUserCancelledException
ILcyGenericMapComponent
(s) to use for the given
aSourceName
out of the list of given map components. Choosing multiple map
components will result in opening the data source on multiple maps.aSourceName
- The data source to choose a map component for.aFailedMapComponent
- The map component on which loading the data failed. Will
not be included in aMapComponentsToChooseFrom
aMapComponentsToChooseFrom
- A list of map components from which to chooseaModelDecoders
- A list of ILcdModelDecoder
s from which to
choose.aModelDecoderFileTypeDescriptors
- The file type descriptors corresponding to aModelDecoders.
Is null
iff aModelDecoders is
null
. Array must have equal length as
aModelDecoders. It can contain null values for those
ILcdModelDecoder
s that don't work with
files.aDataSourceHandlers
- A list of ALcyDataSourceHandler
s from which
to choose.aDataSourceHandlerFileTypeDescriptors
- The file type descriptors corresponding to
aDataSourceHandlers. Is null
iff
aDataSourceHandlers is null
. Array must have
equal length as aDataSourceHandlers. It can contain null
values for those ALcyDataSourceHandler
s that
don't work with files.aSelectedFileTypeDescriptor
- The selected file type descriptor, can be used if there is
ambiguity (multiple decoders can read a file). Can be
null
for default behavior.aParentComponent
- A parent component, used to display message dialogs.null
. Each of the
elements in the returned list must be included in aMapComponentsToChooseFrom
TLcyUserCancelledException
- This method can throw a TLcyUserCancelledException
to
indicate that the user has decided to cancel the data loading instead of choosing a handler.
In such case, the TLcyDataFormatManager
will not indicate to the
TLcyDataFormatManager.getLogListener()
that the source failed,
but rather swallow the exception.public abstract List<ILcyGenericMapComponent<? extends ILcdView,? extends ILcdLayer>> chooseMapComponent(ILcdDataSource aSource, ILcyGenericMapComponent<? extends ILcdView,? extends ILcdLayer> aFailedMapComponent, List<ILcyGenericMapComponent<? extends ILcdView,? extends ILcdLayer>> aMapComponentsToChooseFrom, ILcdModelDecoder[] aModelDecoders, Component aParentComponent) throws TLcyUserCancelledException
ILcyGenericMapComponent
(s) to use for the given aSource
out of the list of given map components. Choosing multiple map components will result in
opening the data source on multiple maps.aSource
- The data source to choose a handler for.aFailedMapComponent
- The map component on which loading the data failed. Will
not be included in aMapComponentsToChooseFrom
aMapComponentsToChooseFrom
- A list of map components from which to chooseaModelDecoders
- An array of ILcdModelDecoder
s from
which to choose.aParentComponent
- A parent component, used to display message dialogs.null
. Each of the
elements in the returned list must be included in aMapComponentsToChooseFrom
TLcyUserCancelledException
- This method can throw a TLcyUserCancelledException
to
indicate that the user has decided to cancel the data loading instead of choosing a handler.
In such case, the TLcyDataFormatManager
will not indicate to the
TLcyDataFormatManager.getLogListener()
that the source failed,
but rather swallow the exception.