Class TLcdDAFIFNavaidDecoder

All Implemented Interfaces:
ILcdDAFIFDecoder, ILcdDAFIFMultiModelDecoder, ILcdInputStreamFactoryCapable, ILcdModelDecoder

public class TLcdDAFIFNavaidDecoder extends ALcdDAFIFMultiModelDecoder
This extension of the ALcdDAFIFMultiModelDecoder decodes navaids (VOR, DME, NDB, TACAN, VOR-DME, VORTAC and NDB-DME) from a DAFIF source file. Decoded models have as model descriptor an instance of TLcdDAFIFNavaidModelListDescriptor. This descriptor contains instances of TLcdDAFIFDMEModelDescriptor, TLcdDAFIFVORModelDescriptor, TLcdDAFIFNDBModelDescriptor and/or TLcdDAFIFTACANModelDescriptor, dependent of the source file.

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.VOR, TLcdDAFIFDataTypes.DME, TLcdDAFIFDataTypes.TACAN and TLcdDAFIFDataTypes.NDB, which can also be retrieved through ILcdDataObject.getDataType(). The available properties of the objects are defined in TLcdDAFIFVORDataProperties, TLcdDAFIFDMEDataProperties, TLcdDAFIFTACANDataProperties and TLcdDAFIFNDBDataProperties. 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 setDMEFeaturesToBeDecoded method, the setNDBFeaturesToBeDecoded method, the setTACANFeaturesToBeDecoded method, and the setVORFeaturesToBeDecoded method, the 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.

DME:

  • IDENTIFIER: ILcdDAFIFNavaidFeature.IDENTIFIER
  • TYPE: ILcdDAFIFNavaidFeature.TYPE
  • COUNTRY CODE: ILcdDAFIFNavaidFeature.COUNTRY_CODE
  • NAVAID KEY CODE: ILcdDAFIFNavaidFeature.KEY_CODE
  • STATE/PROVINCE CODE: ILcdDAFIFNavaidFeature.STATE_PROVINCE_CODE
  • NAME: ILcdDAFIFNavaidFeature.NAME
  • ICAO CODE: ILcdDAFIFNavaidFeature.ICAO_CODE, ILcdDAFIFNavaidFeature.ICAO_REGION
  • WORLD AREA CODE (WAC): ILcdDAFIFNavaidFeature.WORLD_AREA_CODE
  • USAGE CODE: ILcdDAFIFNavaidFeature.USAGE_CODE
  • RADIO CLASS CODE: ILcdDAFIFNavaidFeature.RADIO_CLASS_CODE
  • FREQUENCY PROTECTION: ILcdDAFIFNavaidFeature.FREQUENCY_PROTECTION
  • POWER: ILcdDAFIFNavaidFeature.POWER, ILcdDAFIFNavaidFeature.POWER_UNIT
  • RANGE: ILcdDAFIFNavaidFeature.RANGE, ILcdDAFIFNavaidFeature.RANGE_UNIT
  • SLAVED/ASSIGNED VARIATION: ILcdDAFIFNavaidFeature.SLAVED_VARIATION
  • MAGNETIC VARIATION: ILcdDAFIFNavaidFeature.MAGNETIC_VARIATION
  • FREQUENCY: ILcdDAFIFDMEFeature.FREQUENCY, ILcdDAFIFDMEFeature.FREQUENCY_UNIT ILcdDAFIFTACANFeature.FREQUENCY, ILcdDAFIFTACANFeature.FREQUENCY_UNIT ILcdNDBFeature.FREQUENCY, ILcdNDBFeature.FREQUENCY_UNIT ILcdVORFeature.FREQUENCY, ILcdVORFeature.FREQUENCY_UNIT
  • CHANNEL: ILcdDAFIFDMEFeature.CHANNEL, ILcdDAFIFTACANFeature.CHANNEL

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 navaids the key features are:

See Also:
  • Constructor Details

    • TLcdDAFIFNavaidDecoder

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

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

      @Deprecated public TLcdDAFIFNavaidDecoder(ALcdAISObjectFactory aFactory, Properties aDAFIFProperties)
      Deprecated.
      Constructs a new TLcdDAFIFNavaidDecoder object. The user should specify which domainFactory he or she wants to use to create the navaids.
      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
    • TLcdDAFIFNavaidDecoder

      public TLcdDAFIFNavaidDecoder(TLcdAISDataObjectFactory aFactory, Properties aDAFIFProperties)
      Constructs a new TLcdDAFIFNavaidDecoder object. The user should specify which domainFactory he or she wants to use to create the navaids.
      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

    • 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.
    • 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
    • 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
    • setVORDefaultDisplayNameIndex

      public void setVORDefaultDisplayNameIndex(int aIndex)
      Specifies the index of the feature to be the VOR display name.
      Parameters:
      aIndex - the index of the feature to be used as display name
    • setTACANDefaultDisplayNameIndex

      public void setTACANDefaultDisplayNameIndex(int aIndex)
      Specifies the index of the feature to be the TACAN display name.
      Parameters:
      aIndex - the index of the feature to be used as display name
    • setDMEDefaultDisplayNameIndex

      public void setDMEDefaultDisplayNameIndex(int aIndex)
      Specifies the index of the feature to be the DME display name.
      Parameters:
      aIndex - the index of the feature to be used as display name
    • setNDBDefaultDisplayNameIndex

      public void setNDBDefaultDisplayNameIndex(int aIndex)
      Specifies the index of the feature to be the NDB display name.
      Parameters:
      aIndex - the index of the feature to be used as display name
    • setVORFeaturesToBeDecoded

      public void setVORFeaturesToBeDecoded(String[] aVORFeaturesToBeDecoded)
      Specifies the features that should be decoded into the VOR objects of the model that will be returned by the decode method.

      Please make sure that the IDENTIFIER, TYPE, COUNTRY_CODE and KEY_CODE features are in your list.

      Parameters:
      aVORFeaturesToBeDecoded - a list of features that should be decoded into the VOR objects
    • setTACANFeaturesToBeDecoded

      public void setTACANFeaturesToBeDecoded(String[] aTACANFeaturesToBeDecoded)
      Specifies the features that should be decoded into the TACAN objects of the model that will be returned by the decode method.

      Please make sure that the IDENTIFIER, TYPE, COUNTRY_CODE and KEY_CODE features are in your list.

      Parameters:
      aTACANFeaturesToBeDecoded - a list of features that should be decoded into the TACAN objects
    • setNDBFeaturesToBeDecoded

      public void setNDBFeaturesToBeDecoded(String[] aNDBFeaturesToBeDecoded)
      Specifies the features that should be decoded into the NDB objects of the model that will be returned by the decode method.

      Please make sure that the IDENTIFIER, TYPE, COUNTRY_CODE and KEY_CODE features are in your list.

      Parameters:
      aNDBFeaturesToBeDecoded - a list of features that should be decoded into the NDB objects
    • setDMEFeaturesToBeDecoded

      public void setDMEFeaturesToBeDecoded(String[] aDMEFeaturesToBeDecoded)
      Specifies the features that should be decoded into the DME objects of the model that will be returned by the decode method.

      Please make sure that the IDENTIFIER, TYPE, COUNTRY_CODE and KEY_CODE features are in your list.

      Parameters:
      aDMEFeaturesToBeDecoded - a list of features that should be decoded into the DME objects