Package org.ka2ddo.yaac.filter
Class StationClassFilter
java.lang.Object
org.ka2ddo.yaac.filter.Filter
org.ka2ddo.yaac.filter.StationClassFilter
- All Implemented Interfaces:
Cloneable
This filter allows selecting stations and messages solely by category of sending
station. These are the categories used by Kenwood in their APRS-capable
transceivers, and the categories overlap.
- all stations (suppresses the rest of these filters)
- weather stations
- 1-way (transmit-only) stations
- Navitra stations (not yet implemented)
- Object and Item reports
- mobile stations
- digipeater stations
- other stations not meeting any of the above categories
- Author:
- Andrew Pavlin, KA2DDO
-
Nested Class Summary
Modifier and TypeClassDescriptionfinal class
Define a subfilter for a particular category of station. -
Field Summary
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 instance that selects messages, frames, or stations based on the category of their symbol. -
Method Summary
Modifier and TypeMethodDescriptionint
acceptAX25Frame
(AX25Frame frame) Indicate whether the specified message should be displayed.int
acceptMessage
(AX25Message msg) Indicate whether the specified message should be displayed.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.Get the set of editable per-category subfilters in this filter.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.void
Deregisters a listener.void
Reset the filter to a configuration that would pass the maximum amount of messages, packets, and stations.
-
Constructor Details
-
StationClassFilter
public StationClassFilter()Create a Filter instance that selects messages, frames, or stations based on the category of their symbol.
-
-
Method Details
-
getFilters
Get the set of editable per-category subfilters in this filter.- Returns:
- array of StationCategory objects
-
acceptAX25Frame
Indicate whether the specified message should be displayed.- 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.- 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. Note this checks the transmitted symbol for this station, not any alias defined by the local user.- 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 to use in looking up form label for this filter's editor
-
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
-
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
-
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:
-