/** * Replaces all existing values with the specified value. If no values exist for the key the * value will be added. * * @param key * @param value */ public void replaceValues(final K key, final V value) { List<V> list = get(key); if (list != null) { list.clear(); list.add(value); } else { addValue(key, value); } }
/** * @see javax.servlet.http.HttpServletRequest#getHeader(java.lang.String) * @param name * @return the first header with name */ public String getHeader(String name) { Object value = headers.getFirstValue(name); if (value == null) { return null; } return value.toString(); }
/** * @see javax.servlet.http.HttpServletRequest#getHeaderNames() * @return all header names */ public Collection<String> getHeaderNames() { return Collections.unmodifiableCollection(headers.keySet()); } }
/** * @see javax.servlet.http.HttpServletResponse#addHeader(java.lang.String, java.lang.String) */ @Override public void addHeader(String name, String value) { testAndCreateHeaders(); headers.addValue(name, value); }
/** * Removes value from the specified key * * @param key * @param value */ public void removeValue(final K key, final V value) { List<V> list = get(key); if (list != null) { list.remove(value); } }
/** * @see javax.servlet.http.HttpServletResponse#setHeader(java.lang.String, java.lang.String) */ @Override public void setHeader(String name, String value) { testAndCreateHeaders(); headers.replaceValues(name, value); }
/** * @see javax.servlet.http.HttpServletResponse#containsHeader(java.lang.String) */ @Override public boolean containsHeader(String name) { isOpen(); if (headers == null) { return false; } return headers.containsKey(name); }
private void testAndCreateHeaders() { isOpen(); if (headers == null) { headers = new MultiMap<>(); } }
for (Entry<String, List<Object>> stringObjectEntry : headers.entrySet())
/** * @see javax.servlet.http.HttpServletResponse#addIntHeader(java.lang.String, int) */ @Override public void addIntHeader(String name, int value) { testAndCreateHeaders(); headers.addValue(name, value); }
/** * Gets the first value in the value list * * @param key * @return first value */ public V getFirstValue(final K key) { List<V> list = get(key); if ((list != null) && !list.isEmpty()) { return list.get(0); } return null; } }
/** * @see javax.servlet.http.HttpServletResponse#setIntHeader(java.lang.String, int) */ @Override public void setIntHeader(String name, int value) { testAndCreateHeaders(); headers.replaceValues(name, value); }
/** * @see javax.servlet.http.HttpServletResponse#containsHeader(java.lang.String) */ @Override public boolean containsHeader(String name) { isOpen(); if (headers == null) { return false; } return headers.containsKey(name); }
private void testAndCreateHeaders() { isOpen(); if (headers == null) { headers = new MultiMap<>(); } }
for (Entry<String, List<Object>> stringObjectEntry : headers.entrySet())
/** * @see javax.servlet.http.HttpServletResponse#addDateHeader(java.lang.String, long) */ @Override public void addDateHeader(String name, long date) { testAndCreateHeaders(); headers.addValue(name, date); }
/** * @see javax.servlet.http.HttpServletRequest#getHeaders(java.lang.String) * @param name * @return all headers with name */ public Collection<String> getHeaders(String name) { List<Object> values = headers.get(name); if (values == null) { return Collections.emptyList(); } List<String> ret = new ArrayList<>(values.size()); for (Object value : values) { ret.add(value.toString()); } return ret; }
/** * @see javax.servlet.http.HttpServletResponse#setDateHeader(java.lang.String, long) */ @Override public void setDateHeader(String name, long date) { testAndCreateHeaders(); headers.replaceValues(name, date); }
/** * @see javax.servlet.http.HttpServletRequest#getHeaderNames() * @return all header names */ @Override public Collection<String> getHeaderNames() { return Collections.unmodifiableCollection(headers.keySet()); } }