Package jmri.jmrix
Class NetMessage
java.lang.Object
jmri.jmrix.NetMessage
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
Mx1Message
Represents a single general command or response.
Content is represented with ints to avoid the problems with sign-extension that bytes have, and because a Java char is actually a variable number of bytes in Unicode.
Both a set of indexed contents, an opcode, and a length field are available. Different implementations will map the opcode and length into the contents in different ways. They may not appear at all...
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionNetMessage(int len) Create a new object, representing a specific-length message. -
Method Summary
Modifier and TypeMethodDescriptionabstract booleancheck whether the message has a valid parityintgetElement(int n) intGet length, including op code and error-detection byteintGet a String representation of the op code in hex.protected static inthighByte(int val) protected static intlowByte(int val) voidsetElement(int n, int v) voidsetOpCode(int i) abstract voidSet parity to be correct for this implementation.toString()Get a String representation of the entire message in hex.
-
Constructor Details
-
NetMessage
Create a new object, representing a specific-length message.- Parameters:
len- Total bytes in message, including opcode and error-detection byte.
-
-
Method Details
-
setOpCode
-
getOpCode
-
getOpCodeHex
Get a String representation of the op code in hex.- Returns:
- string of Opcode, 0x format.
-
getNumDataElements
Get length, including op code and error-detection byte- Returns:
- total number of data elements.
-
getElement
-
setElement
-
toString
Get a String representation of the entire message in hex. This is not intended to be human-readable! -
checkParity
check whether the message has a valid parity- Returns:
- true if parity valid, else false.
-
setParity
Set parity to be correct for this implementation. Note that parity is really a stand-in for whatever error checking, etc needs to be done -
lowByte
-
highByte
-