public class DestinationFilter extends Filter implements MonitoringFilter, DestinationListener, java.lang.Cloneable, PersistingFilter
RESULT_NEUTRAL, RESULT_PASS, RESULT_REJECT, RESULT_WEAK_PASS, RESULT_WEAK_REJECT
Constructor and Description |
---|
DestinationFilter()
Create a new instance of DestinationFilter.
|
Modifier and Type | Method and Description |
---|---|
int |
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 |
acceptStation(StationState ss)
Indicate whether the specified station should be displayed.
|
void |
addFilterChangeListener(FilterChangeListener l)
Register a listener for changes of this Filter.
|
boolean |
canRejectSome()
Specifies that this filter may reject some stations, messages, and/or frames.
|
java.lang.Object |
clone()
Creates and returns a copy of this object.
|
void |
destinationAdded(java.lang.String destination,
int index)
Inform listener that a new destination (tocall) has been registered.
|
void |
destinationUsedAgain(java.lang.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.
|
java.util.ArrayList<StationTracker.DestinationStatistics> |
getDestinationCache()
Get a copy of the indexed list of known destinations.
|
java.lang.String |
getFilterHelpTagName()
Report a tag name used to look up JavaHelp for a filter editor.
|
java.lang.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.
|
java.lang.String |
getFilterUIName()
Get the class name of a dynamically loadable class for the the GUI for this
filter.
|
boolean |
isAcceptAllDests()
Report whether all destinations are accepted by this filter.
|
boolean |
isWillAcceptMicE()
Report if Mic-E destinations (encoded latitude, etc.) should be accepted.
|
void |
removeFilterChangeListener(FilterChangeListener l)
Deregisters a listener.
|
void |
setAcceptAllDests(boolean acceptAllDests)
Specify whether all destinations are accepted by this filter.
|
void |
setPrefPrefix(java.lang.String prefPrefix)
Change the persisted parameter prefix for this Filter instance.
|
void |
setToPassall()
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 |
startRealTimeTracking()
Start automatically collecting destination callsigns as YAAC learns about them.
|
void |
stopRealTimeTracking()
Stop automatically collecting new destination callsigns and keep the current cache stable.
|
public DestinationFilter()
public void setPrefPrefix(java.lang.String prefPrefix)
setPrefPrefix
in interface PersistingFilter
prefPrefix
- prefix String (can be empty string "") or null to indicate this filter should not be persistedpublic void startRealTimeTracking()
startRealTimeTracking
in interface MonitoringFilter
public void stopRealTimeTracking()
stopRealTimeTracking
in interface MonitoringFilter
public boolean isAcceptAllDests()
public void setAcceptAllDests(boolean acceptAllDests)
acceptAllDests
- boolean true if this filter always accepts everythingpublic boolean isWillAcceptMicE()
public void setWillAcceptMicE(boolean willAcceptMicE)
willAcceptMicE
- boolean true if this filter accepts MicE messagespublic java.util.ArrayList<StationTracker.DestinationStatistics> getDestinationCache()
public java.lang.String getFilterTypeTagName()
getFilterTypeTagName
in class Filter
public java.lang.String getFilterHelpTagName()
getFilterHelpTagName
in class Filter
public java.lang.String getFilterUIName()
getFilterUIName
in class Filter
public int acceptAX25Frame(AX25Frame ax25Frame)
acceptAX25Frame
in class Filter
ax25Frame
- the timestamped AX25 frame record to analyzepublic int acceptMessage(AX25Message msg)
acceptMessage
in class Filter
msg
- the APRS Message record to analyzepublic int acceptStation(StationState ss)
acceptStation
in class Filter
ss
- StationState record to analyzepublic void addFilterChangeListener(FilterChangeListener l)
addFilterChangeListener
in class Filter
l
- FilterChangeListener to registerpublic void removeFilterChangeListener(FilterChangeListener l)
removeFilterChangeListener
in class Filter
l
- FilterChangeListener to deregisterpublic void setToPassall()
setToPassall
in class Filter
public boolean canRejectSome()
canRejectSome
in class Filter
setToPassall()
public void fireFilterChange(boolean changedByUser)
changedByUser
- boolean true if change was manually initiated by the user, false if from automatic data collectionpublic void destinationAdded(java.lang.String destination, int index)
destinationAdded
in interface DestinationListener
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 destinationspublic void destinationUsedAgain(java.lang.String destination)
destinationUsedAgain
in interface DestinationListener
destination
- String callsign or tocall of the AX.25 destination (or original destination if Tx I-gated)public java.lang.Object clone() throws java.lang.CloneNotSupportedException
clone
in class Filter
java.lang.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.Cloneable