summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Chang <vichang@google.com>2024-01-23 16:38:43 +0000
committerVictor Chang <vichang@google.com>2024-01-23 16:38:43 +0000
commited499e64f2e8ac0cc3f7c8fbc87c1b28fb4fc185 (patch)
tree80edb8d9954d3f5b0b28eabc4ea260dc6557e4e0
parent40c04d072763fea71b44fcdb3a3b7059671f3d45 (diff)
downloadnist-sip-ed499e64f2e8ac0cc3f7c8fbc87c1b28fb4fc185.tar.gz
Update SIPHeaderList to inherit SequencedCollection added in OpenJDK 21
java.util.List now extends SequencedCollection interface. java language doesn't allow overloading a super-interface's method with an incompatible return type. In order to expose SequencedCollection API in the build time, SIPHeaderList needs to be updated to return a compatible return type. Bug: 320460092 Test: m droid Change-Id: Iea134996c36b670964c614a01e1f2cb26a76082e
-rw-r--r--java/gov/nist/javax/sip/header/SIPHeaderList.java21
1 files changed, 12 insertions, 9 deletions
diff --git a/java/gov/nist/javax/sip/header/SIPHeaderList.java b/java/gov/nist/javax/sip/header/SIPHeaderList.java
index d11506a..f248303 100644
--- a/java/gov/nist/javax/sip/header/SIPHeaderList.java
+++ b/java/gov/nist/javax/sip/header/SIPHeaderList.java
@@ -208,7 +208,7 @@ public abstract class SIPHeaderList<HDR extends SIPHeader> extends SIPHeader imp
*
* @return SIPHeader first element of the list.
*/
- public Header getFirst() {
+ public HDR getFirst() {
if (hlist == null || hlist.isEmpty())
return null;
else
@@ -220,7 +220,7 @@ public abstract class SIPHeaderList<HDR extends SIPHeader> extends SIPHeader imp
*
* @return SIPHeader last element of the list.
*/
- public Header getLast() {
+ public HDR getLast() {
if (hlist == null || hlist.isEmpty())
return null;
return hlist.get(hlist.size() - 1);
@@ -277,18 +277,21 @@ public abstract class SIPHeaderList<HDR extends SIPHeader> extends SIPHeader imp
/**
* Remove the first element of this list.
*/
- public void removeFirst() {
- if (hlist.size() != 0)
- hlist.remove(0);
-
+ public HDR removeFirst() {
+ if (hlist.size() != 0) {
+ return hlist.remove(0);
+ }
+ return null;
}
/**
* Remove the last element of this list.
*/
- public void removeLast() {
- if (hlist.size() != 0)
- hlist.remove(hlist.size() - 1);
+ public HDR removeLast() {
+ if (hlist.size() != 0) {
+ return hlist.remove(hlist.size() - 1);
+ }
+ return null;
}
/**