Packet.java 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package de.tudarmstadt.informatik.hostage.wrapper;
  2. /**
  3. * Wrapper class for the payload of a network packet.
  4. *
  5. * @author Mihai Plasoianu
  6. */
  7. public class Packet {
  8. private byte[] payload;
  9. /**
  10. * Constructs Packet from byte[]
  11. *
  12. * @param payload
  13. * The byte[] payload
  14. */
  15. public Packet(byte[] payload) {
  16. this.payload = payload;
  17. }
  18. /**
  19. * Constructs Packet from String
  20. *
  21. * @param payload
  22. * The String payload
  23. */
  24. public Packet(String payload) {
  25. this.payload = payload.getBytes();
  26. }
  27. /**
  28. * Returns a byte[] representation of the payload.
  29. *
  30. * @return byte[] representation.
  31. */
  32. public byte[] getBytes() {
  33. return payload;
  34. }
  35. /**
  36. * Returns a String representation of the payload.
  37. *
  38. * @return String representation.
  39. */
  40. public String getString() {
  41. StringBuilder builder = new StringBuilder(payload.length);
  42. for (int i = 0; i < payload.length; ++i) {
  43. if (payload[i] < 32) {
  44. builder.append("{0x").append(payload[i]).append("}");
  45. } else {
  46. builder.append(Character.toString((char) payload[i]));
  47. }
  48. }
  49. return builder.toString();
  50. }
  51. }