org.ka2ddo.aprs
Class UltimeterRawMessage

java.lang.Object
  extended by org.ka2ddo.ax25.AX25Message
      extended by org.ka2ddo.aprs.Message
          extended by org.ka2ddo.aprs.UltimeterRawMessage
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<AX25Message>, CommentedMessage

public class UltimeterRawMessage
extends Message

This class represents a message decoded from a Peet Bros Ultimeter weather station (APRS protocol specification chapter 12).

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.ka2ddo.ax25.AX25Message
AX25Message.Precedence
 
Field Summary
 
Fields inherited from class org.ka2ddo.aprs.Message
comment, extensions, msgType, S_PERMANENT, S_PERMANENT_UC, symbolCode, symTableId, USASCII
 
Fields inherited from class org.ka2ddo.ax25.AX25Message
ax25Frame, invalid, ISO_8859_1, originatingCallsign, PERMANENT, rcptTime, thirdParty, timestamp, UTC, UTF8
 
Constructor Summary
UltimeterRawMessage(byte[] body, int offset, java.lang.String tp, long rcvTimestamp)
          Constructor for Ultimeter raw weather message when decoding a binary AX.25 frame.
 
Method Summary
 boolean isSymbolInferred()
          Report whether the non-null APRS symbol reported by this message is explicit or inferred from destination or source callsign.
static boolean parseWeatherLine(java.lang.String line, java.util.Map<java.lang.Enum,java.lang.Object> currentWeather, long msgRcptTime)
          Decode a line of text supposedly containing one of the Ultimeter weather station ASCII text formats, as documented on the Peet Bros website.
 
Methods inherited from class org.ka2ddo.aprs.Message
bodyEquals, compareTo, decodeDatestamp, decodeHurricaneParams, decodeTimestamp, decodeWeatherParams, decodeWeatherParams, dup, encodeTimestamp, extractComment, extractComment, extractSymbol, formatBody, getComment, getExtension, getExtensionString, getMsgType, getReadOnlyExtensionMap, getSymbolCode, getSymTableId, hasWeather, inferSymbol, looksLikeLongFormatLatitude, paramString, setComment, setSymbolCode, setSymTableId, storeExtension, toString
 
Methods inherited from class org.ka2ddo.ax25.AX25Message
equals, extractSource, getAx25Frame, getFirstDigipeat, getLastDigipeat, getOriginalDestination, getOriginalSource, getOriginatingCallsign, getPrecedence, getRcptTime, getTimestamp, hashCode, hasPosition, hasThisFirstDigi, indexOf, indexOf, isInvalid, onlyDigits, onlyDigits, onlyDigitsOrPeriod, onlyDigitsOrSpace, onlyDigitsPlus, onlyPeriods, setAx25Frame, setInvalid, setOriginatingCallsign, setRcptTime, setTimestamp, split
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

UltimeterRawMessage

public UltimeterRawMessage(byte[] body,
                           int offset,
                           java.lang.String tp,
                           long rcvTimestamp)
Constructor for Ultimeter raw weather message when decoding a binary AX.25 frame.

Parameters:
body - byte array of frame body
offset - int array index offset for start of message (non-zero for encapsulated messages)
tp - third-party relay String for encapsulated messages, or null for no third-party wrapper
rcvTimestamp - Unix time when message was actually received by YAAC
Method Detail

parseWeatherLine

public static boolean parseWeatherLine(java.lang.String line,
                                       java.util.Map<java.lang.Enum,java.lang.Object> currentWeather,
                                       long msgRcptTime)
Decode a line of text supposedly containing one of the Ultimeter weather station ASCII text formats, as documented on the Peet Bros website.

Parameters:
line - String containing a weather report
currentWeather - a Map to store the weather parameters in
msgRcptTime - time weather sentence was received in Java milliseconds since Jan 1 19780 UTC
Returns:
boolean true if message was successfully parsed

isSymbolInferred

public boolean isSymbolInferred()
Report whether the non-null APRS symbol reported by this message is explicit or inferred from destination or source callsign. Intended to be overridden by message types which can infer a symbol but can't explicitly specify the symbol.

Overrides:
isSymbolInferred in class Message
Returns:
boolean true if symbol is inferred