< prev index next >

src/java.xml.ws/share/classes/javax/xml/soap/MimeHeaders.java

Print this page

        

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this

@@ -40,18 +40,18 @@
  * @see SOAPMessage#getAttachments
  * @see AttachmentPart
  * @since 1.6
  */
 public class MimeHeaders {
-    private Vector headers;
+    private Vector<MimeHeader> headers;
 
    /**
     * Constructs a default {@code MimeHeaders} object initialized with
     * an empty {@code Vector} object.
     */
     public MimeHeaders() {
-        headers = new Vector();
+        headers = new Vector<>();
     }
 
     /**
      * Returns all of the values for the specified header as an array of
      * {@code String} objects.

@@ -60,14 +60,14 @@
      * @return a {@code String} array with all of the values for the
      *         specified header
      * @see #setHeader
      */
     public String[] getHeader(String name) {
-        Vector values = new Vector();
+        Vector<String> values = new Vector<>();
 
         for(int i = 0; i < headers.size(); i++) {
-            MimeHeader hdr = (MimeHeader) headers.elementAt(i);
+            MimeHeader hdr = headers.elementAt(i);
             if (hdr.getName().equalsIgnoreCase(name)
                 && hdr.getValue() != null)
                 values.addElement(hdr.getValue());
         }
 

@@ -101,11 +101,11 @@
 
         if ((name == null) || name.equals(""))
             throw new IllegalArgumentException("Illegal MimeHeader name");
 
         for(int i = 0; i < headers.size(); i++) {
-            MimeHeader hdr = (MimeHeader) headers.elementAt(i);
+            MimeHeader hdr = headers.elementAt(i);
             if (hdr.getName().equalsIgnoreCase(name)) {
                 if (!found) {
                     headers.setElementAt(new MimeHeader(hdr.getName(),
                                                         value), i);
                     found = true;

@@ -139,11 +139,11 @@
             throw new IllegalArgumentException("Illegal MimeHeader name");
 
         int pos = headers.size();
 
         for(int i = pos - 1 ; i >= 0; i--) {
-            MimeHeader hdr = (MimeHeader) headers.elementAt(i);
+            MimeHeader hdr = headers.elementAt(i);
             if (hdr.getName().equalsIgnoreCase(name)) {
                 headers.insertElementAt(new MimeHeader(name, value),
                                         i+1);
                 return;
             }

@@ -158,11 +158,11 @@
      * @param   name a {@code String} with the name of the header for
      *          which to search
      */
     public void removeHeader(String name) {
         for(int i = 0; i < headers.size(); i++) {
-            MimeHeader hdr = (MimeHeader) headers.elementAt(i);
+            MimeHeader hdr = headers.elementAt(i);
             if (hdr.getName().equalsIgnoreCase(name))
                 headers.removeElementAt(i--);
         }
     }
 

@@ -178,30 +178,30 @@
      * Returns all the {@code MimeHeader}s in this {@code MimeHeaders} object.
      *
      * @return  an {@code Iterator} object over this {@code MimeHeaders}
      *          object's list of {@code MimeHeader} objects
      */
-    public Iterator getAllHeaders() {
+    public Iterator<MimeHeader> getAllHeaders() {
         return headers.iterator();
     }
 
-    class MatchingIterator implements Iterator {
-        private boolean match;
-        private Iterator iterator;
-        private String[] names;
-        private Object nextHeader;
+    static class MatchingIterator implements Iterator<MimeHeader> {
+        private final boolean match;
+        private final Iterator<MimeHeader> iterator;
+        private final String[] names;
+        private MimeHeader nextHeader;
 
-        MatchingIterator(String[] names, boolean match) {
+        MatchingIterator(String[] names, boolean match, Iterator<MimeHeader> i) {
             this.match = match;
             this.names = names;
-            this.iterator = headers.iterator();
+            this.iterator = i;
         }
 
-        private Object nextMatch() {
+        private MimeHeader nextMatch() {
         next:
             while (iterator.hasNext()) {
-                MimeHeader hdr = (MimeHeader) iterator.next();
+                MimeHeader hdr = iterator.next();
 
                 if (names == null)
                     return match ? null : hdr;
 
                 for(int i = 0; i < names.length; i++)

@@ -215,29 +215,32 @@
             }
             return null;
         }
 
 
+        @Override
         public boolean hasNext() {
             if (nextHeader == null)
                 nextHeader = nextMatch();
             return nextHeader != null;
         }
 
-        public Object next() {
+        @Override
+        public MimeHeader next() {
             // hasNext should've prefetched the header for us,
             // return it.
             if (nextHeader != null) {
-                Object ret = nextHeader;
+                MimeHeader ret = nextHeader;
                 nextHeader = null;
                 return ret;
             }
             if (hasNext())
                 return nextHeader;
             return null;
         }
 
+        @Override
         public void remove() {
             iterator.remove();
         }
     }
 

@@ -249,12 +252,12 @@
      * @param names an array of {@code String} objects with the names
      *         for which to search
      * @return  an {@code Iterator} object over the {@code MimeHeader}
      *          objects whose name matches one of the names in the given list
      */
-    public Iterator getMatchingHeaders(String[] names) {
-        return new MatchingIterator(names, true);
+    public Iterator<MimeHeader> getMatchingHeaders(String[] names) {
+        return new MatchingIterator(names, true, headers.iterator());
     }
 
     /**
      * Returns all of the {@code MimeHeader} objects whose name does not
      * match a name in the given array of names.

@@ -262,9 +265,9 @@
      * @param names an array of {@code String} objects with the names
      *         for which to search
      * @return  an {@code Iterator} object over the {@code MimeHeader}
      *          objects whose name does not match one of the names in the given list
      */
-    public Iterator getNonMatchingHeaders(String[] names) {
-        return new MatchingIterator(names, false);
+    public Iterator<MimeHeader> getNonMatchingHeaders(String[] names) {
+        return new MatchingIterator(names, false, headers.iterator());
     }
 }
< prev index next >