changes based on the output of FindBugs
[lwes-java.git] / src / org / lwes / listener / DatagramQueueElement.java
blobbcc3c07e31b77602026140992b67c023d40a0091
1 package org.lwes.listener;
3 import java.net.DatagramPacket;
5 /**
6 * Element objects to use in the threaded queueing system. This encapsulates
7 * datagrams and timestamps.
9 * @author Michael P. Lum
12 public class DatagramQueueElement implements QueueElement {
13 private DatagramPacket packet = null;
14 private long timestamp = 0L;
16 /**
17 * Default constructor.
19 public DatagramQueueElement() {
22 /**
23 * Gets the datagram packet payload.
25 * @return the DatagramPacket
27 public DatagramPacket getPacket() {
28 return packet;
31 /**
32 * Sets the datagram packet payload
34 * @param packet
35 * the DatagramPacket
37 public void setPacket(DatagramPacket packet) {
38 this.packet = packet;
41 /**
42 * Gets the timestamp associated with this packet
44 * @return the timestamp
46 public long getTimestamp() {
47 return timestamp;
50 /**
51 * Sets the timestamp associated with this packet
53 * @param timestamp
54 * the timestamp
56 public void setTimestamp(long timestamp) {
57 this.timestamp = timestamp;
60 /**
61 * Resets this packet to null
63 public void clear() {
64 packet = null;
65 timestamp = 0x0L;
68 /**
69 * Determine equality with an object
70 * @param object the object to compare with
71 * @return true if the object is equal to this one, false if not
73 public boolean equals(Object object) {
74 if(object == null) return false;
76 if (object instanceof DatagramQueueElement)
77 return equals((DatagramQueueElement) object);
79 return false;
82 @Override
83 public int hashCode() {
84 int result = packet != null ? packet.hashCode() : 0;
85 result = 31 * result + (int) (timestamp ^ (timestamp >>> 32));
86 return result;
89 /**
90 * Determine equality with another DatagramQueueElement
91 * @param element the object to compare with
92 * @return true if the object is equal to this one, false if not
94 public boolean equals(DatagramQueueElement element) {
95 if (element == null)
96 return false;
97 if (element.getPacket() == null)
98 return false;
100 return ((element.getPacket().equals(this.packet)) && (element.timestamp == this.timestamp));