1616
1717import com .amazon .sqs .javamessaging .message .SQSMessage ;
1818import jakarta .jms .JMSException ;
19- import lombok .EqualsAndHashCode ;
20- import lombok .Getter ;
21- import lombok .ToString ;
2219
2320/**
2421 * Identifies an SQS message, when (negative)acknowledging the message
2522 */
26- @ ToString (onlyExplicitlyIncluded = true )
27- @ EqualsAndHashCode (onlyExplicitlyIncluded = true )
28- @ Getter
2923public class SQSMessageIdentifier {
3024
3125 // The queueUrl where the message was sent or received from
32- @ ToString .Include
33- @ EqualsAndHashCode .Include
3426 private final String queueUrl ;
3527
3628 // The receipt handle returned after the delivery of the message from SQS
37- @ ToString .Include
38- @ EqualsAndHashCode .Include
3929 private final String receiptHandle ;
4030
4131 // The SQS message id assigned on send.
42- @ ToString .Include
43- @ EqualsAndHashCode .Include
4432 private final String sqsMessageId ;
4533
4634 // The group id to which the message belongs
@@ -63,4 +51,81 @@ public SQSMessageIdentifier(String queueUrl, String receiptHandle, String sqsMes
6351 public static SQSMessageIdentifier fromSQSMessage (SQSMessage sqsMessage ) throws JMSException {
6452 return new SQSMessageIdentifier (sqsMessage .getQueueUrl (), sqsMessage .getReceiptHandle (), sqsMessage .getSQSMessageId (), sqsMessage .getSQSMessageGroupId ());
6553 }
54+
55+ /**
56+ * Returns the queueUrl where the message was sent or received from.
57+ *
58+ * @return queueUrl
59+ */
60+ public String getQueueUrl () {
61+ return this .queueUrl ;
62+ }
63+
64+ /**
65+ * Returns the receipt handle returned after the delivery of the message
66+ * from SQS.
67+ *
68+ * @return receiptHandle
69+ */
70+ public String getReceiptHandle () {
71+ return this .receiptHandle ;
72+ }
73+
74+ /**
75+ * Returns the SQS message id assigned on send.
76+ *
77+ * @return sqsMessageId
78+ */
79+ public String getSQSMessageID () {
80+ return this .sqsMessageId ;
81+ }
82+
83+ /**
84+ * Returns the group id to which the message belongs. Non-null only for messages received from FIFO queues.
85+ *
86+ * @return groupId
87+ */
88+ public String getGroupId () {
89+ return this .groupId ;
90+ }
91+
92+ @ Override
93+ public int hashCode () {
94+ final int prime = 31 ;
95+ int result = 1 ;
96+ result = prime * result + ((queueUrl == null ) ? 0 : queueUrl .hashCode ());
97+ result = prime * result + ((receiptHandle == null ) ? 0 : receiptHandle .hashCode ());
98+ result = prime * result + ((sqsMessageId == null ) ? 0 : sqsMessageId .hashCode ());
99+ return result ;
100+ }
101+
102+ @ Override
103+ public boolean equals (Object obj ) {
104+ if (this == obj )
105+ return true ;
106+ if (obj == null )
107+ return false ;
108+ if (getClass () != obj .getClass ())
109+ return false ;
110+ SQSMessageIdentifier other = (SQSMessageIdentifier ) obj ;
111+ if (queueUrl == null ) {
112+ if (other .queueUrl != null )
113+ return false ;
114+ } else if (!queueUrl .equals (other .queueUrl ))
115+ return false ;
116+ if (receiptHandle == null ) {
117+ if (other .receiptHandle != null )
118+ return false ;
119+ } else if (!receiptHandle .equals (other .receiptHandle ))
120+ return false ;
121+ if (sqsMessageId == null ) {
122+ return other .sqsMessageId == null ;
123+ } else return sqsMessageId .equals (other .sqsMessageId );
124+ }
125+
126+ @ Override
127+ public String toString () {
128+ return "SQSMessageIdentifier [queueUrl=" + queueUrl + ", receiptHandle=" + receiptHandle +
129+ ", sqsMessageId=" + sqsMessageId + "]" ;
130+ }
66131}
0 commit comments