Class PacketSourceFilter

java.lang.Object
org.ka2ddo.yaac.filter.Filter
org.ka2ddo.yaac.filter.PacketSourceFilter
All Implemented Interfaces:
Cloneable

public class PacketSourceFilter extends Filter implements Cloneable
This filter selects packets and messages based on which interface port the message entered YAAC through. All open ports that have capability CAP_RCV_PACKET_DATA will show up on the filter's port list, as well as the null source (which represents loading messages from a file).
Author:
Andrew Pavlin, KA2DDO
  • Constructor Details

    • PacketSourceFilter

      public PacketSourceFilter()
      Create a Filter that selects packets and stations based on which YAAC input port they are received through.
  • Method Details

    • getFilterTypeTagName

      public String getFilterTypeTagName()
      Report a tag name used to look up the labelling for an editor panel for this editor instance in a ResourceBundle of translated names.
      Specified by:
      getFilterTypeTagName in class Filter
      Returns:
      String to use in looking up form label for this filter's editor
    • getFilterHelpTagName

      public String getFilterHelpTagName()
      Report a tag name used to look up JavaHelp for a filter editor.
      Specified by:
      getFilterHelpTagName in class Filter
      Returns:
      String name (as defined in HelpMap.jhm) for this filter's online help, or null if there is no filter specific help
    • getFilterUIName

      public String getFilterUIName()
      Get the class name of a dynamically loadable class for the the GUI for this filter. The name is allowed to have a wildcard '*' in it where a GUI type ("gui" for standard Java or "android" for Android) can be substituted.
      Specified by:
      getFilterUIName in class Filter
      Returns:
      String name of GUI class for this filter
    • getEnableHistory

      public Boolean getEnableHistory(Object key)
      Report whether messages from a particular port should be viewable.
      Parameters:
      key - Port identifier
      Returns:
      Boolean true or false to enable or disable viewing, or null if not yet specified.
    • setEnableHistory

      public void setEnableHistory(Object key, Boolean value)
      Specify whether messages from a port should be passed.
      Parameters:
      key - Port identifier
      value - Boolean true or false to enable or disable messages from this port
    • acceptStation

      public int acceptStation(StationState ss)
      Indicate whether the specified station should be displayed. The acceptMessage() method is called to assist in the determination.
      Specified by:
      acceptStation in class Filter
      Parameters:
      ss - StationState record to analyze
      Returns:
      RESULT_xxx constant indicating if station information should be displayed
    • acceptMessage

      public int acceptMessage(AX25Message msg)
      Indicate whether the specified message should be displayed or used to determine if a station should be displayed (if recursively called from acceptStation()).
      Specified by:
      acceptMessage in class Filter
      Parameters:
      msg - the APRS Message record to analyze
      Returns:
      RESULT_xxx constant indicating if message information should be displayed
    • acceptAX25Frame

      public int acceptAX25Frame(AX25Frame frame)
      Indicate whether the specified message should be displayed.
      Specified by:
      acceptAX25Frame in class Filter
      Parameters:
      frame - the timestamped AX25 frame record to analyze
      Returns:
      RESULT_xxx constant indicating if message information should be displayed
    • addFilterChangeListener

      public void addFilterChangeListener(FilterChangeListener l)
      Register a listener for changes of this Filter.
      Specified by:
      addFilterChangeListener in class Filter
      Parameters:
      l - FilterChangeListener to register
    • removeFilterChangeListener

      public void removeFilterChangeListener(FilterChangeListener l)
      Deregisters a listener. The listener will no longer be informed of changes to this filter.
      Specified by:
      removeFilterChangeListener in class Filter
      Parameters:
      l - FilterChangeListener to deregister
    • setToPassall

      public void setToPassall()
      Reset the filter to a configuration that would pass the maximum amount of messages, packets, and stations.
      Specified by:
      setToPassall in class Filter
    • canRejectSome

      public boolean canRejectSome()
      Specifies that this filter may reject some stations, messages, and/or frames. Used to tell combining filters whether a sub-filter is in passall mode and therefore doesn't need to be checked for every call to the combiner, thereby saving CPU time when filtering when most filters are in passall mode.
      Overrides:
      canRejectSome in class Filter
      Returns:
      boolean true if this filter is currently capable of rejecting something
      See Also:
    • clone

      public Object clone() throws CloneNotSupportedException
      Creates and returns a copy of this object. The precise meaning of "copy" may depend on the class of the object. The general intent is that, for any object x, the expression:
       x.clone() != x
      will be true, and that the expression:
       x.clone().getClass() == x.getClass()
      will be true, but these are not absolute requirements. While it is typically the case that:
       x.clone().equals(x)
      will be true, this is not an absolute requirement. By convention, the returned object should be obtained by calling super.clone. If a class and all of its superclasses (except Object) obey this convention, it will be the case that x.clone().getClass() == x.getClass(). By convention, the object returned by this method should be independent of this object (which is being cloned). To achieve this independence, it may be necessary to modify one or more fields of the object returned by super.clone before returning it. Typically, this means copying any mutable objects that comprise the internal "deep structure" of the object being cloned and replacing the references to these objects with references to the copies. If a class contains only primitive fields or references to immutable objects, then it is usually the case that no fields in the object returned by super.clone need to be modified.
      Overrides:
      clone in class Filter
      Returns:
      a clone of this instance.
      Throws:
      CloneNotSupportedException - if the object's class does not support the Cloneable interface. Subclasses that override the clone method can also throw this exception to indicate that an instance cannot be cloned.
      See Also: