Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.ka2ddo.yaac.filter
Class RadiusFilter

    java.lang.Object
      org.ka2ddo.yaac.filter.Filter
          org.ka2ddo.yaac.filter.RadiusFilter

All Implemented Interfaces:
  java.lang.Cloneable, PersistingFilter

    public class RadiusFilter

extends Filter
implements java.lang.Cloneable, PersistingFilter

This class implements a filter based on radius from a specified location (defaulting to the beacon location for the station).

Field Summary
`StationTracker` | `TRACKER`

Fields inherited from class org.ka2ddo.yaac.filter.Filter
`RESULT_NEUTRAL, RESULT_PASS, RESULT_REJECT, RESULT_WEAK_PASS, RESULT_WEAK_REJECT`

Constructor Summary
`RadiusFilter(java.lang.String prefPrefix)` Create a RadiusFilter instance with the specified prefix for the persistence parameter names.

Method Summary
`int` | `acceptAX25Frame(AX25Frame frame)` Indicate whether the specified message should be displayed.
`int` | `acceptLatLon(double lat, double lon)`
`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.
`java.lang.Object` | `clone()` Creates and returns a copy of this object.
`protected void` | `fireFilterChange()`
`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.
`double` | `getLatitude()` Get the latitude center of this filter.
`double` | `getLongitude()` Get the longitude center of this filter.
`double` | `getRadiusInKM()` Get the current radius in kilometers.
`boolean` | `isEnabled()` Test if this RadiusFilter is enabled.
`boolean` | `isUseHome()` Test if this RadiusFilter will use the local station's current position or an explicitly configured position.
`void` | `removeFilterChangeListener(FilterChangeListener l)` Deregisters a listener.
`void` | `setEnabled(boolean enabled)` Specify whether this RadiusFilter is enabled.
`void` | `setLatitude(double latitude)` Programmatically change the center point latitude of this RadiusFilter.
`void` | `setLongitude(double longitude)` Programmatically change the center point longitude of this RadiusFilter.
`void` | `setPrefPrefix(java.lang.String prefPrefix)` Change the persisted parameter prefix for this instance of RadiusFilter.
`void` | `setRadiusInKM(double radiusInKM)` Set the current radius in kilometers.
`void` | `setToPassall()` Reset the filter to a configuration that would pass the maximum amount of messages, packets, and stations.
`void` | `setUseHome(boolean useHome)` Specify if this RadiusFilter will use the local station's current position or an explicitly configured position.

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### TRACKER

    public final StationTracker TRACKER

Constructor Detail

### RadiusFilter

    public RadiusFilter(java.lang.String prefPrefix)

  Create a RadiusFilter instance with the specified prefix for the persistence parameter names.

  Parameters:
    `prefPrefix` - prefix String (can be empty string "") or null to indicate this filter should not be persisted

Method Detail

### getFilterUIName

    public java.lang.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

### setPrefPrefix

    public void setPrefPrefix(java.lang.String prefPrefix)

  Change the persisted parameter prefix for this instance of RadiusFilter.

  Specified by:
    `setPrefPrefix` in interface `PersistingFilter`
  Parameters:
    `prefPrefix` - prefix String (can be empty string "") or null to indicate this filter should not be persisted

### getLatitude

    public double getLatitude()

  Get the latitude center of this filter.

  Returns:
    double latitude in fractional degrees North

### setLatitude

    public void setLatitude(double latitude)

  Programmatically change the center point latitude of this RadiusFilter.

  Parameters:
    `latitude` - latitude in fractional degrees North

### getLongitude

    public double getLongitude()

  Get the longitude center of this filter.

  Returns:
    double longitude in fractional degrees East

### setLongitude

    public void setLongitude(double longitude)

  Programmatically change the center point longitude of this RadiusFilter.

  Parameters:
    `longitude` - longitude in fractional degrees East

### isEnabled

    public boolean isEnabled()

  Test if this RadiusFilter is enabled.

  Returns:
    boolean true if filter will affect processed messages

### setEnabled

    public void setEnabled(boolean enabled)

  Specify whether this RadiusFilter is enabled.

  Parameters:
    `enabled` - boolean true if filter should affect processed messages

### 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`

### isUseHome

    public boolean isUseHome()

  Test if this RadiusFilter will use the local station's current position or an explicitly configured position.

  Returns:
    boolean true if the Radius Filter will use the current GPS position (if available) or the configured fixed beacon position, false if the explicitly configured position will be used

### setUseHome

    public void setUseHome(boolean useHome)

  Specify if this RadiusFilter will use the local station's current position or an explicitly configured position.

  Parameters:
    `useHome` - boolean true if the Radius Filter will use the current GPS position (if available) or the configured fixed beacon position, false if the explicitly configured position will be used

### getRadiusInKM

    public double getRadiusInKM()

  Get the current radius in kilometers.

  Returns:
    radius in kilometers

### setRadiusInKM

    public void setRadiusInKM(double radiusInKM)

  Set the current radius in kilometers.

  Parameters:
    `radiusInKM` - radius in kilometers

### acceptAX25Frame

    public int acceptAX25Frame(AX25Frame frame)

  Indicate whether the specified message should be displayed.

  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

### acceptLatLon

    public int acceptLatLon(double lat,
                            double lon)

### acceptMessage

    public int acceptMessage(AX25Message msg)

  Indicate whether the specified message should be displayed.

  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 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.

  Specified by:
    `getFilterTypeTagName` in class `Filter`
  Returns:
    String to use in looking up form label for this filter's editor

### getFilterHelpTagName

    public java.lang.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

### 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

### fireFilterChange

    protected void fireFilterChange()

### clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException

  Creates and returns a copy of this object. The precise meaning of "copy" may depend on the class of the object. The general intent is that, for any object `x`, the expression:

  >      x.clone() != x

  will be true, and that the expression:

  >      x.clone().getClass() == x.getClass()

  will be `true`, but these are not absolute requirements. While it is typically the case that:

  >      x.clone().equals(x)

  will be `true`, this is not an absolute requirement. By convention, the returned object should be obtained by calling `super.clone`. If a class and all of its superclasses (except `Object`) obey this convention, it will be the case that `x.clone().getClass() == x.getClass()`. By convention, the object returned by this method should be independent of this object (which is being cloned). To achieve this independence, it may be necessary to modify one or more fields of the object returned by `super.clone` before returning it. Typically, this means copying any mutable objects that comprise the internal "deep structure" of the object being cloned and replacing the references to these objects with references to the copies. If a class contains only primitive fields or references to immutable objects, then it is usually the case that no fields in the object returned by `super.clone` need to be modified.

  Overrides:
    `clone` in class `Filter`
  Returns:
    a clone of this instance.
  Throws:
    `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.
  See Also:
    `Cloneable`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD