1 package au.gov.amsa.ais; 2 3 public class Timestamped<T extends AisMessage> { 4 5 private final T message; 6 private final long time; 7 8 public Timestamped(T message, long time) { 9 this.message = message; 10 this.time = time; 11 } 12 13 public static <T extends AisMessage> Timestamped<T> create(T message , long time) { 14 return new Timestamped<T>(message, time); 15 } 16 17 public T message() { 18 return message; 19 } 20 21 public long time() { 22 return time; 23 } 24 25 @Override 26 public String toString() { 27 StringBuilder builder = new StringBuilder(); 28 builder.append("Timestamped [time="); 29 builder.append(time); 30 builder.append(", message="); 31 builder.append(message); 32 builder.append("]"); 33 return builder.toString(); 34 } 35 36 }