Class TLcdDAFIFTIndependentAerodromeNavaidDecoder

All Implemented Interfaces:
ILcdInputStreamFactoryCapable, ILcdModelDecoder

public class TLcdDAFIFTIndependentAerodromeNavaidDecoder extends TLcdDAFIFTAerodromeNavaidDecoder
This extension of the TLcdDAFIFTAerodromeNavaidDecoder class can be used to produce a model without having to specify a navaid model first. The decoded models have as model descriptor an instance of TLcdDAFIFAerodromeNavaidModelListDescriptor.

The TLcdDAFIFTIndependentAerodromeNavaidDecoder will decode the navaids himself. The navaids in the final model will be retrieved from the resulting model list.

To decode the navaid model list, the TLcdDAFIFTIndependentAerodromeNavaidDecoder will look for a navaid source file in the source directory to be decoded. If no navaid source file is found in this directory, or the navaid source file does not cover the aerodrome-navaid source file, exceptions will occur during the decode process.

Since:
7.2
See Also:
  • Constructor Details

    • TLcdDAFIFTIndependentAerodromeNavaidDecoder

      @Deprecated public TLcdDAFIFTIndependentAerodromeNavaidDecoder(ALcdAISObjectFactory aDomainFactory)
      Deprecated.
      Creates a new TLcdDAFIFTIndependentAerodromeNavaidDecoder object. The user should specify which aDomainFactory he or she wants to use to create the navaids.

      Please note that the specified aDomainFactory must not be null!!

      Parameters:
      aDomainFactory - The factory to be used to create the model objects.
    • TLcdDAFIFTIndependentAerodromeNavaidDecoder

      public TLcdDAFIFTIndependentAerodromeNavaidDecoder(TLcdAISDataObjectFactory aDomainFactory)
      Creates a new TLcdDAFIFTIndependentAerodromeNavaidDecoder object. The user should specify which aDomainFactory he or she wants to use to create the navaids.

      Please note that the specified aDomainFactory must not be null!!

      Parameters:
      aDomainFactory - The factory to be used to create the model objects.
  • Method Details

    • canDecodeSource

      public boolean canDecodeSource(String aSource)
      Tests whether the canDecodeSource method of all decoders on which this decoder depends on, return true.
      Specified by:
      canDecodeSource in interface ILcdModelDecoder
      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

      public ILcdModel decode(String aSource) throws IOException
      Creates a navaid model list before starting the decode process. This navaid model list will be decoded using the specified source. After the navaid model list is created, the decode method of the super class (TLcdDAFIFTAerodromeNavaidDecoder.decode(String)) is called.
      Specified by:
      decode in interface ILcdModelDecoder
      Overrides:
      decode in class TLcdDAFIFTAerodromeNavaidDecoder
      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 navaid model could be created.
      See Also:
    • getUniqueKeyFeatureNames

      public String[] getUniqueKeyFeatureNames(int aIndex)
      Returns for the given submodel the array of String objects containing the names of the features that will be used as a unique key to insert objects into the submodel.
      Parameters:
      aIndex - The index of the submodel whose unique key feature names are being retrieved.
      Returns:
      for the given submodel the unique key feature names.
    • getDomainFactory

      @Deprecated public ALcdAISObjectFactory 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 public void setDomainFactory(ALcdAISObjectFactory aDomainFactory)
      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

      public TLcdAISDataObjectFactory getDataObjectFactory()
      Returns the factory that is used to create domain objects.
      Returns:
      the factory that is used to create domain objects.
      See Also:
    • setDataObjectFactory

      public void setDataObjectFactory(TLcdAISDataObjectFactory aFactory)
      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 not null, will NOT use their associated domain factory (see getDomainFactory()).

      Parameters:
      aFactory - The factory that will be used to create domain objects.
      See Also:
    • getInputStreamFactory

      public ILcdInputStreamFactory getInputStreamFactory()
      Returns the input stream factory that is currently used for creating the input streams for the given source names.
      Specified by:
      getInputStreamFactory in interface ILcdInputStreamFactoryCapable
      Returns:
      the input stream factory that is currently used.
      See Also:
    • setInputStreamFactory

      public void setInputStreamFactory(ILcdInputStreamFactory aInputStreamFactory)
      Sets the input stream factory that will be used for creating the input streams for the given source names.
      Specified by:
      setInputStreamFactory in interface ILcdInputStreamFactoryCapable
      Parameters:
      aInputStreamFactory - The input stream factory to be used.
      See Also:
    • getRecordFilter

      public ILcdDAFIFTRecordFilter getRecordFilter()
      Returns the record filter that is currently used.
      Returns:
      the record filter that is currently used.
      See Also:
    • setRecordFilter

      public void setRecordFilter(ILcdDAFIFTRecordFilter aRecordFilter)
      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

      public String 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.