Package org.ka2ddo.yaac.filter
Class DestinationFilter
java.lang.Object
org.ka2ddo.yaac.filter.Filter
org.ka2ddo.yaac.filter.DestinationFilter
- All Implemented Interfaces:
Cloneable
,DestinationListener
,MonitoringFilter
,PersistingFilter
public class DestinationFilter
extends Filter
implements MonitoringFilter, DestinationListener, Cloneable, PersistingFilter
This filter selects messages based on their destination AX.25 address. This is
used to support altnets and searching for stations of a particular type (software and/or hardware).
- Author:
- Andrew Pavlin, KA2DDO
-
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
-
Method Summary
Modifier and TypeMethodDescriptionint
acceptAX25Frame
(AX25Frame ax25Frame) 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.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.void
destinationAdded
(String destination, int index) Inform listener that a new destination (tocall) has been registered.void
destinationUsedAgain
(String destination) Inform listener that an already-known destination (tocall) has updated its statistics count.void
fireFilterChange
(boolean changedByUser) Tell all registered FilterChangeListeners that this DestinationFilter has changed.Get a copy of the indexed list of known destinations.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.boolean
Report whether all destinations are accepted by this filter.boolean
Report if Mic-E destinations (encoded latitude, etc.) should be accepted.void
Deregisters a listener.void
setAcceptAllDests
(boolean acceptAllDests) Specify whether all destinations are accepted by this filter.void
setPrefPrefix
(String prefPrefix) Change the persisted parameter prefix for this Filter instance.void
Reset the filter to a configuration that would pass the maximum amount of messages, packets, and stations.void
setWillAcceptMicE
(boolean willAcceptMicE) Specify if Mic-E destinations (encoded latitude, etc.) should be accepted.void
Start automatically collecting destination callsigns as YAAC learns about them.void
Stop automatically collecting new destination callsigns and keep the current cache stable.
-
Constructor Details
-
DestinationFilter
public DestinationFilter()Create a new instance of DestinationFilter.
-
-
Method Details
-
setPrefPrefix
Change the persisted parameter prefix for this Filter instance.- Specified by:
setPrefPrefix
in interfacePersistingFilter
- Parameters:
prefPrefix
- prefix String (can be empty string "") or null to indicate this filter should not be persisted
-
startRealTimeTracking
public void startRealTimeTracking()Start automatically collecting destination callsigns as YAAC learns about them.- Specified by:
startRealTimeTracking
in interfaceMonitoringFilter
-
stopRealTimeTracking
public void stopRealTimeTracking()Stop automatically collecting new destination callsigns and keep the current cache stable.- Specified by:
stopRealTimeTracking
in interfaceMonitoringFilter
-
isAcceptAllDests
public boolean isAcceptAllDests()Report whether all destinations are accepted by this filter.- Returns:
- boolean true if this filter always accepts everything
-
setAcceptAllDests
public void setAcceptAllDests(boolean acceptAllDests) Specify whether all destinations are accepted by this filter.- Parameters:
acceptAllDests
- boolean true if this filter always accepts everything
-
isWillAcceptMicE
public boolean isWillAcceptMicE()Report if Mic-E destinations (encoded latitude, etc.) should be accepted.- Returns:
- boolean true if this filter accepts MicE messages
-
setWillAcceptMicE
public void setWillAcceptMicE(boolean willAcceptMicE) Specify if Mic-E destinations (encoded latitude, etc.) should be accepted.- Parameters:
willAcceptMicE
- boolean true if this filter accepts MicE messages
-
getDestinationCache
Get a copy of the indexed list of known destinations.- Returns:
- reference to the destination cache
-
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
-
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:
ax25Frame
- 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.- Specified by:
acceptStation
in classFilter
- Parameters:
ss
- StationState record to analyze- Returns:
- RESULT_xxx constant indicating if station information should be displayed
-
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:
-
fireFilterChange
public void fireFilterChange(boolean changedByUser) Tell all registered FilterChangeListeners that this DestinationFilter has changed.- Parameters:
changedByUser
- boolean true if change was manually initiated by the user, false if from automatic data collection
-
destinationAdded
Inform listener that a new destination (tocall) has been registered.- Specified by:
destinationAdded
in interfaceDestinationListener
- Parameters:
destination
- String callsign or tocall of the AX.25 destination (or original destination if Tx I-gated)index
- zero-based index of new entry in the list of destinations
-
destinationUsedAgain
Inform listener that an already-known destination (tocall) has updated its statistics count.- Specified by:
destinationUsedAgain
in interfaceDestinationListener
- Parameters:
destination
- String callsign or tocall of the AX.25 destination (or original destination if Tx I-gated)
-
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:
-