Class TLcdDAFIFRefuelingTrackDecoder

All Implemented Interfaces:
ILcdDAFIFDecoder, ILcdDAFIFMultiModelDecoder, ILcdInputStreamFactoryCapable, ILcdModelDecoder

public class TLcdDAFIFRefuelingTrackDecoder extends ALcdDAFIFMultiModelDecoder
This extension of the ALcdDAFIFMultiModelDecoder decodes refueling tracks or anchors from a DAFIF source file.

The modelList resulting from the decode method will contain submodels for

  • refueling track (or anchor) airspaces,
  • the refueling tracks themselves (connected list of refueling track points)

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 TLcdDAFIFDataTypes.RefuelingAirspace, and TLcdDAFIFDataTypes.RefuelingTrack, which can also be retrieved through ILcdDataObject.getDataType(). The available properties of the objects are defined in TLcdDAFIFRefuelingAirspaceDataProperties, and TLcdDAFIFRefuelingTrackDataProperties. 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 setAirspaceFeaturesToBeDecoded method, the setPointFeaturesToBeDecoded method and setTrackFeaturesToBeDecoded method allow the user to specify which DAFIF features are decoded into the featured model objects.

If no features to be decoded are specified, all features will be decoded.

The following fields (taken from the National Imagery and Mapping Agency (NIMA) Product Specifications for Digital Aeronautical Flight Information File (DAFIF), Seventh Edition, May 2001) are supported by the decoder. The list indicates into which feature the fields are decoded.

Refueling track or anchor fields:

  • IDENTIFIER: ILcdDAFIFRefuelingAirspaceFeature.IDENTIFIER, ILcdDAFIFRefuelingTrackFeature.IDENTIFIER
  • DIRECTION: ILcdDAFIFRefuelingAirspaceFeature.DIRECTION, ILcdDAFIFRefuelingTrackFeature.DIRECTION
  • TYPE: ILcdDAFIFRefuelingTrackFeature.TYPE
  • ICAO CODE: ILcdDAFIFRefuelingTrackFeature.ICAO_CODE
  • COUNTRY CODE: ILcdDAFIFRefuelingTrackFeature.COUNTRY_CODE
  • PRIMARY UHF FREQUENCY: ILcdDAFIFRefuelingTrackFeature.PRIMARY_UHF_FREQUENCY, ILcdDAFIFRefuelingTrackFeature.PRIMARY_UHF_FREQUENCY_UNIT
  • BACK-UP UHF FREQUENCY: ILcdDAFIFRefuelingTrackFeature.BACK_UP_UHF_FREQUENCY, ILcdDAFIFRefuelingTrackFeature.BACK_UP_UHF_FREQUENCY_UNIT
  • APN 69/134/135 SETTING: ILcdDAFIFRefuelingTrackFeature.APN_SETTING
  • APX 78 ENCODE/DECODE: ILcdDAFIFRefuelingTrackFeature.APX_ENCODE_DECODE
  • RECEIVER/TANKER CHANNEL: ILcdDAFIFRefuelingTrackFeature.RECEIVER_CHANNEL, ILcdDAFIFRefuelingTrackFeature.TANKER_CHANNEL
  • ALTITUDE 1 DESCRIPTION: ILcdDAFIFRefuelingTrackFeature.ALTITUDE_1_DESCRIPTION
  • ALTITUDE 2 DESCRIPTION: ILcdDAFIFRefuelingTrackFeature.ALTITUDE_2_DESCRIPTION
  • ALTITUDE 3 DESCRIPTION: ILcdDAFIFRefuelingTrackFeature.ALTITUDE_3_DESCRIPTION
  • REFUELING 1 ALTITUDE 1: ILcdDAFIFRefuelingTrackFeature.REFUELING_1_ALTITUDE_1, ILcdDAFIFRefuelingTrackFeature.ALTITUDE_UNIT
  • REFUELING 1 ALTITUDE 2: ILcdDAFIFRefuelingTrackFeature.REFUELING_1_ALTITUDE_2, ILcdDAFIFRefuelingTrackFeature.ALTITUDE_UNIT
  • REFUELING 2 ALTITUDE 1: ILcdDAFIFRefuelingTrackFeature.REFUELING_2_ALTITUDE_1, ILcdDAFIFRefuelingTrackFeature.ALTITUDE_UNIT
  • REFUELING 2 ALTITUDE 2: ILcdDAFIFRefuelingTrackFeature.REFUELING_2_ALTITUDE_2, ILcdDAFIFRefuelingTrackFeature.ALTITUDE_UNIT
  • REFUELING 3 ALTITUDE 1: ILcdDAFIFRefuelingTrackFeature.REFUELING_3_ALTITUDE_1, ILcdDAFIFRefuelingTrackFeature.ALTITUDE_UNIT
  • REFUELING 3 ALTITUDE 2: ILcdDAFIFRefuelingTrackFeature.REFUELING_3_ALTITUDE_2, ILcdDAFIFRefuelingTrackFeature.ALTITUDE_UNIT
  • SCHEDULING UNIT: ILcdDAFIFRefuelingTrackFeature.SCHEDULING_UNIT
  • ASSIGNED ATC: ILcdDAFIFRefuelingTrackFeature.ASSIGNED_ATC
Refueling track or anchor point fields:
  • USAGE:
  • NAVAID IDENTIFIER: ILcdDAFIFRefuelingTrackPointFeature.NAVAID_IDENTIFIER
  • NAVAID TYPE: ILcdDAFIFRefuelingTrackPointFeature.NAVAID_TYPE
  • NAVAID COUNTRY CODE: ILcdDAFIFRefuelingTrackPointFeature.NAVAID_COUNTRY_CODE
  • NAVAID KEY CODE: ILcdDAFIFRefuelingTrackPointFeature.NAVAID_KEY_CODE
  • FIX: ILcdDAFIFRefuelingTrackPointFeature.FIX
  • POINT IDENTIFICATION: ILcdDAFIFRefuelingTrackPointFeature.POINT_IDENTIFIER

DAFIF 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 refueling track or anchor airspaces, the key features are:

For refueling tracks, the key features are:

See Also:
  • Field Details

  • Constructor Details

    • TLcdDAFIFRefuelingTrackDecoder

      @Deprecated public TLcdDAFIFRefuelingTrackDecoder(ALcdAISObjectFactory aFactory)
      Deprecated.
      Constructs a new TLcdDAFIFRefuelingTrackDecoder object. The user should specify which domainFactory he or she wants to use to create the refueling tracks.
      Parameters:
      aFactory - the factory to be used to create the model objects
    • TLcdDAFIFRefuelingTrackDecoder

      public TLcdDAFIFRefuelingTrackDecoder(TLcdAISDataObjectFactory aFactory)
      Constructs a new TLcdDAFIFRefuelingTrackDecoder object. The user should specify which factory he or she wants to use to create the refueling tracks.
      Parameters:
      aFactory - the factory to be used to create the model objects
    • TLcdDAFIFRefuelingTrackDecoder

      @Deprecated public TLcdDAFIFRefuelingTrackDecoder(ALcdAISObjectFactory aFactory, Properties aDAFIFProperties)
      Deprecated.
      Constructs a new TLcdDAFIFRefuelingTrackDecoder object. The user should specify which domainFactory he or she wants to use to create the refueling tracks.
      Parameters:
      aFactory - the factory to be used to create the model objects
      aDAFIFProperties - a Properties object that contains for each domain object the appropriate file name
    • TLcdDAFIFRefuelingTrackDecoder

      public TLcdDAFIFRefuelingTrackDecoder(TLcdAISDataObjectFactory aFactory, Properties aDAFIFProperties)
      Constructs a new TLcdDAFIFRefuelingTrackDecoder object. The user should specify which factory he or she wants to use to create the refueling tracks.
      Parameters:
      aFactory - the factory to be used to create the model objects
      aDAFIFProperties - a Properties object that contains for each domain object the appropriate file name
  • Method Details

    • getDecodeFileName

      public String getDecodeFileName()
      Description copied from interface: ILcdDAFIFDecoder
      Returns the name of the file to be decoded.

      Each domain object has its own file name. This method returns the name of the data file for the domain objects decoded by this DAFIF decoder.

      Returns:
      the name of the source file
    • getDisplayName

      public String getDisplayName()
      Description copied from interface: ILcdModelDecoder
      Returns a short, displayable name for the format that is decoded by this ILcdModelDecoder.
      Specified by:
      getDisplayName in interface ILcdModelDecoder
      Overrides:
      getDisplayName in class ALcdDAFIFDecoder
      Returns:
      the displayable name of this ILcdModelDecoder.
    • handleRecord

      protected final void handleRecord(int aFormat, char[] aRecord)
      Description copied from class: ALcdDAFIFMultiModelDecoder
      Deals with one record of input.
      Specified by:
      handleRecord in class ALcdDAFIFMultiModelDecoder
      Parameters:
      aFormat - the format of the record
      aRecord - the record to deal with
    • createModelDescriptor

      protected ILcdModelDescriptor createModelDescriptor(int aIndex, String aSource)
      Description copied from class: ALcdDAFIFMultiModelDecoder
      Creates and returns the model descriptor to be set on the model with index aIndex in the model (i.e. in the model returned in the decode method).
      Specified by:
      createModelDescriptor in class ALcdDAFIFMultiModelDecoder
      Parameters:
      aSource - the source to be decoded
      Returns:
      a model descriptor describing the data in the submodel at position aIndex in the model produced by this decoder
    • createModelDescriptor

      public TLcdEditableModelListDescriptor createModelDescriptor(String aSource)
      Description copied from interface: ILcdDAFIFMultiModelDecoder
      Creates and returns the model descriptor to be set on the model returned in the decode method.
      Specified by:
      createModelDescriptor in interface ILcdDAFIFMultiModelDecoder
      Specified by:
      createModelDescriptor in class ALcdDAFIFMultiModelDecoder
      Parameters:
      aSource - the source that will be used to build the model
      Returns:
      the model descriptor to be set on the model produced by this decoder
    • postProcess

      protected final void postProcess()
      Description copied from class: ALcdDAFIFMultiModelDecoder
      This method is usually not implemented. However in some cases it may be useful for decoders to perform some actions after reading all records, but before the different models are merged into the modelList. In that case all those actions can be put in this method.
      Overrides:
      postProcess in class ALcdDAFIFMultiModelDecoder
    • cleanUp

      protected void cleanUp()
      Description copied from class: ALcdDAFIFDecoder
      This method should be implemented by a concrete class.

      It should empty all temporary data structures used during the decoding process.

      Overrides:
      cleanUp in class ALcdDAFIFMultiModelDecoder
    • setTrackDefaultDisplayNameIndex

      public void setTrackDefaultDisplayNameIndex(int aIndex)
      Specifies the index of the feature to be the track display name.
      Parameters:
      aIndex - the index of the feature to be used as display name
    • setAirspaceDefaultDisplayNameIndex

      public void setAirspaceDefaultDisplayNameIndex(int aIndex)
      Specifies the index of the feature to be the airspace display name.
      Parameters:
      aIndex - the index of the feature to be used as display name
    • setTrackPointDefaultDisplayNameIndex

      public void setTrackPointDefaultDisplayNameIndex(int aIndex)
      Specifies the index of the feature to be the track point display name.
      Parameters:
      aIndex - the index of the feature to be used as display name
    • setTrackFeaturesToBeDecoded

      public void setTrackFeaturesToBeDecoded(String[] aTrackFeaturesToBeDecoded)
      Specifies the features that should be decoded into the refueling track objects of the model that will be returned by the decode method.

      Please make sure that the IDENTIFIER and DIRECTION features are in your list.

      Parameters:
      aTrackFeaturesToBeDecoded - a list of features that should be decoded into the refueling track objects
    • setPointFeaturesToBeDecoded

      public void setPointFeaturesToBeDecoded(String[] aPointFeaturesToBeDecoded)
      Specifies the features that should be decoded into the refueling point objects of the model that will be returned by the decode method.
      Parameters:
      aPointFeaturesToBeDecoded - a list of features that should be decoded into the track point objects
    • setAirspaceFeaturesToBeDecoded

      public void setAirspaceFeaturesToBeDecoded(String[] aAirspaceFeaturesToBeDecoded)
      Specifies the features that should be decoded into the refueling airspace objects of the model that will be returned by the decode method.

      Please make sure that the IDENTIFIER and DIRECTION features are in your list.

      Parameters:
      aAirspaceFeaturesToBeDecoded - a list of features that should be decoded into the airspace objects