Class TLcdARINCEnrouteCommunicationHandler
- All Implemented Interfaces:
ILcdARINCHandler
ALcdARINCHandler
interface deals
with enroute communication records (Enroute Communications Records, section code E, subsection code V).
Decoded models have as model descriptor an instance of TLcdARINCAEnrouteCommunicationModelDescriptor
.
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 type of the decoded objects is TLcdARINCDataTypes.EnrouteCommunication
,
which can also be retrieved through ILcdDataObject.getDataType()
.
The available properties of the objects are defined in TLcdARINCEnrouteCommunicationDataProperties
.
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 setCommunicationFeatureNamesToBeDecoded(String[])
setCommunicationFeatureNamesToBeDecoded} method
allows the user to specify which ARINC features are decoded into the featured model objects.
- Version 15 :
- Customer/Area Code: ILcdARINCEnrouteCommunicationFeature.CUSTOMER_AREA_CODE
- FIR/RDO Identifier: ILcdARINCEnrouteCommunicationFeature.FIR_RDO_IDENTIFIER
- FIR/UIR address: ILcdARINCEnrouteCommunicationFeature.FIR_UIR_ADDRESS
- Indicator: ILcdARINCEnrouteCommunicationFeature.INDICATOR
- Remote name: ILcdARINCEnrouteCommunicationFeature.REMOTE_NAME
- Communication type: ILcdARINCEnrouteCommunicationFeature.COMMUNICATION_TYPE
- Communication Freq: ILcdARINCEnrouteCommunicationFeature.COMMUNICATION_FREQUENCY
- Guard/Transmit: ILcdARINCEnrouteCommunicationFeature.GUARD_TRANSMIT
- Frequency units: ILcdARINCEnrouteCommunicationFeature.FREQUENCY_UNITS
- Service Indicator: ILcdARINCEnrouteCommunicationFeature.SERVICE_INDICATOR
- Radar Service: ILcdARINCEnrouteCommunicationFeature.RADAR_SERVICE
- Modulation: ILcdARINCEnrouteCommunicationFeature.MODULATION
- Signal Emission: ILcdARINCEnrouteCommunicationFeature.SIGNAL_EMISSION
- Magnetic Variation: ILcdARINCEnrouteCommunicationFeature.MAGNETIC_VARIATION
- H24 Indicator: ILcdARINCEnrouteCommunicationFeature.H24_INDICATOR
- Altitude Description: ILcdARINCEnrouteCommunicationFeature.ALTITUDE_DESCRIPTION
- Communication Altitude: ILcdARINCEnrouteCommunicationFeature.COMMUNICATION_ALTITUDE1
- Communication Altitude: ILcdARINCEnrouteCommunicationFeature.COMMUNICATION_ALTITUDE2
- Remote Facility: ILcdARINCEnrouteCommunicationFeature.REMOTE_FACILITY. Note that to decode
this feature, a DME, VOR, NDB and TACAN model should be set on this handler (see methods
setDMEModel(ILcdModel)
,setVORModel(ILcdModel)
,setNDBModel(ILcdModel)
,setTACANModel(ILcdModel)
) from which the remote facilities can be retrieved. - ICAO code: ILcdARINCEnrouteCommunicationFeature.REMOTE_FACILITY_ICAO
- Cycle Date: ILcdARINCEnrouteCommunicationFeature.CYCLE_DATE
- Version 17 :
- Remote Facility: to decode this feature, now also an Aerodrome model should be set on this handler
(see methods
setAerodromeModel(ILcdModel)
).
- Remote Facility: to decode this feature, now also an Aerodrome model should be set on this handler
(see methods
- Version 18 : no extra fields added.
- Version 19 :
- Transmit Frequency: ILcdARINCEnrouteCommunicationFeature.COMMUNICATION_TRANSMIT_FREQUENCY
- Receive Frequency: ILcdARINCEnrouteCommunicationFeature.COMMUNICATION_RECEIVE_FREQUENCY
ILcdARINCEnrouteCommunicationFeature.FIR_RDO_IDENTIFIER
ILcdARINCEnrouteCommunicationFeature.FIR_UIR_ADDRESS
ILcdARINCEnrouteCommunicationFeature.INDICATOR
ILcdARINCCommunicationFeature.COMMUNICATION_TYPE
ILcdARINCCommunicationFeature.COMMUNICATION_FREQUENCY
ILcdARINCCommunicationFeature.GUARD_TRANSMIT
- Since:
- 6.2
- See Also:
-
Constructor Summary
ConstructorDescriptionConstructs a newTLcdARINCEnrouteCommunicationHandler
object. -
Method Summary
Modifier and TypeMethodDescriptionReturns the (geodetic) bounds that will be used as a filter on the model created by this handler.String[]
Returns the features that will be stored in the domain objects created by this handler.Returns the factory to be used to create domain objects.Deprecated.Returns the bounds to be used as initial bounds for the model created by this handler.protected ILcdGeodeticDatum
getLocalHorizontalDatum
(String aGeodeticDatumCode) Returns an instance of an implementation of theILcdGeodeticDatum
interface according to the given geodetic datum code.getModel()
Returns the model build by this handler.void
handleRecord
(char[] aRecord) Deals with one record of ARINC data.boolean
If true, the decoder will store the original geodetic datum of each domain object in a feature.boolean
Deprecated.This method has been deprecated.void
newModel
(String aSource, ILcdARINCErrorMessageSupport aErrorMessage) Resets the internal state of this handler so that it is ready to handle a new data source from scratch.protected String
read
(char[] aRecord, int aStart, int aLength) Reads from aRecord from position aStart to aStart + aLength - 1, trims the resultingString
object and returns it.protected char
readSectionCode
(char[] aRecord) Reads the section code of an ARINC record.void
setAerodromeModel
(ILcdModel aAirportModel) Specifies a model of aerodromes that is used to retrieve remote facilities.void
setARINCModelFilter
(ILcdARINCModelFilter aFilter) Specifies a filter to be used while creating the model.void
setBoundsToFilterOn
(ILcdBounds aBoundsToFilterOn) Specifies (geodetic) bounds that will be used as a filter on the model created by this handler.static void
setClassTraceOn
(boolean aTraceOn) Deprecated.This method has been deprecated.void
setCommunicationFeatureNamesToBeDecoded
(String[] aCommunicationFeatureNamesToBeDecoded) Specifies which features should be stored in the domain objects created by this handler.void
setDataObjectFactory
(TLcdAISDataObjectFactory aFactory) Specifies the factory to be used to create domain objects.void
setDefaultGeodeticDatum
(ILcdGeodeticDatum aDefaultGeodeticDatum) Sets the default geodetic datum code.void
setDMEModel
(ILcdModel aDMEModel) Specifies a model of DMEs that is used to retrieve remote facilities.void
setDomainFactory
(ALcdAISObjectFactory aDomainFactory) Deprecated.void
setInitialBounds
(ILcdBounds aInitialBounds) Specifies a bounds to be used as initial bounds for the model created by this handler.void
setNDBModel
(ILcdModel aNDBModel) Specifies a model of NDBs that is used to retrieve remote facilities.void
setStoreOriginalReference
(boolean aStoreRef) If true, the decoder will store the original geodetic datum of each domain object in a feature.void
setTACANModel
(ILcdModel aTACANModel) Specifies a model of TACANs that is used to retrieve remote facilities.void
setTraceOn
(boolean aTraceOn) Deprecated.This method has been deprecated.void
setVORModel
(ILcdModel aVORModel) Specifies a model of VORs that is used to retrieve remote facilities.
-
Constructor Details
-
TLcdARINCEnrouteCommunicationHandler
public TLcdARINCEnrouteCommunicationHandler()Constructs a newTLcdARINCEnrouteCommunicationHandler
object.
-
-
Method Details
-
getCommunicationFeatureNamesToBeDecoded
Returns the features that will be stored in the domain objects created by this handler.- Returns:
- an array containing the names of the features to be stored in the domain objects created by this handler
- See Also:
-
setCommunicationFeatureNamesToBeDecoded
Specifies which features should be stored in the domain objects created by this handler.- Parameters:
aCommunicationFeatureNamesToBeDecoded
- an array containing the names of the features to be stored in the domain objects created by this handler. Feature names should be taken from theILcdARINCEnrouteCommunicationFeature
interface.- See Also:
-
setNDBModel
Specifies a model of NDBs that is used to retrieve remote facilities. This is only required when the featureILcdARINCEnrouteCommunicationFeature.REMOTE_FACILITY
is decoded (seesetCommunicationFeatureNamesToBeDecoded(String[])
setCommunicationFeatureNamesToBeDecoded} method).- Parameters:
aNDBModel
- the NDB model to retrieve remote facilities.
-
setDMEModel
Specifies a model of DMEs that is used to retrieve remote facilities. This is only required when the featureILcdARINCEnrouteCommunicationFeature.REMOTE_FACILITY
is decoded (seesetCommunicationFeatureNamesToBeDecoded(String[])
setCommunicationFeatureNamesToBeDecoded} method).- Parameters:
aDMEModel
- the DME model to retrieve remote facilities.
-
setTACANModel
Specifies a model of TACANs that is used to retrieve remote facilities. This is only required when the featureILcdARINCEnrouteCommunicationFeature.REMOTE_FACILITY
is decoded (seesetCommunicationFeatureNamesToBeDecoded(String[])
setCommunicationFeatureNamesToBeDecoded} method).- Parameters:
aTACANModel
- the TACAN model to retrieve remote facilities.
-
setVORModel
Specifies a model of VORs that is used to retrieve remote facilities. This is only required when the featureILcdARINCEnrouteCommunicationFeature.REMOTE_FACILITY
is decoded (seesetCommunicationFeatureNamesToBeDecoded(String[])
setCommunicationFeatureNamesToBeDecoded} method).- Parameters:
aVORModel
- the VOR model to retrieve remote facilities.
-
setAerodromeModel
Specifies a model of aerodromes that is used to retrieve remote facilities. This is only required when the featureILcdARINCAerodromeCommunicationFeature.REMOTE_FACILITY
is decoded (seesetCommunicationFeatureNamesToBeDecoded(String[])
setCommunicationFeatureNamesToBeDecoded} method).- Parameters:
aAirportModel
- the aerodrome model to retrieve remote facilities.
-
handleRecord
public void handleRecord(char[] aRecord) Description copied from interface:ILcdARINCHandler
Deals with one record of ARINC data.Each implementation of the
ILcdARINCHandler
interface decides by itself whether to use the information found in the given record to create or modify a domain object, or to do nothing at all.Typically, this method will be called when looping through the records of a data source.
The domain objects created or modified when calling this method will be stored in a model. The user can obtain this model by calling the
getModel
method.- Parameters:
aRecord
- the record to deal with created with data from the given record in- See Also:
-
setDomainFactory
Deprecated.Description copied from interface:ILcdARINCHandler
Specifies the domainFactory to be used to create domain objects.The given domainFactory must not be null.
- Specified by:
setDomainFactory
in interfaceILcdARINCHandler
- Parameters:
aDomainFactory
- the domainFactory to be used to create domain objects- See Also:
-
getDomainFactory
Deprecated.Description copied from interface:ILcdARINCHandler
Returns the domainFactory to be used to create domain objects.- Specified by:
getDomainFactory
in interfaceILcdARINCHandler
- Returns:
- the domainFactory to be used to create domain objects
- See Also:
-
setDataObjectFactory
Description copied from interface:ILcdARINCHandler
Specifies the factory to be used to create domain objects.The given factory must not be null.
- Specified by:
setDataObjectFactory
in interfaceILcdARINCHandler
- Parameters:
aFactory
- the domainFactory to be used to create domain objects- See Also:
-
getDataObjectFactory
Description copied from interface:ILcdARINCHandler
Returns the factory to be used to create domain objects.- Specified by:
getDataObjectFactory
in interfaceILcdARINCHandler
- Returns:
- the factory to be used to create domain objects
- See Also:
-
setDefaultGeodeticDatum
Sets the default geodetic datum code. This is used for records which do not mention an explicit geodetic datum. By default, this is WGS 84. Note thatnull
can also be provided: in that case, records which do not mention a geodetic datum will be ignored.- Parameters:
aDefaultGeodeticDatum
- The default geodetic datum.
-
getModel
Description copied from interface:ILcdARINCHandler
Returns the model build by this handler.Please remark that this handler is only capable of creating the expected model if the user calls
- the
newModel
method to reset the internal state before he or she starts the decoding process, - the
handleRecord
method each time a new record in the data source is accessed.
- Specified by:
getModel
in interfaceILcdARINCHandler
- Returns:
- the model build by this handler
- the
-
setBoundsToFilterOn
Description copied from interface:ILcdARINCHandler
Specifies (geodetic) bounds that will be used as a filter on the model created by this handler.If this bounds is null, all objects found in the data source will be inserted into the model. If this bounds is not null, only the objects whose bounds interact with the specified bounds will be inserted into the model.
- Specified by:
setBoundsToFilterOn
in interfaceILcdARINCHandler
- Parameters:
aBoundsToFilterOn
- the bounds to be used as a filter
-
getBoundsToFilterOn
Description copied from interface:ILcdARINCHandler
Returns the (geodetic) bounds that will be used as a filter on the model created by this handler.- Specified by:
getBoundsToFilterOn
in interfaceILcdARINCHandler
- Returns:
- the bounds that will be used as a filter on the model created by this handler
- See Also:
-
setInitialBounds
Description copied from interface:ILcdARINCHandler
Specifies a bounds to be used as initial bounds for the model created by this handler.This bounds should be large enough to enclose (most of) the model objects. This option is used to avoid to many expansions of the model bounds.
This parameter may be null.
Note: This bounds is not a filter! If a model objects bounds does not interact with aInitialBounds, aInitialBounds will be enlarged to enclose the object.
- Specified by:
setInitialBounds
in interfaceILcdARINCHandler
- Parameters:
aInitialBounds
- the initial bounds for the model created by this handler
-
getInitialBounds
Description copied from interface:ILcdARINCHandler
Returns the bounds to be used as initial bounds for the model created by this handler.- Specified by:
getInitialBounds
in interfaceILcdARINCHandler
- Returns:
- bounds to be used as initial bounds for the model created by this handler
- See Also:
-
newModel
Description copied from interface:ILcdARINCHandler
Resets the internal state of this handler so that it is ready to handle a new data source from scratch.The user should call this method before using this handler in a decoding process.
- Specified by:
newModel
in interfaceILcdARINCHandler
- Parameters:
aSource
- the name of the source that will be handledaErrorMessage
- for each irregular situation during the decoding, a report should be added to this object
-
setARINCModelFilter
Description copied from interface:ILcdARINCHandler
Specifies a filter to be used while creating the model. Only model objects that pass through the filter will be in the resulting model.- Specified by:
setARINCModelFilter
in interfaceILcdARINCHandler
- Parameters:
aFilter
- anILcdARINCModelFilter
to filter the model objects
-
isTraceOn
public boolean isTraceOn()Deprecated.This method has been deprecated. It is recommended to use the standard Java logging framework directly.Returnstrue
if tracing is enabled for this class.- Returns:
- true if tracing is enabled for this class, false otherwise.
-
setClassTraceOn
public static void setClassTraceOn(boolean aTraceOn) Deprecated.This method has been deprecated. It is recommended to use the standard Java logging framework directly.Enables tracing for all instances of this class. If the argument istrue
then all log messages are recorded, otherwise only the informative, warning and error messages are recorded.- Parameters:
aTraceOn
- if true then all log messages are recorded, otherwise only the informative, warning and error messages are recorded.
-
setTraceOn
public void setTraceOn(boolean aTraceOn) Deprecated.This method has been deprecated. It is recommended to use the standard Java logging framework directly.Enables tracing for this class instance. Calling this method with eithertrue
orfalse
as argument automatically turns off tracing for all other class instances for whichsetTraceOn
has not been called. If the argument isfalse
then only the informative, warning and error log messages are recorded.- Parameters:
aTraceOn
- if true then all log messages are recorded for this instance. If false, then only the informative, warning and error log messages are recorded.
-
readSectionCode
protected char readSectionCode(char[] aRecord) Reads the section code of an ARINC record.- Parameters:
aRecord
- the record to read of- Returns:
- the section code of the record
-
read
Reads from aRecord from position aStart to aStart + aLength - 1, trims the resultingString
object and returns it.- Parameters:
aRecord
- the record to be read ofaStart
- the start position for readingaLength
- the length of theString
to be read- Returns:
- a trimmed
String
object
-
getLocalHorizontalDatum
Returns an instance of an implementation of theILcdGeodeticDatum
interface according to the given geodetic datum code. The datum code is expected to be specified by their three character representation, as it is used in the ARINC specification. The full list of supported geodetic datum codes can be found in the ARINC Developer's Guide. If the supplied code is null or empty, the default geodetic datum is returned. This is WGS 84 by default, but it can be configured throughsetDefaultGeodeticDatum
. If no geodetic datum can be found,null
is returned.- Parameters:
aGeodeticDatumCode
- the code for the geodetic datum to be returned- Returns:
- the geodetic datum according to the given code
-
setStoreOriginalReference
public void setStoreOriginalReference(boolean aStoreRef) Description copied from interface:ILcdARINCHandler
If true, the decoder will store the original geodetic datum of each domain object in a feature.- Specified by:
setStoreOriginalReference
in interfaceILcdARINCHandler
- Parameters:
aStoreRef
- specifies if the decoder must store the original geodetic datum of each domain object in a feature.
-
isStoreOriginalReference
public boolean isStoreOriginalReference()Description copied from interface:ILcdARINCHandler
If true, the decoder will store the original geodetic datum of each domain object in a feature.- Specified by:
isStoreOriginalReference
in interfaceILcdARINCHandler
- Returns:
- whether the decoder will store the original geodetic datum of each domain object in a feature.
-