summaryrefslogtreecommitdiffstats
path: root/libjava/classpath/gnu/java/net/protocol/http/Headers.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/gnu/java/net/protocol/http/Headers.java')
-rw-r--r--libjava/classpath/gnu/java/net/protocol/http/Headers.java45
1 files changed, 23 insertions, 22 deletions
diff --git a/libjava/classpath/gnu/java/net/protocol/http/Headers.java b/libjava/classpath/gnu/java/net/protocol/http/Headers.java
index a793bbd9728..c8736bbac8f 100644
--- a/libjava/classpath/gnu/java/net/protocol/http/Headers.java
+++ b/libjava/classpath/gnu/java/net/protocol/http/Headers.java
@@ -42,6 +42,7 @@ import gnu.java.net.LineInputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.lang.Iterable;
import java.text.DateFormat;
import java.text.ParseException;
import java.util.ArrayList;
@@ -49,6 +50,7 @@ import java.util.Collections;
import java.util.Date;
import java.util.Iterator;
import java.util.LinkedHashMap;
+import java.util.List;
import java.util.Map;
/**
@@ -60,12 +62,13 @@ import java.util.Map;
* @author Chris Burdess (dog@gnu.org)
* @author David Daney (ddaney@avtrex.com)
*/
-class Headers
+class Headers implements Iterable<Headers.HeaderElement>
{
/**
* A list of HeaderElements
*/
- private final ArrayList headers = new ArrayList();
+ private final ArrayList<HeaderElement> headers
+ = new ArrayList<HeaderElement>();
/**
* The HTTP dateformat used to parse date header fields.
@@ -102,7 +105,7 @@ class Headers
*
* @return the Iterator.
*/
- Iterator iterator()
+ public Iterator<HeaderElement> iterator()
{
return headers.iterator();
}
@@ -118,7 +121,7 @@ class Headers
{
for (int i = headers.size() - 1; i >= 0; i--)
{
- HeaderElement e = (HeaderElement)headers.get(i);
+ HeaderElement e = headers.get(i);
if (e.name.equalsIgnoreCase(header))
{
return e.value;
@@ -219,7 +222,7 @@ class Headers
{
for (int i = headers.size() - 1; i >= 0; i--)
{
- HeaderElement e = (HeaderElement)headers.get(i);
+ HeaderElement e = headers.get(i);
if (e.name.equalsIgnoreCase(name))
{
e.value = value;
@@ -240,9 +243,9 @@ class Headers
*/
public void putAll(Headers o)
{
- for (Iterator it = o.iterator(); it.hasNext(); )
+ for (Iterator<HeaderElement> it = o.iterator(); it.hasNext(); )
{
- HeaderElement e = (HeaderElement)it.next();
+ HeaderElement e = it.next();
remove(e.name);
addValue(e.name, e.value);
}
@@ -256,9 +259,9 @@ class Headers
*/
public void remove(String name)
{
- for (Iterator it = headers.iterator(); it.hasNext(); )
+ for (Iterator<HeaderElement> it = headers.iterator(); it.hasNext(); )
{
- HeaderElement e = (HeaderElement)it.next();
+ HeaderElement e = it.next();
if (e.name.equalsIgnoreCase(name))
it.remove();
}
@@ -358,26 +361,26 @@ class Headers
*
* @return a Map containing all the headers.
*/
- public Map getAsMap()
+ public Map<String,List<String>> getAsMap()
{
- LinkedHashMap m = new LinkedHashMap();
- for (Iterator it = headers.iterator(); it.hasNext(); )
+ LinkedHashMap<String,List<String>> m = new LinkedHashMap<String,List<String>>();
+ for (Iterator<HeaderElement> it = headers.iterator(); it.hasNext(); )
{
- HeaderElement e = (HeaderElement)it.next();
- ArrayList l = (ArrayList)m.get(e.name);
+ HeaderElement e = it.next();
+ ArrayList<String> l = (ArrayList<String>)m.get(e.name);
if (l == null)
{
- l = new ArrayList(1);
+ l = new ArrayList<String>(1);
l.add(e.value);
m.put(e.name, l);
}
else
l.add(0, e.value);
}
- for (Iterator it = m.entrySet().iterator(); it.hasNext(); )
+ for (Iterator<Map.Entry<String,List<String>>> it = m.entrySet().iterator(); it.hasNext(); )
{
- Map.Entry me = (Map.Entry)it.next();
- ArrayList l = (ArrayList)me.getValue();
+ Map.Entry<String,List<String>> me = it.next();
+ List<String> l = me.getValue();
me.setValue(Collections.unmodifiableList(l));
}
return m;
@@ -397,7 +400,7 @@ class Headers
if (i >= headers.size() || i < 0)
return null;
- return ((HeaderElement)headers.get(i)).name;
+ return headers.get(i).name;
}
/**
@@ -414,8 +417,6 @@ class Headers
if (i >= headers.size() || i < 0)
return null;
- return ((HeaderElement)headers.get(i)).value;
+ return headers.get(i).value;
}
-
}
-
OpenPOWER on IntegriCloud