public class LocalObjectTracker extends java.lang.Object implements AprsMessageListener, java.lang.Iterable<LocalObjectTracker.ObjectLink>
Modifier and Type | Class and Description |
---|---|
static interface |
LocalObjectTracker.LocalObjectListener
This interfaces defines an object that can be informed about changes to the ObjectReports
stored in the LocalObjectTracker,
|
static class |
LocalObjectTracker.ObjectLink
This class maintains an association between a local ObjectReport and the ObjectReportSender used
to transmit this object to the network (assuming that the Object is enabled for transmission).
|
Modifier and Type | Method and Description |
---|---|
void |
add(ObjectReport or)
Add another ObjectReport to the tracker, that does not currently have an ObjectReportSender.
|
void |
add(ObjectReportSender ors)
Add another ObjectReport to the tracker, that is currently encapsulated by an ObjectReportSender.
|
void |
addLocalObjectListener(LocalObjectTracker.LocalObjectListener l)
Register a listener to be informed of changes in the tracker.
|
void |
aprsMessageReceived(Message msg)
Delivers the next message received by YAAC that is an APRS message.
|
LocalObjectTracker.ObjectLink |
get(int index)
Get the Nth ObjectReport record in the tracker.
|
LocalObjectTracker.ObjectLink |
get(java.lang.String objectName)
Get the ObjectReport record in the tracker with a specified object name,
|
static LocalObjectTracker |
getInstance()
Get the singleton instance of the LocalObjectTracker.
|
int |
indexOf(java.lang.String objectName)
Get the zero-based index of the tracked ObjectReport with the specified name
|
boolean |
isSendKillOnObjDelete()
Get flag whether deleted live Objects should be transmitted as killed.
|
java.util.Iterator<LocalObjectTracker.ObjectLink> |
iterator()
Returns an iterator over elements of type
ObjectLink . |
void |
remove(java.lang.String objectName)
Stop tracking an ObjectReport with the specified name.
|
void |
removeLocalObjectListener(LocalObjectTracker.LocalObjectListener l)
Unregister a listener to be informed of changes in the tracker.
|
void |
setSendKillOnObjDelete(boolean sendKillOnObjDelete)
Set flag whether deleted live Objects should be transmitted as killed.
|
int |
size()
Report the number of ObjectReports currently being tracked.
|
public static LocalObjectTracker getInstance()
public void aprsMessageReceived(Message msg)
aprsMessageReceived
in interface AprsMessageListener
msg
- some subclass of Message containing the message contents; the message should have
an AX25Frame connected to itAX25Frame
,
AX25Message.ax25Frame
,
AX25Message.getAx25Frame()
public int size()
public LocalObjectTracker.ObjectLink get(int index) throws java.lang.IndexOutOfBoundsException
index
- zero-based index of record to fetchjava.lang.IndexOutOfBoundsException
- if index is negative or greater than the number of entries in the trackerpublic LocalObjectTracker.ObjectLink get(java.lang.String objectName)
objectName
- String of object namepublic void add(ObjectReport or)
or
- ObjectReport to addpublic void add(ObjectReportSender ors)
ors
- ObjectReportSender to addpublic void remove(java.lang.String objectName)
objectName
- String name of object to unregisterpublic java.util.Iterator<LocalObjectTracker.ObjectLink> iterator()
ObjectLink
.iterator
in interface java.lang.Iterable<LocalObjectTracker.ObjectLink>
public int indexOf(java.lang.String objectName)
objectName
- String name of ObjectReportpublic void addLocalObjectListener(LocalObjectTracker.LocalObjectListener l)
l
- LocalObjectListener to registerpublic void removeLocalObjectListener(LocalObjectTracker.LocalObjectListener l)
l
- LocalObjectListener to unregisterpublic boolean isSendKillOnObjDelete()
public void setSendKillOnObjDelete(boolean sendKillOnObjDelete)
sendKillOnObjDelete
- boolean true if deleted live Objects should be reported as killed