public class TLcdDAFIFTILSDecoder extends ALcdDAFIFTModelDecoder
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.
ILcdDAFIFDMEFeature.AIRPORT_ID
,
ILcdDAFIFGlidePathFeature.AIRPORT_ID
,
ILcdDAFIFLocalizerFeature.AIRPORT_ID
,
ILcdDAFIFMarkerFeature.AIRPORT_ID
ILcdDAFIFDMEFeature.RUNWAY_ID
,
ILcdDAFIFGlidePathFeature.RUNWAY_ID
,
ILcdDAFIFLocalizerFeature.RUNWAY_ID
,
ILcdDAFIFMarkerFeature.RUNWAY_ID
ILcdDAFIFDMEFeature.COMPONENT_TYPE
,
ILcdDAFIFGlidePathFeature.COMPONENT_TYPE
,
ILcdDAFIFLocalizerFeature.COMPONENT_TYPE
,
ILcdDAFIFMarkerFeature.COMPONENT_TYPE
,
ILcdMarkerFeature.MARKER_TYPE
ILcdDAFIFDMEFeature.COLLOCATION
,
ILcdDAFIFGlidePathFeature.COLLOCATION
,
ILcdDAFIFLocalizerFeature.COLLOCATION
,
ILcdDAFIFMarkerFeature.COLLOCATION
ILcdNavaidFeature.NAME
,
ILcdDAFIFGlidePathFeature.NAME
,
ILcdDAFIFLocalizerFeature.NAME
,
ILcdDAFIFMarkerFeature.NAME
ILcdDAFIFDMEFeature.FREQUENCY
, ILcdDAFIFDMEFeature.FREQUENCY_UNIT
,
ILcdGlidePathFeature.FREQUENCY
, ILcdGlidePathFeature.FREQUENCY_UNIT
,
ILcdLocalizerFeature.FREQUENCY
, ILcdLocalizerFeature.FREQUENCY_UNIT
,
ILcdMarkerFeature.FREQUENCY
, ILcdMarkerFeature.FREQUENCY_UNIT
ILcdDAFIFDMEFeature.CHANNEL
ILcdGlidePathFeature.GLIDE_PATH_ANGLE
ILcdDAFIFGlidePathFeature.LOCATION
,
ILcdDAFIFLocalizerFeature.LOCATION
ILcdDAFIFMarkerFeature.LOCATION
ILcdDAFIFLocalizerFeature.ILS_MLS_CATEGORY
ILcdNavaidFeature.IDENTIFIER
,
ILcdDAFIFGlidePathFeature.NAVAID_IDENTIFIER
,
ILcdDAFIFLocalizerFeature.NAVAID_IDENTIFIER
,
ILcdDAFIFMarkerFeature.NAVAID_IDENTIFIER
ILcdDAFIFNavaidFeature.TYPE
,
ILcdDAFIFGlidePathFeature.NAVAID_TYPE
,
ILcdDAFIFLocalizerFeature.NAVAID_TYPE
,
ILcdDAFIFMarkerFeature.NAVAID_TYPE
ILcdDAFIFNavaidFeature.COUNTRY_CODE
,
ILcdDAFIFGlidePathFeature.NAVAID_COUNTRY_CODE
,
ILcdDAFIFLocalizerFeature.NAVAID_COUNTRY_CODE
,
ILcdDAFIFMarkerFeature.NAVAID_COUNTRY_CODE
ILcdDAFIFNavaidFeature.KEY_CODE
,
ILcdDAFIFGlidePathFeature.NAVAID_KEY_CODE
,
ILcdDAFIFLocalizerFeature.NAVAID_KEY_CODE
,
ILcdDAFIFMarkerFeature.NAVAID_KEY_CODE
ILcdDAFIFNavaidFeature.MAGNETIC_VARIATION
,
ILcdDAFIFGlidePathFeature.MAGNETIC_VARIATION
,
ILcdDAFIFLocalizerFeature.MAGNETIC_VARIATION
,
ILcdDAFIFMarkerFeature.MAGNETIC_VARIATION
ILcdDAFIFLocalizerFeature.ILS_BEARING
,
ILcdDAFIFLocalizerFeature.ILS_BEARING_TYPE
ILcdLocalizerFeature.WIDTH
ILcdDAFIFGlidePathFeature.THRESHOLD_CROSSING_HEIGTH
ILcdDAFIFDMEFeature.ILS_DME_BIAS
,
ILcdDAFIFDMEFeature.ILS_DME_BIAS_UNIT
ILcdDAFIFNavaidFeature.CYCLE_DATE
,
ILcdDAFIFGlidePathFeature.CYCLE_DATE
,
ILcdDAFIFLocalizerFeature.CYCLE_DATE
,
ILcdDAFIFMarkerFeature.CYCLE_DATE
Constructor and Description |
---|
TLcdDAFIFTILSDecoder(ALcdAISObjectFactory aDomainFactory)
Deprecated.
|
TLcdDAFIFTILSDecoder(TLcdAISDataObjectFactory aFactory)
Constructs a new
TLcdDAFIFTILSDecoder object. |
Modifier and Type | Method and Description |
---|---|
boolean |
canDecodeSource(String aSource)
Returns
true 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
|
ILcdModel |
decode(String aSource)
Checks whether a runway model is set before starting the decode process.
|
TLcdAISDataObjectFactory |
getDataObjectFactory()
Returns the factory that is used to create domain objects.
|
String |
getDisplayName()
Returns a short, displayable name for the format that is decoded by this
ILcdModelDecoder . |
ALcdAISObjectFactory |
getDomainFactory()
Deprecated.
|
String |
getErrorMessage()
Returns the error message of the last decode call.
|
ILcdInputStreamFactory |
getInputStreamFactory()
Returns the input stream factory that is currently used for creating
the input streams for the given source names.
|
int |
getMaxNumberOfErrorReports()
Returns the number of error reports to be added to the error message.
|
ILcdDAFIFTRecordFilter |
getRecordFilter()
Returns the record filter that is currently used.
|
String[] |
getUniqueKeyFeatureNames(int aIndex)
Returns for the given submodel the array of
String 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.
|
getDecodingBounds, getModelFilter, setDecodingBounds, setModelFilter
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
canDecodeSource, canDecodeSource, decodeModelMetadata, decodeModelMetadata, decodeSource, discoverDataSources
@Deprecated public TLcdDAFIFTILSDecoder(ALcdAISObjectFactory aDomainFactory)
TLcdDAFIFTILSDecoder
object. The user should specify which
aDomainFactory he or she wants to use to create the ILS objects.aDomainFactory
- The factory to be used to create the model objects.public TLcdDAFIFTILSDecoder(TLcdAISDataObjectFactory aFactory)
TLcdDAFIFTILSDecoder
object. The user should specify which
factory he or she wants to use to create the ILS objects.aFactory
- The factory to be used to create the model objects.public String getDisplayName()
ILcdModelDecoder
ILcdModelDecoder
.getDisplayName
in interface ILcdModelDecoder
getDisplayName
in class ALcdDAFIFTModelDecoder
ILcdModelDecoder
.public ILcdModel decode(String aSource) throws IOException
IllegalStateException
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 filter getModelFilter()
and a bounds filter getDecodingBounds()
) 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
method setMaxNumberOfErrorReports(int)
can be used to adjust this setting.decode
in interface ILcdModelDecoder
aSource
- Either the directory containing the DAFIFT source file to decode
or the DAFIFT source file itself.IOException
- if an error occurs during the reading process.IllegalStateException
- if no runway model has been specified.ILcdModelDecoder.canDecodeSource(String)
public void setGlidePathDefaultDisplayNameIndex(int aIndex)
aIndex
- The index of the feature to be the glide path display name.public void setLocalizerDefaultDisplayNameIndex(int aIndex)
aIndex
- The index of the feature to be the localizer display name.public void setMarkerDefaultDisplayNameIndex(int aIndex)
aIndex
- The index of the feature to be the marker display name.public void setDMEDefaultDisplayNameIndex(int aIndex)
aIndex
- The index of the feature to be the DME display name.public void setGlidePathFeaturesToBeDecoded(String[] aFeaturesToBeDecoded)
AIRPORT_ID
,
RUNWAY_ID
and
COMPONENT_TYPE
features
are in your list of features to be decoded!aFeaturesToBeDecoded
- A list of features that should be decoded into the glide path model objects.public void setLocalizerFeaturesToBeDecoded(String[] aFeaturesToBeDecoded)
AIRPORT_ID
,
RUNWAY_ID
and
COMPONENT_TYPE
features
are in your list of features to be decoded!aFeaturesToBeDecoded
- A list of features that should be decoded into the localizer model objects.public void setMarkerFeaturesToBeDecoded(String[] aFeaturesToBeDecoded)
AIRPORT_ID
,
RUNWAY_ID
and
COMPONENT_TYPE
features
are in your list of features to be decoded!aFeaturesToBeDecoded
- A list of features that should be decoded into the marker model objects.public void setDMEFeaturesToBeDecoded(String[] aFeaturesToBeDecoded)
AIRPORT_ID
,
RUNWAY_ID
and
COMPONENT_TYPE
features
are in your list of features to be decoded!aFeaturesToBeDecoded
- A list of features that should be decoded into the DME model objects.public void setRunwayModel(ILcdFeatureIndexedModel aRunwayModel)
aRunwayModel
- A model containing runway objects.public String[] getUniqueKeyFeatureNames(int aIndex)
String
objects containing the names
of the features that will be used as a unique key to insert objects into the submodel.aIndex
- The index of the submodel whose unique key feature names are being retrieved.public boolean canDecodeSource(String aSource)
true
if the specified source is:
.toc
file in a directory, pointing to such a fileaSource
- the name of the source file or directory that you want to decode@Deprecated public ALcdAISObjectFactory getDomainFactory()
getDataObjectFactory()
setDomainFactory(ALcdAISObjectFactory)
@Deprecated public void setDomainFactory(ALcdAISObjectFactory aDomainFactory)
setDataObjectFactory(TLcdAISDataObjectFactory)
aDomainFactory
- The factory that will be used to create domain objects.getDomainFactory()
public TLcdAISDataObjectFactory getDataObjectFactory()
setDomainFactory(ALcdAISObjectFactory)
public void setDataObjectFactory(TLcdAISDataObjectFactory aFactory)
null
, will
NOT use their associated domain factory (see getDomainFactory()
).aFactory
- The factory that will be used to create domain objects.getDomainFactory()
public ILcdInputStreamFactory getInputStreamFactory()
getInputStreamFactory
in interface ILcdInputStreamFactoryCapable
setInputStreamFactory(ILcdInputStreamFactory)
public void setInputStreamFactory(ILcdInputStreamFactory aInputStreamFactory)
setInputStreamFactory
in interface ILcdInputStreamFactoryCapable
aInputStreamFactory
- The input stream factory to be used.getInputStreamFactory()
public ILcdDAFIFTRecordFilter getRecordFilter()
setRecordFilter(ILcdDAFIFTRecordFilter)
public void setRecordFilter(ILcdDAFIFTRecordFilter aRecordFilter)
aRecordFilter
- The record filter that should be passed before a record
can be decoded.getRecordFilter()
public int getMaxNumberOfErrorReports()
setMaxNumberOfErrorReports(int)
public void setMaxNumberOfErrorReports(int aMaxNumberOfErrorReports)
aMaxNumberOfErrorReports
- The maximum number of error reports to be added to the error message.getMaxNumberOfErrorReports()
public String getErrorMessage()
String
object containing the errors occurred during
the last decode process.