predicate instead of boolean
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientRequestContext.java b/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientRequestContext.java index 9f4a566..fd10636 100644 --- a/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientRequestContext.java +++ b/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientRequestContext.java
@@ -25,6 +25,7 @@ import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.function.Predicate; import jakarta.ws.rs.core.Configuration; import jakarta.ws.rs.core.Cookie; @@ -200,15 +201,14 @@ * class or using its {@code toString} method if a header delegate is not available. * * @param name the message header. - * @param value the message header value. - * @param ignoreCase whether to ignore upper/lower case. + * @param valuePredicate value must fulfil this predicate. * @return {@code true} if and only if a header with the provided name exists having either the exact value or whose * comma-separated header string contains value as a whole word. * @see #getHeaders() * @see #getHeaderString(String) * @since 4.0 */ - public boolean containsHeaderString(String name, String value, boolean ignoreCase); + public boolean containsHeaderString(String name, Predicate<String> valuePredicate); /** * Get message date.
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientResponseContext.java b/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientResponseContext.java index f9f2549..6482152 100644 --- a/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientResponseContext.java +++ b/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientResponseContext.java
@@ -22,6 +22,7 @@ import java.util.Locale; import java.util.Map; import java.util.Set; +import java.util.function.Predicate; import jakarta.ws.rs.core.EntityTag; import jakarta.ws.rs.core.Link; @@ -92,15 +93,14 @@ * Checks whether a header with a specific name and value (or item of the comma-separated value list) exists. * * @param name the message header. - * @param value the message header value. - * @param ignoreCase whether to ignore upper/lower case. + * @param valuePredicate value must fulfil this predicate. * @return {@code true} if and only if a header with the provided name exists having either the exact value or whose * comma-separated header string contains value as a whole word. * @see #getHeaders() * @see #getHeaderString(String) * @since 4.0 */ - public boolean containsHeaderString(String name, String value, boolean ignoreCase); + public boolean containsHeaderString(String name, Predicate<String> valuePredicate); /** * Get the allowed HTTP methods from the Allow HTTP header.
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/container/ContainerRequestContext.java b/jaxrs-api/src/main/java/jakarta/ws/rs/container/ContainerRequestContext.java index c1efb79..36056f3 100644 --- a/jaxrs-api/src/main/java/jakarta/ws/rs/container/ContainerRequestContext.java +++ b/jaxrs-api/src/main/java/jakarta/ws/rs/container/ContainerRequestContext.java
@@ -23,6 +23,7 @@ import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.function.Predicate; import jakarta.ws.rs.core.Cookie; import jakarta.ws.rs.core.MediaType; @@ -232,15 +233,14 @@ * Checks whether a header with a specific name and value (or item of the comma-separated value list) exists. * * @param name the message header. - * @param value the message header value. - * @param ignoreCase whether to ignore upper/lower case. + * @param valuePredicate value must fulfil this predicate. * @return {@code true} if and only if a header with the provided name exists having either the exact value or whose * comma-separated header string contains value as a whole word. * @see #getHeaders() * @see #getHeaderString(String) * @since 4.0 */ - public boolean containsHeaderString(String name, String value, boolean ignoreCase); + public boolean containsHeaderString(String name, Predicate<String> valuePredicate); /** * Get message date.
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/container/ContainerResponseContext.java b/jaxrs-api/src/main/java/jakarta/ws/rs/container/ContainerResponseContext.java index 40f3e29..186ef4e 100644 --- a/jaxrs-api/src/main/java/jakarta/ws/rs/container/ContainerResponseContext.java +++ b/jaxrs-api/src/main/java/jakarta/ws/rs/container/ContainerResponseContext.java
@@ -24,6 +24,7 @@ import java.util.Locale; import java.util.Map; import java.util.Set; +import java.util.function.Predicate; import jakarta.ws.rs.core.EntityTag; import jakarta.ws.rs.core.Link; @@ -122,15 +123,14 @@ * class or using its {@code toString} method if a header delegate is not available. * * @param name the message header. - * @param value the message header value. - * @param ignoreCase whether to ignore upper/lower case. + * @param valuePredicate value must fulfil this predicate. * @return {@code true} if and only if a header with the provided name exists having either the exact value or whose * comma-separated header string contains value as a whole word. * @see #getHeaders() * @see #getHeaderString(String) * @since 4.0 */ - public boolean containsHeaderString(String name, String value, boolean ignoreCase); + public boolean containsHeaderString(String name, Predicate<String> valuePredicate); /** * Get the allowed HTTP methods from the Allow HTTP header.
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/core/HttpHeaders.java b/jaxrs-api/src/main/java/jakarta/ws/rs/core/HttpHeaders.java index 7233a1c..8a4c0cc 100644 --- a/jaxrs-api/src/main/java/jakarta/ws/rs/core/HttpHeaders.java +++ b/jaxrs-api/src/main/java/jakarta/ws/rs/core/HttpHeaders.java
@@ -20,6 +20,7 @@ import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.function.Predicate; /** * An injectable interface that provides access to HTTP header information. All methods throw @@ -68,15 +69,14 @@ * class or using its {@code toString} method if a header delegate is not available. * * @param name the message header. - * @param value the message header value. - * @param ignoreCase whether to ignore upper/lower case. + * @param valuePredicate value must fulfil this predicate. * @return {@code true} if and only if a header with the provided name exists having either the exact value or whose * comma-separated header string contains value as a whole word. * @see #getRequestHeaders() * @see #getHeaderString(String) * @since 4.0 */ - public boolean containsHeaderString(String name, String value, boolean ignoreCase); + public boolean containsHeaderString(String name, Predicate<String> valuePredicate); /** * Get the values of HTTP request headers. The returned Map is case-insensitive wrt. keys and is read-only. The method