Packet.java 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. @Override
  41. public String toString() {
  42. StringBuilder builder = new StringBuilder(payload.length);
  43. for (int i = 0; i < payload.length; ++i) {
  44. if (payload[i] < 32) {
  45. builder.append("{0x").append(payload[i]).append("}");
  46. } else {
  47. builder.append(Character.toString((char) payload[i]));
  48. }
  49. }
  50. return builder.toString();
  51. }
  52. }