Package org.ka2ddo.yaac.filter
Class LocalStationFilter
java.lang.Object
org.ka2ddo.yaac.filter.Filter
org.ka2ddo.yaac.filter.LocalStationFilter
- All Implemented Interfaces:
Cloneable
This filter optionally eliminates all messages from excessively distant stations.
- Author:
- Andrew Pavlin, KA2DDO
-
Field Summary
Modifier and TypeFieldDescriptionstatic 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
ConstructorDescriptionCreate a filter that can choose based on whether the sending station is RF-local to the receiving station. -
Method Summary
Modifier and TypeMethodDescriptionint
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()).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()).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.clone()
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
getState()
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.
-
Field Details
-
STATE_ALL
public static final int STATE_ALLSetting for LocalStationFilter stating that all stations are acceptable.- See Also:
-
STATE_LOCAL
public static final int STATE_LOCALSetting for LocalStationFilter stating that only RF stations within the configured hop count are acceptable. -
STATE_DIRECT
public static final int STATE_DIRECTSetting 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_ONLYSetting 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
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 classFilter
- Returns:
- String name of GUI class for this filter
-
acceptAX25Frame
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 classFilter
- Parameters:
frame
- the timestamped AX25 frame record to analyze- Returns:
- RESULT_xxx constant indicating if message information should be displayed
-
acceptMessage
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 classFilter
- Parameters:
msg
- the APRS Message record to analyze- Returns:
- RESULT_xxx constant indicating if message information should be displayed
-
acceptStation
Indicate whether the specified station should be displayed.- Specified by:
acceptStation
in classFilter
- Parameters:
ss
- StationState record to analyze- Returns:
- RESULT_xxx constant indicating if station information should be displayed
-
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 classFilter
- Returns:
- String resource name
-
getFilterHelpTagName
Report a tag name used to look up JavaHelp for a filter editor.- Specified by:
getFilterHelpTagName
in classFilter
- 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
Register a listener for changes of this Filter.- Specified by:
addFilterChangeListener
in classFilter
- Parameters:
l
- FilterChangeListener to register
-
removeFilterChangeListener
Deregisters a listener. The listener will no longer be informed of changes to this filter.- Specified by:
removeFilterChangeListener
in classFilter
- 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 classFilter
-
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 classFilter
- Returns:
- boolean true if this filter is currently capable of rejecting something
- See Also:
-
clone
Creates and returns a copy of this object.- Overrides:
clone
in classFilter
- Returns:
- a clone of this instance.
- Throws:
CloneNotSupportedException
- if the object's class does not support theCloneable
interface. Subclasses that override theclone
method can also throw this exception to indicate that an instance cannot be cloned.- See Also:
-