Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package DataTypes;
- import DataTypes.Type;
- public class Message {
- private static int counter;
- final private int bytenumber;
- final private int number;
- final private short length;
- final private short datalength;
- final private Type type;
- final private byte[] data;
- public String toString() {
- String output = toStringNoData()
- .concat("\nData:" +getDataAsHex());
- return output;
- }
- public String toStringNoData() {
- String output = ("Message#: " + getNumber())
- .concat("\tByte: " + getBytenumber())
- .concat(" \tLength: " + getLength())
- .concat("\tDatalength: " + getDatalength())
- .concat("\tType: " + getType().toString());
- return output;
- }
- public static void resetCounter() {
- counter = 1;
- }
- public int getBytenumber(){
- return this.bytenumber;
- }
- public int getNumber() {
- return this.number;
- }
- public short getLength() {
- return this.length;
- }
- public short getDatalength() {
- return this.datalength;
- }
- public Type getType() {
- return this.type;
- }
- public byte[] getData() {
- return this.data;
- }
- public byte getData(int i) {
- return this.data[i];
- }
- public String getDataAsText() {
- return (new String(getData(), 0, getDatalength()));
- }
- public String getDataAsHex() {
- String output = "";
- for (int i = 0; i < getDatalength(); i++) {
- output=output.concat(String.format("%02x",getData(i)));
- }
- return output;
- }
- public String getDataAsHex(int i) {
- return String.format("%#04x",getData(i));
- }
- public Message(int bytenumber, short length, byte type, byte[] data) {
- this.number = counter;
- this.bytenumber = bytenumber;
- this.length = length;
- this.type = new Type (type);
- this.data = data;
- this.datalength = (short) (length-2);
- counter++;
- }
- public Message(int bytenumber, byte[] message) {
- this.number = counter;
- this.bytenumber = bytenumber;
- this.length = (short) ((message[1]<<8 | message[0] & 0xFF)+2);
- this.datalength = (short) ((message[1]<<8 | message[0] & 0xFF)-1);
- this.type = new Type (message[2]);
- this.data = new byte[this.datalength];
- for (int i = 0;i < this.datalength;i++) {
- this.data[i] = message[i+3];
- }
- counter++;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement