/** * Whether the native header map contains the give header name. */ public boolean containsNativeHeader(String headerName) { Map<String, List<String>> map = getNativeHeaders(); return (map != null && map.containsKey(headerName)); }
/** * Return a copy of the native header values or an empty map. */ public Map<String, List<String>> toNativeHeaderMap() { Map<String, List<String>> map = getNativeHeaders(); return (map != null ? new LinkedMultiValueMap<>(map) : Collections.emptyMap()); }
/** * Return all values for the specified native header. * or {@code null} if none. */ @Nullable public List<String> getNativeHeader(String headerName) { Map<String, List<String>> map = getNativeHeaders(); return (map != null ? map.get(headerName) : null); }
/** * Return the first value for the specified native header, * or {@code null} if none. */ @Nullable public String getFirstNativeHeader(String headerName) { Map<String, List<String>> map = getNativeHeaders(); if (map != null) { List<String> values = map.get(headerName); if (values != null) { return values.get(0); } } return null; }
@Nullable public List<String> removeNativeHeader(String name) { Assert.state(isMutable(), "Already immutable"); Map<String, List<String>> nativeHeaders = getNativeHeaders(); if (nativeHeaders == null) { return null; } return nativeHeaders.remove(name); }
/** * Add the specified native header value to existing values. */ public void addNativeHeader(String name, @Nullable String value) { Assert.state(isMutable(), "Already immutable"); if (value == null) { return; } Map<String, List<String>> nativeHeaders = getNativeHeaders(); if (nativeHeaders == null) { nativeHeaders = new LinkedMultiValueMap<>(4); setHeader(NATIVE_HEADERS, nativeHeaders); } List<String> values = nativeHeaders.computeIfAbsent(name, k -> new LinkedList<>()); values.add(value); setModified(true); }
/** * Set the specified native header value replacing existing values. */ public void setNativeHeader(String name, @Nullable String value) { Assert.state(isMutable(), "Already immutable"); Map<String, List<String>> map = getNativeHeaders(); if (value == null) { if (map != null && map.get(name) != null) { setModified(true); map.remove(name); } return; } if (map == null) { map = new LinkedMultiValueMap<>(4); setHeader(NATIVE_HEADERS, map); } List<String> values = new LinkedList<>(); values.add(value); if (!ObjectUtils.nullSafeEquals(values, getHeader(name))) { setModified(true); map.put(name, values); } }
@Override public void setImmutable() { if (isMutable()) { Map<String, List<String>> map = getNativeHeaders(); if (map != null) { // Force removal since setHeader checks for equality removeHeader(NATIVE_HEADERS); setHeader(NATIVE_HEADERS, Collections.unmodifiableMap(map)); } super.setImmutable(); } }
/** * Whether the native header map contains the give header name. */ public boolean containsNativeHeader(String headerName) { Map<String, List<String>> map = getNativeHeaders(); return (map != null && map.containsKey(headerName)); }
/** * Return a copy of the native header values or an empty map. */ public Map<String, List<String>> toNativeHeaderMap() { Map<String, List<String>> map = getNativeHeaders(); return (map != null ? new LinkedMultiValueMap<>(map) : Collections.emptyMap()); }
/** * Return all values for the specified native header. * or {@code null} if none. */ @Nullable public List<String> getNativeHeader(String headerName) { Map<String, List<String>> map = getNativeHeaders(); return (map != null ? map.get(headerName) : null); }
/** * Return the first value for the specified native header, * or {@code null} if none. */ @Nullable public String getFirstNativeHeader(String headerName) { Map<String, List<String>> map = getNativeHeaders(); if (map != null) { List<String> values = map.get(headerName); if (values != null) { return values.get(0); } } return null; }
@Nullable public List<String> removeNativeHeader(String name) { Assert.state(isMutable(), "Already immutable"); Map<String, List<String>> nativeHeaders = getNativeHeaders(); if (nativeHeaders == null) { return null; } return nativeHeaders.remove(name); }
/** * Add the specified native header value to existing values. */ public void addNativeHeader(String name, @Nullable String value) { Assert.state(isMutable(), "Already immutable"); if (value == null) { return; } Map<String, List<String>> nativeHeaders = getNativeHeaders(); if (nativeHeaders == null) { nativeHeaders = new LinkedMultiValueMap<>(4); setHeader(NATIVE_HEADERS, nativeHeaders); } List<String> values = nativeHeaders.computeIfAbsent(name, k -> new LinkedList<>()); values.add(value); setModified(true); }
/** * Set the specified native header value replacing existing values. */ public void setNativeHeader(String name, @Nullable String value) { Assert.state(isMutable(), "Already immutable"); Map<String, List<String>> map = getNativeHeaders(); if (value == null) { if (map != null && map.get(name) != null) { setModified(true); map.remove(name); } return; } if (map == null) { map = new LinkedMultiValueMap<>(4); setHeader(NATIVE_HEADERS, map); } List<String> values = new LinkedList<>(); values.add(value); if (!ObjectUtils.nullSafeEquals(values, getHeader(name))) { setModified(true); map.put(name, values); } }
@Override public void setImmutable() { if (isMutable()) { Map<String, List<String>> map = getNativeHeaders(); if (map != null) { // Force removal since setHeader checks for equality removeHeader(NATIVE_HEADERS); setHeader(NATIVE_HEADERS, Collections.unmodifiableMap(map)); } super.setImmutable(); } }
/** * Whether the native header map contains the give header name. */ public boolean containsNativeHeader(String headerName) { Map<String, List<String>> map = getNativeHeaders(); return (map != null && map.containsKey(headerName)); }
/** * Return a copy of the native header values or an empty map. */ public Map<String, List<String>> toNativeHeaderMap() { Map<String, List<String>> map = getNativeHeaders(); return (map != null ? new LinkedMultiValueMap<>(map) : Collections.emptyMap()); }
@Override public void setImmutable() { if (isMutable()) { Map<String, List<String>> map = getNativeHeaders(); if (map != null) { // Force removal since setHeader checks for equality removeHeader(NATIVE_HEADERS); setHeader(NATIVE_HEADERS, Collections.unmodifiableMap(map)); } super.setImmutable(); } }
@Override public void setImmutable() { if (isMutable()) { Map<String, List<String>> map = getNativeHeaders(); if (map != null) { // Force removal since setHeader checks for equality removeHeader(NATIVE_HEADERS); setHeader(NATIVE_HEADERS, Collections.unmodifiableMap(map)); } super.setImmutable(); } }