Class LocalStationFilter

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

public class LocalStationFilter extends Filter implements Cloneable
This filter optionally eliminates all messages from excessively distant stations.
Author:
Andrew Pavlin, KA2DDO
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Setting for LocalStationFilter stating that all stations are acceptable.
    static final int
    Setting for LocalStationFilter stating that only RF stations that did not use any digipeaters are acceptable.
    static final int
    Setting for LocalStationFilter stating that only RF stations within the configured hop count are acceptable.
    static final int
    Setting for LocalStationFilter stating that all RF stations are acceptable regardless of hop count.

    Fields inherited from class org.ka2ddo.yaac.filter.Filter

    RESULT_NEUTRAL, RESULT_PASS, RESULT_REJECT, RESULT_WEAK_PASS, RESULT_WEAK_REJECT
  • Constructor Summary

    Constructors
    Constructor
    Description
    Create a filter that can choose based on whether the sending station is RF-local to the receiving station.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Indicate whether the specified message should be displayed or used to determine if a station should be displayed (if recursively called from acceptStation()).
    int
    Indicate whether the specified message should be displayed or used to determine if a station should be displayed (if recursively called from acceptStation()).
    int
    Indicate whether the specified station should be displayed.
    void
    Register a listener for changes of this Filter.
    boolean
    Specifies that this filter may reject some stations, messages, and/or frames.
    Creates and returns a copy of this object.
    Report a tag name used to look up JavaHelp for a filter editor.
    Report a tag name used to look up the labelling for an editor panel for this editor instance in a ResourceBundle of translated names.
    Get the class name of a dynamically loadable class for the the GUI for this filter.
    int
    Report the current state of this filter.
    void
    Deregisters a listener.
    void
    setState(int state)
    Set the current filtering state of this filter.
    void
    Reset the filter to a configuration that would pass the maximum amount of messages, packets, and stations.

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • STATE_ALL

      public static final int STATE_ALL
      Setting for LocalStationFilter stating that all stations are acceptable.
      See Also:
    • STATE_LOCAL

      public static final int STATE_LOCAL
      Setting for LocalStationFilter stating that only RF stations within the configured hop count are acceptable.
      See Also:
    • STATE_DIRECT

      public static final int STATE_DIRECT
      Setting for LocalStationFilter stating that only RF stations that did not use any digipeaters are acceptable.
      See Also:
    • STATE_RF_ONLY

      public static final int STATE_RF_ONLY
      Setting for LocalStationFilter stating that all RF stations are acceptable regardless of hop count.
      See Also:
  • Constructor Details

    • LocalStationFilter

      public LocalStationFilter()
      Create a filter that can choose based on whether the sending station is RF-local to the receiving station.
  • Method Details

    • 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
    • acceptAX25Frame

      public int acceptAX25Frame(AX25Frame frame)
      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:
      acceptAX25Frame in class Filter
      Parameters:
      frame - the timestamped AX25 frame record to analyze
      Returns:
      RESULT_xxx constant indicating if message 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
    • acceptStation

      public int acceptStation(StationState ss)
      Indicate whether the specified station should be displayed.
      Specified by:
      acceptStation in class Filter
      Parameters:
      ss - StationState record to analyze
      Returns:
      RESULT_xxx constant indicating if station information should be displayed
    • 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 resource name
    • 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
    • getState

      public int getState()
      Report the current state of this filter.
      Returns:
      the current filtering level of the filter
      See Also:
    • setState

      public void setState(int state)
      Set the current filtering state of this filter.
      Parameters:
      state - the new filtering level of this filter, which must be one of the defined four filtering levels
      See Also:
    • 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.
      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: