org.ka2ddo.ax25
Interface SendableMessage

All Superinterfaces:
java.io.Serializable
All Known Subinterfaces:
AprsSignableMessage, ScopeableMessage
All Known Implementing Classes:
BeaconData, DefaultMessage, MaidenheadLocatorBeacon, MessageMessage, MicE, ObjectReport, OpenTracMessage, PositionlessWeatherReport, PositionReport, Query, StationCapabilities, StatusData, StatusMessage

public interface SendableMessage
extends java.io.Serializable

This interface tags a decoded AX25Message that can be converted back to transmittable form.


Method Summary
 AX25Message dup()
          Creates and returns a copy of this Message.
 byte[] getBody(boolean countTransmission, byte protocolId, AX25Frame frame)
          Get an instance of this message, suitable for transmitting.
 boolean isEnabled()
          Test if message should still be transmitted.
 

Method Detail

getBody

byte[] getBody(boolean countTransmission,
               byte protocolId,
               AX25Frame frame)
Get an instance of this message, suitable for transmitting.

Parameters:
countTransmission - number of times the message has been transmitted.
protocolId - AX.25 protocol ID to generate the message in, or 0 for default protocol; currently, only NOLVL3 (APRS) and OPENTRAC are supported.
frame - AX25Frame into which the message will be placed; the decoded message (as opposed to the byte array encoding) should be stored into the field frame.parsedAX25Msg
Returns:
byte array of message, or null if message body cannot be generated in specified protocol, or retransmission count has been exceeded.
See Also:
AX25Frame.parsedAX25Msg

isEnabled

boolean isEnabled()
Test if message should still be transmitted.

Returns:
boolean true if message should still be transmitted

dup

AX25Message dup()
Creates and returns a copy of this Message. 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.

Returns:
a clone of this instance.