This fixes the generic warnings from the new JAF code,
and converts their use of StringBuffer to CPStringBuilder
where possible.  I also made a few fields final.

ChangeLog:

2008-08-17  Andrew John Hughes  <[EMAIL PROTECTED]>

        * javax/activation/ActivationDataFlavor.java:
        Suppress warnings from public API.
        (mimeType): Made final.
        (representationClass): Added generic type and
        made final.
        (normalizeMimeTypeParameter(String,String)):
        Use CPStringBuilder.
        * javax/activation/CommandInfo.java:
        (verb): Made final.
        (className): Made final.
        * javax/activation/DataHandler.java:
        (dataSource): Made final.
        * javax/activation/FileDataSource.java:
        (file): Made final.
        * javax/activation/MailcapCommandMap.java:
        Use generics on collections and CPStringBuilder
        instead of StringBuffer.
        * javax/activation/MimeType.java:
        (toString()): Use CPStringBuilder.
        (getBaseType()): Likewise.
        * javax/activation/MimeTypeParameterList.java:
        Use generics on collections and CPStringBuilder
        instead of StringBuffer.
        * javax/activation/MimeTypeParseException.java:
        (MimeTypeParseException(String,String)): Use
        CPStringBuilder.
        * javax/activation/MimetypesFileTypeMap.java:
        Use generics on collections and CPStringBuilder
        instead of StringBuffer.        
        * javax/activation/URLDataSource.java:
        (url): Made final.

-- 
Andrew :)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint = F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8
Index: javax/activation/ActivationDataFlavor.java
===================================================================
RCS file: 
/sources/classpath/classpath/javax/activation/ActivationDataFlavor.java,v
retrieving revision 1.1
diff -u -u -r1.1 ActivationDataFlavor.java
--- javax/activation/ActivationDataFlavor.java  17 Aug 2008 17:55:37 -0000      
1.1
+++ javax/activation/ActivationDataFlavor.java  17 Aug 2008 20:03:18 -0000
@@ -37,6 +37,8 @@
 
 package javax.activation;
 
+import gnu.java.lang.CPStringBuilder;
+
 import java.awt.datatransfer.DataFlavor;
 import java.io.InputStream;
 
@@ -49,9 +51,9 @@
 public class ActivationDataFlavor extends DataFlavor
 {
 
-    private String mimeType;
+    private final String mimeType;
+    private final Class<?> representationClass;
     private String humanPresentableName;
-    private Class representationClass;
 
     /**
      * Constructor.
@@ -60,6 +62,8 @@
      * @param humanPresentableName the human-presentable name of the data
      * flavor
      */
+  // Raw types enforced as part of spec.
+  @SuppressWarnings("unchecked")
     public ActivationDataFlavor(Class representationClass, String mimeType,
             String humanPresentableName)
     {
@@ -75,6 +79,8 @@
      * @param humanPresentableName the human-presentable name of the data
      * flavor
      */
+  // Raw types enforced as part of spec.
+  @SuppressWarnings("unchecked")
     public ActivationDataFlavor(Class representationClass,
             String humanPresentableName)
     {
@@ -103,6 +109,8 @@
         return mimeType;
     }
 
+  // Raw types enforced as part of spec.
+  @SuppressWarnings("unchecked")
     public Class getRepresentationClass()
     {
         return representationClass;
@@ -139,7 +147,7 @@
     protected String normalizeMimeTypeParameter(String parameterName,
             String parameterValue)
     {
-        return new StringBuffer(parameterName)
+        return new CPStringBuilder(parameterName)
             .append('=')
             .append(parameterValue)
             .toString();
Index: javax/activation/CommandInfo.java
===================================================================
RCS file: /sources/classpath/classpath/javax/activation/CommandInfo.java,v
retrieving revision 1.1
diff -u -u -r1.1 CommandInfo.java
--- javax/activation/CommandInfo.java   17 Aug 2008 17:55:37 -0000      1.1
+++ javax/activation/CommandInfo.java   17 Aug 2008 20:03:18 -0000
@@ -52,8 +52,8 @@
 public class CommandInfo
 {
 
-  private String verb;
-  private String className;
+  private final String verb;
+  private final String className;
   
   /**
    * Constructor.
Index: javax/activation/DataHandler.java
===================================================================
RCS file: /sources/classpath/classpath/javax/activation/DataHandler.java,v
retrieving revision 1.1
diff -u -u -r1.1 DataHandler.java
--- javax/activation/DataHandler.java   17 Aug 2008 17:55:37 -0000      1.1
+++ javax/activation/DataHandler.java   17 Aug 2008 20:03:18 -0000
@@ -60,7 +60,7 @@
   private static final DataFlavor[] NO_FLAVORS = new DataFlavor[0];
   private static DataContentHandlerFactory factory = null;
   
-  private DataSource dataSource;
+  private final DataSource dataSource;
   private DataSource objDataSource;
   private Object object;
   private String objectMimeType;
@@ -88,6 +88,7 @@
    */
   public DataHandler(Object obj, String mimeType)
   {
+    dataSource = null;
     object = obj;
     objectMimeType = mimeType;
     oldFactory = factory;
Index: javax/activation/FileDataSource.java
===================================================================
RCS file: /sources/classpath/classpath/javax/activation/FileDataSource.java,v
retrieving revision 1.1
diff -u -u -r1.1 FileDataSource.java
--- javax/activation/FileDataSource.java        17 Aug 2008 17:55:38 -0000      
1.1
+++ javax/activation/FileDataSource.java        17 Aug 2008 20:03:18 -0000
@@ -54,7 +54,7 @@
   implements DataSource
 {
 
-  private File file;
+  private final File file;
   private FileTypeMap typeMap;
   
   /**
Index: javax/activation/MailcapCommandMap.java
===================================================================
RCS file: /sources/classpath/classpath/javax/activation/MailcapCommandMap.java,v
retrieving revision 1.1
diff -u -u -r1.1 MailcapCommandMap.java
--- javax/activation/MailcapCommandMap.java     17 Aug 2008 17:55:38 -0000      
1.1
+++ javax/activation/MailcapCommandMap.java     17 Aug 2008 20:03:19 -0000
@@ -37,6 +37,8 @@
 
 package javax.activation;
 
+import gnu.java.lang.CPStringBuilder;
+
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileReader;
@@ -93,7 +95,7 @@
       }
   }
   
-  private Map[][] mailcaps;
+  private Map<String,Map<String,List<String>>>[][] mailcaps;
   
   /**
    * Default constructor.
@@ -147,7 +149,8 @@
       {
         for (int j = 0; j < 2; j++)
           {
-            mailcaps[i][j] = new LinkedHashMap();
+            mailcaps[i][j] =
+             new LinkedHashMap<String,Map<String,List<String>>>();
           }
       }
     if (in != null)
@@ -174,7 +177,7 @@
         String home = System.getProperty("user.home");
         if (home != null)
           {
-            parseFile(HOME, new StringBuffer(home)
+            parseFile(HOME, new CPStringBuilder(home)
                       .append(File.separatorChar)
                       .append(".mailcap")
                       .toString());
@@ -191,8 +194,9 @@
     try
       {
         parseFile(SYS, 
-                  new StringBuffer(System.getProperty("java.home"))
-                  .append(File.separatorChar)                                  
                   .append("lib")
+                  new CPStringBuilder(System.getProperty("java.home"))
+                  .append(File.separatorChar)                                  
                   
+                 .append("lib")
                   .append(File.separatorChar)
                   .append("mailcap")
                   .toString());
@@ -205,14 +209,14 @@
       {
         System.out.println("MailcapCommandMap: load JAR");
       }
-    List systemResources = getSystemResources("META-INF/mailcap");
+    List<URL> systemResources = getSystemResources("META-INF/mailcap");
     int len = systemResources.size();
     if (len > 0)
       {
         for (int i = 0; i < len ; i++)
           {
             Reader urlIn = null;
-            URL url = (URL) systemResources.get(i);
+            URL url = systemResources.get(i);
             try
               {
                 if (debug)
@@ -263,23 +267,22 @@
    */
   public synchronized CommandInfo[] getPreferredCommands(String mimeType)
   {
-    List cmdList = new ArrayList();
-    List verbList = new ArrayList();
+    List<CommandInfo> cmdList = new ArrayList<CommandInfo>();
+    List<String> verbList = new ArrayList<String>();
     for (int i = 0; i < 2; i++)
       {
         for (int j = 0; j < 5; j++)
           {
-            Map map = getCommands(mailcaps[j][i], mimeType);
+            Map<String,List<String>> map = getCommands(mailcaps[j][i], 
mimeType);
             if (map != null)
               {
-                for (Iterator k = map.entrySet().iterator(); k.hasNext(); )
+                for (Map.Entry<String,List<String>> entry : map.entrySet())
                   {
-                    Map.Entry entry = (Map.Entry) k.next();
-                    String verb = (String) entry.getKey();
+                    String verb = entry.getKey();
                     if (!verbList.contains(verb))
                       {
-                        List classNames = (List) entry.getValue();
-                        String className = (String) classNames.get(0);
+                        List<String> classNames = entry.getValue();
+                        String className = classNames.get(0);
                         CommandInfo cmd = new CommandInfo(verb, className);
                         cmdList.add(cmd);
                         verbList.add(verb);
@@ -299,23 +302,22 @@
    */
   public synchronized CommandInfo[] getAllCommands(String mimeType)
   {
-    List cmdList = new ArrayList();
+    List<CommandInfo> cmdList = new ArrayList<CommandInfo>();
     for (int i = 0; i < 2; i++)
       {
         for (int j = 0; j < 5; j++)
           {
-            Map map = getCommands(mailcaps[j][i], mimeType);
+            Map<String,List<String>> map = getCommands(mailcaps[j][i], 
mimeType);
             if (map != null)
               {
-                for (Iterator k = map.entrySet().iterator(); k.hasNext(); )
+                for (Map.Entry<String,List<String>> entry : map.entrySet())
                   {
-                    Map.Entry entry = (Map.Entry) k.next();
-                    String verb = (String) entry.getKey();
-                    List classNames = (List) entry.getValue();
+                    String verb = entry.getKey();
+                    List<String> classNames = entry.getValue();
                     int len = classNames.size();
                     for (int l = 0; l < len; l++)
                       {
-                        String className = (String) classNames.get(l);
+                        String className = classNames.get(l);
                         CommandInfo cmd = new CommandInfo(verb, className);
                         cmdList.add(cmd);
                       }
@@ -340,17 +342,18 @@
       {
         for (int j = 0; j < 5; j++)
           {
-            Map map = getCommands(mailcaps[j][i], mimeType);
+            Map<String,List<String>> map =
+             getCommands(mailcaps[j][i], mimeType);
             if (map != null)
               {
-                List classNames = (List) map.get(cmdName);
+                List<String> classNames = map.get(cmdName);
                 if (classNames == null)
                   {
-                    classNames = (List) map.get("x-java-" + cmdName);
+                    classNames = map.get("x-java-" + cmdName);
                   }
                 if (classNames != null)
                   {
-                    String className = (String) classNames.get(0);
+                    String className = classNames.get(0);
                     return new CommandInfo(cmdName, className);
                   }
               }
@@ -361,9 +364,9 @@
 
   /**
    * Adds entries programmatically to the registry.
-   * @param mail_cap a mailcap string
+   * @param mailcap a mailcap string
    */
-  public synchronized void addMailcap(String mail_cap)
+  public synchronized void addMailcap(String mailcap)
   {
     if (debug)
       {
@@ -371,7 +374,7 @@
       }
     try
       {
-        parse(PROG, new StringReader(mail_cap));
+        parse(PROG, new StringReader(mailcap));
       }
     catch (IOException e)
       {
@@ -398,17 +401,17 @@
               {
                 System.out.println("  search DB #" + i);
               }
-            Map map = getCommands(mailcaps[j][i], mimeType);
+            Map<String,List<String>> map = getCommands(mailcaps[j][i], 
mimeType);
             if (map != null)
               {
-                List classNames = (List) map.get("content-handler");
+                List<String> classNames = map.get("content-handler");
                 if (classNames == null)
                   {
-                    classNames = (List) map.get("x-java-content-handler");
+                    classNames = map.get("x-java-content-handler");
                   }
                 if (classNames != null)
                   {
-                    String className = (String) classNames.get(0);
+                    String className = classNames.get(0);
                     if (debug)
                       {
                         System.out.println("  In " + nameOf(j) +
@@ -416,7 +419,7 @@
                       }
                     try
                       {
-                        Class clazz = Class.forName(className);
+                        Class<?> clazz = Class.forName(className);
                         return (DataContentHandler)clazz.newInstance();
                       }
                     catch (IllegalAccessException e)
@@ -462,7 +465,7 @@
    */
   public String[] getNativeCommands(String mimeType)
   {
-    List acc = new ArrayList();
+    List<String> acc = new ArrayList<String>();
     for (int i = 0; i < 2; i++)
       {
         for (int j = 0; j < 5; j++)
@@ -475,37 +478,36 @@
     return ret;
   }
 
-  private void addNativeCommands(List acc, Map mailcap, String mimeType)
+  private void addNativeCommands(List<String> acc,
+                                Map<String,Map<String,List<String>>> mailcap,
+                                String mimeType)
   {
-    for (Iterator j = mailcap.entrySet().iterator(); j.hasNext(); )
+    for (Map.Entry<String,Map<String,List<String>>> mEntry : 
mailcap.entrySet())
       {
-        Map.Entry m_entry = (Map.Entry) j.next();
-        String entryMimeType = (String) m_entry.getKey();
+        String entryMimeType = mEntry.getKey();
         if (!entryMimeType.equals(mimeType))
           {
             continue;
           }
-        Map commands = (Map) m_entry.getValue();
-        String viewCommand = (String) commands.get("view-command");
+        Map<String,List<String>> commands = mEntry.getValue();
+        String viewCommand = commands.get("view-command").get(0);
         if (viewCommand == null)
           {
             continue;
           }
-        StringBuffer buf = new StringBuffer();
+        CPStringBuilder buf = new CPStringBuilder();
         buf.append(mimeType);
         buf.append(';');
         buf.append(' ');
         buf.append(viewCommand);
-        for (Iterator k = commands.entrySet().iterator(); k.hasNext(); )
+        for (Map.Entry<String,List<String>> cEntry : commands.entrySet())
           {
-            Map.Entry c_entry = (Map.Entry) k.next();
-            String verb = (String) c_entry.getKey();
-            List classNames = (List) c_entry.getValue();
+            String verb = cEntry.getKey();
+            List<String> classNames = cEntry.getValue();
             if (!"view-command".equals(verb))
               {
-                for (Iterator l = classNames.iterator(); l.hasNext(); )
+                for (String command : classNames)
                   {
-                    String command = (String) l.next();
                     buf.append(';');
                     buf.append(' ');
                     buf.append(verb);
@@ -618,7 +620,7 @@
     throws IOException
   {
     BufferedReader br = new BufferedReader(in);
-    StringBuffer buf = null;
+    CPStringBuilder buf = null;
     for (String line = br.readLine(); line != null; line = br.readLine())
       {
         line = line.trim();
@@ -631,7 +633,7 @@
           {
             if (buf == null)
               {
-                buf = new StringBuffer();
+                buf = new CPStringBuilder();
               }
             buf.append(line.substring(0, len - 1));
           }
@@ -655,8 +657,8 @@
     int len = chars.length;
     boolean inQuotedString = false;
     boolean fallback = false;
-    StringBuffer buffer = new StringBuffer();
-    List fields = new ArrayList();
+    CPStringBuilder buffer = new CPStringBuilder();
+    List<String> fields = new ArrayList<String>();
     for (int i = 0; i < len; i++)
       {
         char c = chars[i];
@@ -700,9 +702,9 @@
         return;
       }
     
-    Map mailcap = fallback ? mailcaps[index][FALLBACK] :
-      mailcaps[index][NORMAL];
-    String mimeType = (String) fields.get(0);
+    Map<String,Map<String,List<String>>> mailcap =
+      fallback ? mailcaps[index][FALLBACK] : mailcaps[index][NORMAL];
+    String mimeType = fields.get(0);
     addField(mailcap, mimeType, "view-command", (String) fields.get(1));
     for (int i = 2; i < len; i++)
       {
@@ -710,8 +712,8 @@
       }
   }
     
-  private void addField(Map mailcap, String mimeType, String verb,
-                        String command)
+  private void addField(Map<String,Map<String,List<String>>> mailcap,
+                       String mimeType, String verb, String command)
   {
     if (verb == null)
       {
@@ -727,30 +729,32 @@
         return; // Invalid field or flag
       }
       
-    Map commands = (Map) mailcap.get(mimeType);
+    Map<String,List<String>> commands = mailcap.get(mimeType);
     if (commands == null)
       {
-        commands = new LinkedHashMap();
+        commands = new LinkedHashMap<String,List<String>>();
         mailcap.put(mimeType, commands);
       }
-    List classNames = (List) commands.get(verb);
+    List<String> classNames = commands.get(verb);
     if (classNames == null)
       {
-        classNames = new ArrayList();
+        classNames = new ArrayList<String>();
         commands.put(verb, classNames);
       }
     classNames.add(command);
   }
   
-  private Map getCommands(Map mailcap, String mimeType)
+  private Map<String,List<String>>
+    getCommands(Map<String,Map<String,List<String>>> mailcap,
+               String mimeType)
   {
     int si = mimeType.indexOf('/');
-    String genericMimeType = new StringBuffer(mimeType.substring(0, si))
+    String genericMimeType = new CPStringBuilder(mimeType.substring(0, si))
       .append('/')
       .append('*')
       .toString();
-    Map specific = (Map) mailcap.get(mimeType);
-    Map generic = (Map) mailcap.get(genericMimeType);
+    Map<String,List<String>> specific = mailcap.get(mimeType);
+    Map<String,List<String>> generic = mailcap.get(genericMimeType);
     if (generic == null)
       {
         return specific;
@@ -759,13 +763,12 @@
       {
         return generic;
       }
-    Map combined = new LinkedHashMap();
+    Map<String,List<String>> combined = new 
LinkedHashMap<String,List<String>>();
     combined.putAll(specific);
-    for (Iterator i = generic.keySet().iterator(); i.hasNext(); )
+    for (String verb : generic.keySet())
       {
-        String verb = (String) i.next();
-        List genericClassNames = (List) generic.get(verb);
-        List classNames = (List) combined.get(verb);
+        List<String> genericClassNames = generic.get(verb);
+        List<String> classNames = combined.get(verb);
         if (classNames == null)
           {
             combined.put(verb, genericClassNames);
@@ -780,12 +783,12 @@
 
   // -- Utility methods --
   
-  private List getSystemResources(String name)
+  private List<URL> getSystemResources(String name)
   {
-    List acc = new ArrayList();
+    List<URL> acc = new ArrayList<URL>();
     try
       {
-        for (Enumeration i = ClassLoader.getSystemResources(name);
+        for (Enumeration<URL> i = ClassLoader.getSystemResources(name);
              i.hasMoreElements(); )
           {
             acc.add(i.nextElement());
Index: javax/activation/MimeType.java
===================================================================
RCS file: /sources/classpath/classpath/javax/activation/MimeType.java,v
retrieving revision 1.1
diff -u -u -r1.1 MimeType.java
--- javax/activation/MimeType.java      17 Aug 2008 17:55:38 -0000      1.1
+++ javax/activation/MimeType.java      17 Aug 2008 20:03:19 -0000
@@ -37,6 +37,8 @@
 
 package javax.activation;
 
+import gnu.java.lang.CPStringBuilder;
+
 import java.io.Externalizable;
 import java.io.IOException;
 import java.io.ObjectInput;
@@ -173,7 +175,7 @@
    */
   public String toString()
   {
-    return new StringBuffer(primaryType)
+    return new CPStringBuilder(primaryType)
       .append('/')
       .append(subType)
       .append(parameters.toString())
@@ -186,7 +188,7 @@
    */
   public String getBaseType()
   {
-    return new StringBuffer(primaryType)
+    return new CPStringBuilder(primaryType)
       .append('/')
       .append(subType)
       .toString();
Index: javax/activation/MimeTypeParameterList.java
===================================================================
RCS file: 
/sources/classpath/classpath/javax/activation/MimeTypeParameterList.java,v
retrieving revision 1.1
diff -u -u -r1.1 MimeTypeParameterList.java
--- javax/activation/MimeTypeParameterList.java 17 Aug 2008 17:55:38 -0000      
1.1
+++ javax/activation/MimeTypeParameterList.java 17 Aug 2008 20:03:19 -0000
@@ -37,6 +37,8 @@
 
 package javax.activation;
 
+import gnu.java.lang.CPStringBuilder;
+
 import java.util.ArrayList;
 import java.util.Enumeration;
 import java.util.HashMap;
@@ -53,18 +55,16 @@
 public class MimeTypeParameterList
 {
 
-  private static final String TSPECIALS = "()<>@,;:/[]?=\\\"";
-  
-  private List parameterNames;
-  private Map parameterValues;
+  private final List<String> parameterNames;
+  private final Map<String,String> parameterValues;
   
   /**
    * Constructor for an empty parameter list.
    */
   public MimeTypeParameterList()
   {
-    parameterNames = new ArrayList();
-    parameterValues = new HashMap();
+    parameterNames = new ArrayList<String>();
+    parameterValues = new HashMap<String,String>();
   }
 
   /**
@@ -74,8 +74,7 @@
   public MimeTypeParameterList(String parameterList)
     throws MimeTypeParseException
   {
-    parameterNames = new ArrayList();
-    parameterValues = new HashMap();
+    this();
     parse(parameterList);
   }
 
@@ -95,8 +94,8 @@
     char[] chars = parameterList.toCharArray();
     int len = chars.length;
     boolean inQuotedString = false;
-    StringBuffer buffer = new StringBuffer();
-    List params = new ArrayList();
+    CPStringBuilder buffer = new CPStringBuilder();
+    List<String> params = new ArrayList<String>();
     for (int i = 0; i < len; i++)
       {
         char c = chars[i];
@@ -125,9 +124,9 @@
       }
     
     // Tokenize each parameter into name + value
-    for (Iterator i = params.iterator(); i.hasNext(); )
+    for (Iterator<String> i = params.iterator(); i.hasNext();)
       {
-        param = (String)i.next();
+       param = i.next();
         int ei = param.indexOf('=');
         if (ei == -1)
           {
@@ -177,7 +176,7 @@
   public synchronized String get(String name)
   {
     name = name.trim();
-    return (String) parameterValues.get(name.toLowerCase());
+    return parameterValues.get(name.toLowerCase());
   }
   
   /**
@@ -189,9 +188,8 @@
   {
     name = name.trim();
     boolean exists = false;
-    for (Iterator i = parameterNames.iterator(); i.hasNext(); )
+    for (String pname : parameterNames)
       {
-        String pname = (String)i.next();
         if (name.equalsIgnoreCase(pname))
           {
             exists = true;
@@ -211,9 +209,9 @@
   public synchronized void remove(String name)
   {
     name = name.trim();
-    for (Iterator i = parameterNames.iterator(); i.hasNext(); )
+    for (Iterator<String> i = parameterNames.iterator();i.hasNext();)
       {
-        String pname = (String)i.next();
+       String pname = i.next();
         if (name.equalsIgnoreCase(pname))
           {
             i.remove();
@@ -225,6 +223,8 @@
   /**
    * Returns an enumeration of all the parameter names.
    */
+  // Raw type is forced by public spec.
+  @SuppressWarnings("unchecked")
   public synchronized Enumeration getNames()
   {
     return new IteratorEnumeration(parameterNames.iterator());
@@ -236,11 +236,10 @@
    */
   public synchronized String toString()
   {
-    StringBuffer buffer = new StringBuffer();
-    for (Iterator i = parameterNames.iterator(); i.hasNext(); )
+    CPStringBuilder buffer = new CPStringBuilder();
+    for (String name : parameterNames)
       {
-        String name = (String)i.next();
-        String value = (String)parameterValues.get(name.toLowerCase());
+        String value = parameterValues.get(name.toLowerCase());
         
         buffer.append(';');
         buffer.append(' ');
@@ -266,7 +265,7 @@
     
     if (needsQuoting)
       {
-        StringBuffer buffer = new StringBuffer();
+        CPStringBuilder buffer = new CPStringBuilder();
         buffer.append('"');
         for (int i = 0; i < len; i++)
           {
@@ -286,7 +285,7 @@
   private static String unquote(String value)
   {
     int len = value.length();
-    StringBuffer buffer = new StringBuffer();
+    CPStringBuilder buffer = new CPStringBuilder();
     for (int i = 1; i < len - 1; i++)
       {
         char c = value.charAt(i);
@@ -311,12 +310,12 @@
    * Enumeration proxy for an Iterator.
    */
   static class IteratorEnumeration
-    implements Enumeration
+    implements Enumeration<String>
   {
     
-    final Iterator iterator;
+    final Iterator<String> iterator;
     
-    IteratorEnumeration(Iterator iterator)
+    IteratorEnumeration(Iterator<String> iterator)
     {
       this.iterator = iterator;
     }
@@ -326,7 +325,7 @@
       return iterator.hasNext();
     }
     
-    public Object nextElement()
+    public String nextElement()
     {
       return iterator.next();
     }
Index: javax/activation/MimeTypeParseException.java
===================================================================
RCS file: 
/sources/classpath/classpath/javax/activation/MimeTypeParseException.java,v
retrieving revision 1.1
diff -u -u -r1.1 MimeTypeParseException.java
--- javax/activation/MimeTypeParseException.java        17 Aug 2008 17:55:38 
-0000      1.1
+++ javax/activation/MimeTypeParseException.java        17 Aug 2008 20:03:19 
-0000
@@ -37,6 +37,8 @@
 
 package javax.activation;
 
+import gnu.java.lang.CPStringBuilder;
+
 /**
  * Exception thrown to indicate a malformed MIME content type.
  *
@@ -71,7 +73,7 @@
    */
   MimeTypeParseException(String message, String token)
   {
-    this(new StringBuffer(message)
+    this(new CPStringBuilder(message)
          .append(':')
          .append(' ')
          .append(token)
Index: javax/activation/MimetypesFileTypeMap.java
===================================================================
RCS file: 
/sources/classpath/classpath/javax/activation/MimetypesFileTypeMap.java,v
retrieving revision 1.1
diff -u -u -r1.1 MimetypesFileTypeMap.java
--- javax/activation/MimetypesFileTypeMap.java  17 Aug 2008 17:55:38 -0000      
1.1
+++ javax/activation/MimetypesFileTypeMap.java  17 Aug 2008 20:03:19 -0000
@@ -37,6 +37,8 @@
 
 package javax.activation;
 
+import gnu.java.lang.CPStringBuilder;
+
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileReader;
@@ -91,7 +93,7 @@
       }
   }
   
-  private Map[] mimetypes;
+  private Map<String,String>[] mimetypes;
   
   /**
    * Default constructor.
@@ -138,7 +140,7 @@
     mimetypes = new Map[5];
     for (int i = 0; i < mimetypes.length; i++)
       {
-        mimetypes[i] = new HashMap();
+        mimetypes[i] = new HashMap<String,String>();
       }
     if (in != null)
       {
@@ -164,7 +166,7 @@
         String home = System.getProperty("user.home");
         if (home != null)
           {
-            parseFile(mimetypes[HOME], new StringBuffer(home)
+            parseFile(mimetypes[HOME], new CPStringBuilder(home)
                       .append(File.separatorChar)
                       .append(".mime.types")
                       .toString());
@@ -181,8 +183,9 @@
     try
       {
         parseFile(mimetypes[SYS],
-                  new StringBuffer(System.getProperty("java.home"))
-                  .append(File.separatorChar)                                  
                   .append("lib")
+                  new CPStringBuilder(System.getProperty("java.home"))
+                  .append(File.separatorChar)                                  
                   
+                 .append("lib")
                   .append(File.separatorChar)
                   .append("mime.types")
                   .toString());
@@ -194,7 +197,7 @@
       {
         System.out.println("MimetypesFileTypeMap: load JAR");
       }
-    List systemResources = getSystemResources("META-INF/mime.types");
+    List<URL> systemResources = getSystemResources("META-INF/mime.types");
     int len = systemResources.size();
     if (len > 0)
       {
@@ -294,7 +297,7 @@
     return DEFAULT_MIME_TYPE;
   }
   
-  private void parseFile(Map mimetypes, String filename)
+  private void parseFile(Map<String,String> mimetypes, String filename)
   {
     Reader in = null;
     try
@@ -320,7 +323,7 @@
       }
   }
   
-  private void parseResource(Map mimetypes, String name)
+  private void parseResource(Map<String,String> mimetypes, String name)
   {
     Reader in = null;
     try
@@ -350,11 +353,11 @@
       }
   }
   
-  private void parse(Map mimetypes, Reader in)
+  private void parse(Map<String,String> mimetypes, Reader in)
     throws IOException
   {
     BufferedReader br = new BufferedReader(in);
-    StringBuffer buf = null;
+    CPStringBuilder buf = null;
     for (String line = br.readLine(); line != null; line = br.readLine())
       {
         line = line.trim();
@@ -367,7 +370,7 @@
           {
             if (buf == null)
               {
-                buf = new StringBuffer();
+                buf = new CPStringBuilder();
               }
             buf.append(line.substring(0, len - 1));
           }
@@ -384,13 +387,14 @@
       }
   }
   
-  private void parseEntry(Map mimetypes, String line)
+  private void parseEntry(Map<String,String> mimetypes,
+                         String line)
   {
     // Tokenize
     String mimeType = null;
     char[] chars = line.toCharArray();
     int len = chars.length;
-    StringBuffer buffer = new StringBuffer();
+    CPStringBuilder buffer = new CPStringBuilder();
     for (int i = 0; i < len; i++)
       {
         char c = chars[i];
@@ -417,12 +421,12 @@
   
   // -- Utility methods --
   
-  private List getSystemResources(String name)
+  private List<URL> getSystemResources(String name)
   {
-    List acc = new ArrayList();
+    List<URL> acc = new ArrayList<URL>();
     try
       {
-        for (Enumeration i = ClassLoader.getSystemResources(name);
+        for (Enumeration<URL> i = ClassLoader.getSystemResources(name);
              i.hasMoreElements(); )
           acc.add(i.nextElement());
       }
Index: javax/activation/URLDataSource.java
===================================================================
RCS file: /sources/classpath/classpath/javax/activation/URLDataSource.java,v
retrieving revision 1.1
diff -u -u -r1.1 URLDataSource.java
--- javax/activation/URLDataSource.java 17 Aug 2008 17:55:38 -0000      1.1
+++ javax/activation/URLDataSource.java 17 Aug 2008 20:03:19 -0000
@@ -53,7 +53,7 @@
     implements DataSource
 {
 
-  private URL url;
+  private final URL url;
   private URLConnection connection;
   
   /**

Reply via email to