Class TLcdDAFIFTILSDecoder
- All Implemented Interfaces:
ILcdInputStreamFactoryCapable
,ILcdModelDecoder
- Direct Known Subclasses:
TLcdDAFIFTIndependentILSDecoder
ILcdModelDecoder
that decodes DAFIFT ILS components (DMEs, glide
paths, localizers and markers) from the specified source directory. The decoded models have as
model descriptor an instance of TLcdDAFIFILSModelListDescriptor
.
The objects in decoded models are based on the AIS domain objects available in com.luciad.ais.model
,
which all implement ILcdDataObject
. This interface provides a generic and
format-independent way of accessing the type and properties (features) of a domain object.
For this handler, the types of the decoded objects are TLcdDAFIFTDataTypes.ILSDME
,
TLcdDAFIFTDataTypes.GlidePath
, TLcdDAFIFTDataTypes.Localizer
and
TLcdDAFIFTDataTypes.Marker
.
which can also be retrieved through ILcdDataObject.getDataType()
.
The available properties of the objects are defined in TLcdDAFIFTILSDMEDataProperties
,
TLcdDAFIFTGlidePathDataProperties
, TLcdDAFIFTLocalizerDataProperties
and TLcdDAFIFTMarkerDataProperties
.
The values for these properties can be retrieved through ILcdDataObject.getValue(com.luciad.datamodel.TLcdDataProperty)
.
Next to ILcdDataObject
, the objects in decoded models also implement ILcdFeatured
,
the former interface to access the properties (features) of a domain object.
This is still fully supported, and explained in the following comments.
The methods setDMEFeaturesToBeDecoded
, setGlidePathFeaturesToBeDecoded
, setLocalizerFeaturesToBeDecoded
and setMarkerFeaturesToBeDecoded
allow the user to specify which
DAFIFT features are to be decoded into the featured model objects. If no features are specified,
all features will be decoded.
- AIRPORT IDENTIFICATION:
ILcdDAFIFDMEFeature.AIRPORT_ID
,ILcdDAFIFGlidePathFeature.AIRPORT_ID
,ILcdDAFIFLocalizerFeature.AIRPORT_ID
,ILcdDAFIFMarkerFeature.AIRPORT_ID
- RUNWAY IDENTIFIER:
ILcdDAFIFDMEFeature.RUNWAY_ID
,ILcdDAFIFGlidePathFeature.RUNWAY_ID
,ILcdDAFIFLocalizerFeature.RUNWAY_ID
,ILcdDAFIFMarkerFeature.RUNWAY_ID
- COMPONENT TYPE:
ILcdDAFIFDMEFeature.COMPONENT_TYPE
,ILcdDAFIFGlidePathFeature.COMPONENT_TYPE
,ILcdDAFIFLocalizerFeature.COMPONENT_TYPE
,ILcdDAFIFMarkerFeature.COMPONENT_TYPE
,ILcdMarkerFeature.MARKER_TYPE
- COLLOCATION:
ILcdDAFIFDMEFeature.COLLOCATION
,ILcdDAFIFGlidePathFeature.COLLOCATION
,ILcdDAFIFLocalizerFeature.COLLOCATION
,ILcdDAFIFMarkerFeature.COLLOCATION
- NAME:
ILcdNavaidFeature.NAME
,ILcdDAFIFGlidePathFeature.NAME
,ILcdDAFIFLocalizerFeature.NAME
,ILcdDAFIFMarkerFeature.NAME
- FREQUENCY:
ILcdDAFIFDMEFeature.FREQUENCY
,ILcdDAFIFDMEFeature.FREQUENCY_UNIT
,ILcdGlidePathFeature.FREQUENCY
,ILcdGlidePathFeature.FREQUENCY_UNIT
,ILcdLocalizerFeature.FREQUENCY
,ILcdLocalizerFeature.FREQUENCY_UNIT
,ILcdMarkerFeature.FREQUENCY
,ILcdMarkerFeature.FREQUENCY_UNIT
- CHANNEL:
ILcdDAFIFDMEFeature.CHANNEL
- GLIDE SLOPE ANGLE:
ILcdGlidePathFeature.GLIDE_PATH_ANGLE
- LOCALIZER OR GLIDE SLOPELOCATION:
ILcdDAFIFGlidePathFeature.LOCATION
,ILcdDAFIFLocalizerFeature.LOCATION
- LOCATOR OR MARKER LOCATION:
ILcdDAFIFMarkerFeature.LOCATION
- ILS/MLS CATEGORY:
ILcdDAFIFLocalizerFeature.ILS_MLS_CATEGORY
- IDENTIFIER:
ILcdNavaidFeature.IDENTIFIER
,ILcdDAFIFGlidePathFeature.NAVAID_IDENTIFIER
,ILcdDAFIFLocalizerFeature.NAVAID_IDENTIFIER
,ILcdDAFIFMarkerFeature.NAVAID_IDENTIFIER
- NAVAID TYPE:
ILcdDAFIFNavaidFeature.TYPE
,ILcdDAFIFGlidePathFeature.NAVAID_TYPE
,ILcdDAFIFLocalizerFeature.NAVAID_TYPE
,ILcdDAFIFMarkerFeature.NAVAID_TYPE
- NAVAID COUNTRY CODE:
ILcdDAFIFNavaidFeature.COUNTRY_CODE
,ILcdDAFIFGlidePathFeature.NAVAID_COUNTRY_CODE
,ILcdDAFIFLocalizerFeature.NAVAID_COUNTRY_CODE
,ILcdDAFIFMarkerFeature.NAVAID_COUNTRY_CODE
- NAVAID KEY CODE:
ILcdDAFIFNavaidFeature.KEY_CODE
,ILcdDAFIFGlidePathFeature.NAVAID_KEY_CODE
,ILcdDAFIFLocalizerFeature.NAVAID_KEY_CODE
,ILcdDAFIFMarkerFeature.NAVAID_KEY_CODE
- MAGNETIC VARIATION:
ILcdDAFIFNavaidFeature.MAGNETIC_VARIATION
,ILcdDAFIFGlidePathFeature.MAGNETIC_VARIATION
,ILcdDAFIFLocalizerFeature.MAGNETIC_VARIATION
,ILcdDAFIFMarkerFeature.MAGNETIC_VARIATION
- ILS BEARING COURSE:
ILcdDAFIFLocalizerFeature.ILS_BEARING
,ILcdDAFIFLocalizerFeature.ILS_BEARING_TYPE
- LOCALIZER WIDTH:
ILcdLocalizerFeature.WIDTH
- THRESHOLD CROSSING HEIGHT:
ILcdDAFIFGlidePathFeature.THRESHOLD_CROSSING_HEIGTH
- ILS DME BIAS:
ILcdDAFIFDMEFeature.ILS_DME_BIAS
,ILcdDAFIFDMEFeature.ILS_DME_BIAS_UNIT
- CYCLE DATE:
ILcdDAFIFNavaidFeature.CYCLE_DATE
,ILcdDAFIFGlidePathFeature.CYCLE_DATE
,ILcdDAFIFLocalizerFeature.CYCLE_DATE
,ILcdDAFIFMarkerFeature.CYCLE_DATE
- ILcdDAFIFDMEFeature.AIRPORT_ID
- ILcdDAFIFDMEFeature.RUNWAY_ID
- ILcdDAFIFDMEFeature.COMPONENT_TYPE
- ILcdDAFIFGlidePathFeature.AIRPORT_ID
- ILcdDAFIFGlidePathFeature.RUNWAY_ID
- ILcdDAFIFGlidePathFeature.COMPONENT_TYPE
- ILcdDAFIFLocalizerFeature.AIRPORT_ID
- ILcdDAFIFLocalizerFeature.RUNWAY_ID
- ILcdDAFIFLocalizerFeature.COMPONENT_TYPE
- ILcdDAFIFMarkerFeature.AIRPORT_ID
- ILcdDAFIFMarkerFeature.RUNWAY_ID
- ILcdDAFIFMarkerFeature.COMPONENT_TYPE
- Since:
- 7.2
- See Also:
-
Constructor Summary
ConstructorDescriptionTLcdDAFIFTILSDecoder
(ALcdAISObjectFactory aDomainFactory) Deprecated.TLcdDAFIFTILSDecoder
(TLcdAISDataObjectFactory aFactory) Constructs a newTLcdDAFIFTILSDecoder
object. -
Method Summary
Modifier and TypeMethodDescriptionboolean
canDecodeSource
(String aSource) Returnstrue
if the specified source is: A file with the specific name corresponding to the object type of this decoder A directory containing such a file A.toc
file in a directory, pointing to such a fileChecks whether a runway model is set before starting the decode process.Returns the factory that is used to create domain objects.Returns a short, displayable name for the format that is decoded by thisILcdModelDecoder
.Deprecated.Returns the error message of the last decode call.Returns the input stream factory that is currently used for creating the input streams for the given source names.int
Returns the number of error reports to be added to the error message.Returns the record filter that is currently used.String[]
getUniqueKeyFeatureNames
(int aIndex) Returns for the given submodel the array ofString
objects containing the names of the features that will be used as a unique key to insert objects into the submodel.void
setDataObjectFactory
(TLcdAISDataObjectFactory aFactory) Specifies the data factory.void
setDMEDefaultDisplayNameIndex
(int aIndex) Specifies the index of the feature to be the DME display name.void
setDMEFeaturesToBeDecoded
(String[] aFeaturesToBeDecoded) Specifies the DME features to be decoded into the model objects.void
setDomainFactory
(ALcdAISObjectFactory aDomainFactory) Deprecated.void
setGlidePathDefaultDisplayNameIndex
(int aIndex) Specifies the index of the feature to be the glide path display name.void
setGlidePathFeaturesToBeDecoded
(String[] aFeaturesToBeDecoded) Specifies the glide path features to be decoded into the model objects.void
setInputStreamFactory
(ILcdInputStreamFactory aInputStreamFactory) Sets the input stream factory that will be used for creating the input streams for the given source names.void
setLocalizerDefaultDisplayNameIndex
(int aIndex) Specifies the index of the feature to be the localizer display name.void
setLocalizerFeaturesToBeDecoded
(String[] aFeaturesToBeDecoded) Specifies the localizer features to be decoded into the model objects.void
setMarkerDefaultDisplayNameIndex
(int aIndex) Specifies the index of the feature to be the marker display name.void
setMarkerFeaturesToBeDecoded
(String[] aFeaturesToBeDecoded) Specifies the marker features to be decoded into the model objects.void
setMaxNumberOfErrorReports
(int aMaxNumberOfErrorReports) Specifies a value for the maximum number of error reports.void
setRecordFilter
(ILcdDAFIFTRecordFilter aRecordFilter) Specifies a filter to be used while creating the model.void
setRunwayModel
(ILcdFeatureIndexedModel aRunwayModel) Specifies the model containing the runway objects this decoder should use.Methods inherited from class com.luciad.format.dafift.decoder.ALcdDAFIFTModelDecoder
getDecodingBounds, getModelFilter, setDecodingBounds, setModelFilter
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.luciad.model.ILcdModelDecoder
canDecodeSource, canDecodeSource, decodeModelMetadata, decodeModelMetadata, decodeSource, discoverDataSources
-
Constructor Details
-
TLcdDAFIFTILSDecoder
Deprecated.Constructs a newTLcdDAFIFTILSDecoder
object. The user should specify which aDomainFactory he or she wants to use to create the ILS objects.- Parameters:
aDomainFactory
- The factory to be used to create the model objects.
-
TLcdDAFIFTILSDecoder
Constructs a newTLcdDAFIFTILSDecoder
object. The user should specify which factory he or she wants to use to create the ILS objects.- Parameters:
aFactory
- The factory to be used to create the model objects.
-
-
Method Details
-
getDisplayName
Description copied from interface:ILcdModelDecoder
Returns a short, displayable name for the format that is decoded by thisILcdModelDecoder
.- Specified by:
getDisplayName
in interfaceILcdModelDecoder
- Overrides:
getDisplayName
in classALcdDAFIFTModelDecoder
- Returns:
- the displayable name of this
ILcdModelDecoder
.
-
decode
Checks whether a runway model is set before starting the decode process. If no runway model is specified, anIllegalStateException
object will be thrown. Returns a model list containing one or more submodels. Each submodel contains domain objects of the same type. The models will be build by looping through the records found in the source file. Each record that passes the record filter (getRecordFilter()
) will be decoded. A decoded record needs to pass two additional filters (a model filtergetModelFilter()
and a bounds filtergetDecodingBounds()
) before it can be added to the model. Furthermore, an error message will be initialized and filled with reports about errors occurred during the decode process. By default, all reports will be added into the error message. The methodsetMaxNumberOfErrorReports(int)
can be used to adjust this setting.- Specified by:
decode
in interfaceILcdModelDecoder
- Parameters:
aSource
- Either the directory containing the DAFIFT source file to decode or the DAFIFT source file itself.- Returns:
- the model build by reading the file found with the given source.
- Throws:
IOException
- if an error occurs during the reading process.IllegalStateException
- if no runway model has been specified.- See Also:
-
setGlidePathDefaultDisplayNameIndex
public void setGlidePathDefaultDisplayNameIndex(int aIndex) Specifies the index of the feature to be the glide path display name.- Parameters:
aIndex
- The index of the feature to be the glide path display name.
-
setLocalizerDefaultDisplayNameIndex
public void setLocalizerDefaultDisplayNameIndex(int aIndex) Specifies the index of the feature to be the localizer display name.- Parameters:
aIndex
- The index of the feature to be the localizer display name.
-
setMarkerDefaultDisplayNameIndex
public void setMarkerDefaultDisplayNameIndex(int aIndex) Specifies the index of the feature to be the marker display name.- Parameters:
aIndex
- The index of the feature to be the marker display name.
-
setDMEDefaultDisplayNameIndex
public void setDMEDefaultDisplayNameIndex(int aIndex) Specifies the index of the feature to be the DME display name.- Parameters:
aIndex
- The index of the feature to be the DME display name.
-
setGlidePathFeaturesToBeDecoded
Specifies the glide path features to be decoded into the model objects. Please make sure that theAIRPORT_ID
,RUNWAY_ID
andCOMPONENT_TYPE
features are in your list of features to be decoded!- Parameters:
aFeaturesToBeDecoded
- A list of features that should be decoded into the glide path model objects.
-
setLocalizerFeaturesToBeDecoded
Specifies the localizer features to be decoded into the model objects. Please make sure that theAIRPORT_ID
,RUNWAY_ID
andCOMPONENT_TYPE
features are in your list of features to be decoded!- Parameters:
aFeaturesToBeDecoded
- A list of features that should be decoded into the localizer model objects.
-
setMarkerFeaturesToBeDecoded
Specifies the marker features to be decoded into the model objects. Please make sure that theAIRPORT_ID
,RUNWAY_ID
andCOMPONENT_TYPE
features are in your list of features to be decoded!- Parameters:
aFeaturesToBeDecoded
- A list of features that should be decoded into the marker model objects.
-
setDMEFeaturesToBeDecoded
Specifies the DME features to be decoded into the model objects. Please make sure that theAIRPORT_ID
,RUNWAY_ID
andCOMPONENT_TYPE
features are in your list of features to be decoded!- Parameters:
aFeaturesToBeDecoded
- A list of features that should be decoded into the DME model objects.
-
setRunwayModel
Specifies the model containing the runway objects this decoder should use.- Parameters:
aRunwayModel
- A model containing runway objects.
-
getUniqueKeyFeatureNames
Returns for the given submodel the array ofString
objects containing the names of the features that will be used as a unique key to insert objects into the submodel.- Parameters:
aIndex
- The index of the submodel whose unique key feature names are being retrieved.- Returns:
- for the given submodel the unique key feature names.
-
canDecodeSource
Returnstrue
if the specified source is:- A file with the specific name corresponding to the object type of this decoder
- A directory containing such a file
- A
.toc
file in a directory, pointing to such a file
- Parameters:
aSource
- the name of the source file or directory that you want to decode- Returns:
- a boolean indicating whether the given source can be decoded
-
getDomainFactory
Deprecated.Returns the factory that is used to create domain objects.- Returns:
- the factory that is used to create domain objects.
- See Also:
-
setDomainFactory
Deprecated.Specifies the domain factory. The domain factory will be used to create the domain objects decoded by this DAFIFT decoder.- Parameters:
aDomainFactory
- The factory that will be used to create domain objects.- See Also:
-
getDataObjectFactory
Returns the factory that is used to create domain objects.- Returns:
- the factory that is used to create domain objects.
- See Also:
-
setDataObjectFactory
Specifies the data factory. The data factory will be used to create the domain objects decoded by this DAFIFT decoder. Decoders equipped with a data object factory that is notnull
, will NOT use their associated domain factory (seegetDomainFactory()
).- Parameters:
aFactory
- The factory that will be used to create domain objects.- See Also:
-
getInputStreamFactory
Returns the input stream factory that is currently used for creating the input streams for the given source names.- Specified by:
getInputStreamFactory
in interfaceILcdInputStreamFactoryCapable
- Returns:
- the input stream factory that is currently used.
- See Also:
-
setInputStreamFactory
Sets the input stream factory that will be used for creating the input streams for the given source names.- Specified by:
setInputStreamFactory
in interfaceILcdInputStreamFactoryCapable
- Parameters:
aInputStreamFactory
- The input stream factory to be used.- See Also:
-
getRecordFilter
Returns the record filter that is currently used.- Returns:
- the record filter that is currently used.
- See Also:
-
setRecordFilter
Specifies a filter to be used while creating the model. Only records that pass through this filter will be decoded into model objects.- Parameters:
aRecordFilter
- The record filter that should be passed before a record can be decoded.- See Also:
-
getMaxNumberOfErrorReports
public int getMaxNumberOfErrorReports()Returns the number of error reports to be added to the error message. If there are more errors than the maxNumberOfErrorReports property, they won't be stored and you won't be able to see these errors in the error message after the decoding process.- Returns:
- the number of error reports to be added to the error message.
- See Also:
-
setMaxNumberOfErrorReports
public void setMaxNumberOfErrorReports(int aMaxNumberOfErrorReports) Specifies a value for the maximum number of error reports. If a negative value is set, all reported errors will be added to the error message.- Parameters:
aMaxNumberOfErrorReports
- The maximum number of error reports to be added to the error message.- See Also:
-
getErrorMessage
Returns the error message of the last decode call. Note that the error message can only be retrieved once after a decode call.- Returns:
- a
String
object containing the errors occurred during the last decode process.
-
getDataObjectFactory()