Interface ILcdARINCHandler

All Known Implementing Classes:
TLcdARINCAerodromeHandler, TLcdARINCAirportCommunicationHandler, TLcdARINCControlledAirspaceHandler, TLcdARINCDMEHandler, TLcdARINCEnrouteAirwayHandler, TLcdARINCEnrouteCommunicationHandler, TLcdARINCFIRUIRHandler, TLcdARINCHeliportCommunicationHandler, TLcdARINCHeliportHandler, TLcdARINCHoldingHandler, TLcdARINCLocalizerGlideSlopeHandler, TLcdARINCMarkerHandler, TLcdARINCMinimumSectorAltitudeHandler, TLcdARINCMORAHandler, TLcdARINCNDBHandler, TLcdARINCProcedureHandler, TLcdARINCRestrictiveAirspaceHandler, TLcdARINCRunwayHandler, TLcdARINCTACANHandler, TLcdARINCVORHandler, TLcdARINCWaypointHandler

public interface ILcdARINCHandler
An ILcdARINCHandler expects Arinc data record per record. It will decode only the records it can handle and create an ILcdModel with the decoded objects.

In order to use a handler to create a model, a user should

  • first reset the internal state of the handler by calling the newModel method,
  • present each record found in the data source to the handler by calling the handleRecord method,
  • call the getModel method to obtain the model.

Optionally, the user can specify

  • the factory to be used to create the domain objects,
  • an initial bounds for the model being created,
  • a bounds to filter the objects before they are stored in the model; only objects whose bounds interact with the given bounds will be retained.

  • Method Details

    • newModel

      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.

      The user should call this method before using this handler in a decoding process.

      Parameters:
      aSource - the name of the source that will be handled
      aErrorMessage - for each irregular situation during the decoding, a report should be added to this object
    • handleRecord

      void handleRecord(char[] aRecord)
      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:
    • getModel

      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.
      Returns:
      the model build by this handler
    • setDomainFactory

      @Deprecated void setDomainFactory(ALcdAISObjectFactory aDomainFactory)
      Specifies the domainFactory to be used to create domain objects.

      The given domainFactory must not be null.

      Parameters:
      aDomainFactory - the domainFactory to be used to create domain objects
      See Also:
    • getDomainFactory

      @Deprecated ALcdAISObjectFactory getDomainFactory()
      Returns the domainFactory to be used to create domain objects.
      Returns:
      the domainFactory to be used to create domain objects
      See Also:
    • setDataObjectFactory

      void setDataObjectFactory(TLcdAISDataObjectFactory aFactory)
      Specifies the factory to be used to create domain objects.

      The given factory must not be null.

      Parameters:
      aFactory - the domainFactory to be used to create domain objects
      See Also:
    • getDataObjectFactory

      TLcdAISDataObjectFactory getDataObjectFactory()
      Returns the factory to be used to create domain objects.
      Returns:
      the factory to be used to create domain objects
      See Also:
    • setInitialBounds

      void setInitialBounds(ILcdBounds aInitialBounds)
      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.

      Parameters:
      aInitialBounds - the initial bounds for the model created by this handler
    • getInitialBounds

      ILcdBounds getInitialBounds()
      Returns the bounds to be used as initial bounds for the model created by this handler.
      Returns:
      bounds to be used as initial bounds for the model created by this handler
      See Also:
    • setBoundsToFilterOn

      void setBoundsToFilterOn(ILcdBounds aBoundsToFilterOn)
      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.

      Parameters:
      aBoundsToFilterOn - the bounds to be used as a filter
    • getBoundsToFilterOn

      ILcdBounds getBoundsToFilterOn()
      Returns the (geodetic) bounds that will be used as a filter on the model created by this handler.
      Returns:
      the bounds that will be used as a filter on the model created by this handler
      See Also:
    • setStoreOriginalReference

      void setStoreOriginalReference(boolean aStoreRef)
      If true, the decoder will store the original geodetic datum of each domain object in a feature.
      Parameters:
      aStoreRef - specifies if the decoder must store the original geodetic datum of each domain object in a feature.
    • isStoreOriginalReference

      boolean isStoreOriginalReference()
      If true, the decoder will store the original geodetic datum of each domain object in a feature.
      Returns:
      whether the decoder will store the original geodetic datum of each domain object in a feature.
    • setARINCModelFilter

      void setARINCModelFilter(ILcdARINCModelFilter aFilter)
      Specifies a filter to be used while creating the model. Only model objects that pass through the filter will be in the resulting model.
      Parameters:
      aFilter - an ILcdARINCModelFilter to filter the model objects