Package com.luciad.format.dafift.decoder
Class TLcdDAFIFTIndependentProcedureDecoder
java.lang.Object
com.luciad.format.dafift.decoder.ALcdDAFIFTModelDecoder
com.luciad.format.dafift.decoder.TLcdDAFIFTProcedureDecoder
com.luciad.format.dafift.decoder.TLcdDAFIFTIndependentProcedureDecoder
- All Implemented Interfaces:
ILcdInputStreamFactoryCapable
,ILcdModelDecoder
This extension of the
TLcdDAFIFTProcedureDecoder
class can be used to produce
a model without having to specify an aerodrome, a heliport, a runway, a waypoint, a navaid
or an ILS model first. The decoded models have as model descriptor an instance of
TLcdDAFIFProcedureTrajectoryModelDescriptor
.
The TLcdDAFIFTIndependentProcedureDecoder
will decode these models himself.
To decode the models necessary for creating terminal procedures, the
TLcdDAFIFTIndependentProcedureDecoder
will look for the corresponding source
files in the source directory to be decoded. If the source files aren't found in this directory,
or the objects read from a source file aren't satisfactory to build the terminal procedures,
exceptions will occur during the decode process.- Since:
- 7.2
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionTLcdDAFIFTIndependentProcedureDecoder
(ALcdAISObjectFactory aDomainFactory) Deprecated.TLcdDAFIFTIndependentProcedureDecoder
(TLcdAISDataObjectFactory aDomainFactory) Creates a newTLcdDAFIFTIndependentProcedureDecoder
object. -
Method Summary
Modifier and TypeMethodDescriptionboolean
canDecodeSource
(String aSource) Tests whether thecanDecodeSource
method of all decoders on which this decoder depends on, returntrue
.Creates all models necessary to create the procedures before starting the decode process.Returns the factory that is used to create domain objects.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[]
Returns the array ofString
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.Methods inherited from class com.luciad.format.dafift.decoder.TLcdDAFIFTProcedureDecoder
getDisplayName, setAirportModel, setHeliportModel, setILSModel, setNavaidModel, setProcedureDefaultDisplayNameIndex, setProcedureFeaturesToBeDecoded, setRunwayModel, setWaypointModel
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, decodeModelMetadata, decodeModelMetadata, decodeSource, discoverDataSources
-
Constructor Details
-
TLcdDAFIFTIndependentProcedureDecoder
Deprecated.Creates a newTLcdDAFIFTIndependentProcedureDecoder
object. The user should specify which aDomainFactory he or she wants to use to create the aerodromes, the heliports, the ILS objects, the navaids, the runways, the waypoints and the procedures.- Parameters:
aDomainFactory
- The factory to be used to create the model objects.
-
TLcdDAFIFTIndependentProcedureDecoder
Creates a newTLcdDAFIFTIndependentProcedureDecoder
object. The user should specify which aDomainFactory he or she wants to use to create the aerodromes, the heliports, the ILS objects, the navaids, the runways, the waypoints and the procedures.- Parameters:
aDomainFactory
- The factory to be used to create the model objects.
-
-
Method Details
-
canDecodeSource
Tests whether thecanDecodeSource
method of all decoders on which this decoder depends on, returntrue
.- Specified by:
canDecodeSource
in interfaceILcdModelDecoder
- Parameters:
aSource
- The name of the source file or directory that you want to decode.- Returns:
true
if this decoder can decode the data specified by the source name,false
otherwise.- See Also:
-
decode
Creates all models necessary to create the procedures before starting the decode process. These models will be decoded using the specified source. After the models are created, the decode method of the super class (TLcdDAFIFTProcedureDecoder.decode(String)
) is called.- Specified by:
decode
in interfaceILcdModelDecoder
- Overrides:
decode
in classTLcdDAFIFTProcedureDecoder
- 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 airport model has been specified.- See Also:
-
getUniqueKeyFeatureNames
Returns the array ofString
objects containing the names of the features that will be used as a unique key to insert objects into the model.- 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.
-
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()