public class TLcdDAFIFTPrecisionApproachPathDecoder extends ALcdDAFIFTModelDecoder
ILcdModelDecoder
that decodes DAFIFT Precision Approach Path Points from the
specified source directory. The decoded models have as model descriptor an instance of
TLcdDAFIFPrecisionApproachPathModelDescriptor
.
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 decoder, the type of the decoded objects is TLcdDAFIFTDataTypes.PrecisionApproachPath
,
which can also be retrieved through ILcdDataObject.getDataType()
. Each decoded Precision Approach Path object
has a landing threshold point (LTP) and a flight path alignment point (FPAP).
The available properties of the Precision Approach Path are defined in
TLcdDAFIFTPrecisionApproachPathDataProperties
.
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.
ILcdDAFIFPrecisionApproachPathFeature.AIRPORT_IDENTIFICATION
ILcdDAFIFPrecisionApproachPathFeature.TERMINAL_IDENTIFIER
ILcdFinalApproachPathFeature.APPROACH_IDENTIFIER
ILcdDAFIFPrecisionApproachPathFeature.HOST_COUNTRY_IDENTIFIER
ILcdFinalApproachPathFeature.RUNWAY_IDENTIFIER
ILcdFinalApproachPathFeature.OPERATION_TYPE
ILcdFinalApproachPathFeature.APPROACH_INDICATOR
ILcdFinalApproachPathFeature.SBAS_SERVICE_PROVIDER_IDENTIFIER
ILcdFinalApproachPathFeature.REFERENCE_PATH_DATA_SELECTOR
ILcdFinalApproachPathFeature.REFERENCE_PATH_IDENTIFIER
ILcdFinalApproachPathFeature.APPROACH_PERFORMANCE_DESIGNATOR
ILcdFinalApproachPathFeature.THRESHOLD_CROSSING_HEIGHT
ILcdFinalApproachPathFeature.GLIDE_PATH_ANGLE
ILcdFinalApproachPathFeature.COURSE_WIDTH_AT_THRESHOLD
ILcdFinalApproachPathFeature.LENGTH_OFFSET
ILcdFinalApproachPathFeature.CYCLE_DATE
ILcdFinalApproachPathFeature.GNSS_CHANNEL
ILcdFinalApproachPathFeature.HORIZONTAL_ALERT_LIMIT
ILcdFinalApproachPathFeature.VERTICAL_ALERT_LIMIT
ILcdFinalApproachPathFeature.APPROACH_TYPE_IDENTIFIER
ILcdFinalApproachPathFeature.HELICOPTER_PROCEDURE_COURSE
All DAFIFT decoders rely on a specific set of key features that uniquely define an object. This set of features must always be included in the set of features to be decoded. For a precision approach path, the key features are:
TLcdDAFIFTPrecisionApproachPathDataProperties
,
TLcdDAFIFPrecisionApproachPathModelDescriptor
Constructor and Description |
---|
TLcdDAFIFTPrecisionApproachPathDecoder(TLcdAISDataObjectFactory aFactory)
Constructs a new
TLcdDAFIFTPrecisionApproachPathDecoder 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)
Returns a model containing the domain objects read from the given source file.
|
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()
Returns the array of
String objects containing the names of the features
that will be used as a unique key to insert objects into the model. |
void |
setDataObjectFactory(TLcdAISDataObjectFactory aFactory)
Specifies the data factory.
|
void |
setDomainFactory(ALcdAISObjectFactory aDomainFactory)
Deprecated.
|
void |
setInputStreamFactory(ILcdInputStreamFactory aInputStreamFactory)
Sets the input stream factory that will be used for creating the
input streams for the given source names.
|
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.
|
getDecodingBounds, getModelFilter, setDecodingBounds, setModelFilter
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
canDecodeSource, canDecodeSource, decodeModelMetadata, decodeModelMetadata, decodeSource, discoverDataSources
public TLcdDAFIFTPrecisionApproachPathDecoder(TLcdAISDataObjectFactory aFactory)
TLcdDAFIFTPrecisionApproachPathDecoder
object. The user should specify which
object factory needs to be used to create the precision approach path.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
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.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.ILcdModelDecoder.canDecodeSource(String)
public String[] getUniqueKeyFeatureNames()
String
objects containing the names of the features
that will be used as a unique key to insert objects into the model.String
objects containing the names of the features
that will be used as a unique key to insert objects into the model.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.