diff options
author | Victor Chang <vichang@google.com> | 2024-01-23 16:38:43 +0000 |
---|---|---|
committer | Victor Chang <vichang@google.com> | 2024-01-23 16:38:43 +0000 |
commit | ed499e64f2e8ac0cc3f7c8fbc87c1b28fb4fc185 (patch) | |
tree | 80edb8d9954d3f5b0b28eabc4ea260dc6557e4e0 | |
parent | 40c04d072763fea71b44fcdb3a3b7059671f3d45 (diff) | |
download | nist-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.java | 21 |
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; } /** |