summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew John Hughes <gnu_andrew@member.fsf.org>2008-08-17 20:15:50 +0000
committerAndrew John Hughes <gnu_andrew@member.fsf.org>2008-08-17 20:15:50 +0000
commit62b31539ff4d4e848532846160666317849102cc (patch)
treedf74dbbda243df377e87a819991c686cb6e39567
parent128ff96ebb41a0dd5cbee2f14ba8e7f378a11482 (diff)
downloadclasspath-62b31539ff4d4e848532846160666317849102cc.tar.gz
Update JAF with respect to generics and use of CPStringBuilder.
2008-08-17 Andrew John Hughes <gnu_andrew@member.fsf.org> * 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.
-rw-r--r--ChangeLog34
-rw-r--r--javax/activation/ActivationDataFlavor.java14
-rw-r--r--javax/activation/CommandInfo.java4
-rw-r--r--javax/activation/DataHandler.java3
-rw-r--r--javax/activation/FileDataSource.java2
-rw-r--r--javax/activation/MailcapCommandMap.java149
-rw-r--r--javax/activation/MimeType.java6
-rw-r--r--javax/activation/MimeTypeParameterList.java53
-rw-r--r--javax/activation/MimeTypeParseException.java4
-rw-r--r--javax/activation/MimetypesFileTypeMap.java36
-rw-r--r--javax/activation/URLDataSource.java2
11 files changed, 180 insertions, 127 deletions
diff --git a/ChangeLog b/ChangeLog
index dac4b645f..249876742 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,39 @@
2008-08-17 Andrew John Hughes <gnu_andrew@member.fsf.org>
+ * 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.
+
+2008-08-17 Andrew John Hughes <gnu_andrew@member.fsf.org>
+
* gnu/javax/activation/viewers/ImageViewer.java,
* gnu/javax/activation/viewers/TextEditor.java,
* gnu/javax/activation/viewers/TextViewer.java,
diff --git a/javax/activation/ActivationDataFlavor.java b/javax/activation/ActivationDataFlavor.java
index d3d60b073..07ba1a383 100644
--- a/javax/activation/ActivationDataFlavor.java
+++ b/javax/activation/ActivationDataFlavor.java
@@ -37,6 +37,8 @@ exception statement from your version. */
package javax.activation;
+import gnu.java.lang.CPStringBuilder;
+
import java.awt.datatransfer.DataFlavor;
import java.io.InputStream;
@@ -49,9 +51,9 @@ import java.io.InputStream;
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 @@ public class ActivationDataFlavor extends DataFlavor
* @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 @@ public class ActivationDataFlavor extends DataFlavor
* @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 @@ public class ActivationDataFlavor extends DataFlavor
return mimeType;
}
+ // Raw types enforced as part of spec.
+ @SuppressWarnings("unchecked")
public Class getRepresentationClass()
{
return representationClass;
@@ -139,7 +147,7 @@ public class ActivationDataFlavor extends DataFlavor
protected String normalizeMimeTypeParameter(String parameterName,
String parameterValue)
{
- return new StringBuffer(parameterName)
+ return new CPStringBuilder(parameterName)
.append('=')
.append(parameterValue)
.toString();
diff --git a/javax/activation/CommandInfo.java b/javax/activation/CommandInfo.java
index fd481a2bd..d420c6ee1 100644
--- a/javax/activation/CommandInfo.java
+++ b/javax/activation/CommandInfo.java
@@ -52,8 +52,8 @@ import java.io.ObjectInputStream;
public class CommandInfo
{
- private String verb;
- private String className;
+ private final String verb;
+ private final String className;
/**
* Constructor.
diff --git a/javax/activation/DataHandler.java b/javax/activation/DataHandler.java
index 2ef894976..de786f968 100644
--- a/javax/activation/DataHandler.java
+++ b/javax/activation/DataHandler.java
@@ -60,7 +60,7 @@ public class DataHandler
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 class DataHandler
*/
public DataHandler(Object obj, String mimeType)
{
+ dataSource = null;
object = obj;
objectMimeType = mimeType;
oldFactory = factory;
diff --git a/javax/activation/FileDataSource.java b/javax/activation/FileDataSource.java
index 52dc1bd3d..6e9035f13 100644
--- a/javax/activation/FileDataSource.java
+++ b/javax/activation/FileDataSource.java
@@ -54,7 +54,7 @@ public class FileDataSource
implements DataSource
{
- private File file;
+ private final File file;
private FileTypeMap typeMap;
/**
diff --git a/javax/activation/MailcapCommandMap.java b/javax/activation/MailcapCommandMap.java
index 0d2c8ec5c..cca5f04aa 100644
--- a/javax/activation/MailcapCommandMap.java
+++ b/javax/activation/MailcapCommandMap.java
@@ -37,6 +37,8 @@ exception statement from your version. */
package javax.activation;
+import gnu.java.lang.CPStringBuilder;
+
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
@@ -93,7 +95,7 @@ public class MailcapCommandMap
}
}
- private Map[][] mailcaps;
+ private Map<String,Map<String,List<String>>>[][] mailcaps;
/**
* Default constructor.
@@ -147,7 +149,8 @@ public class MailcapCommandMap
{
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 @@ public class MailcapCommandMap
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 @@ public class MailcapCommandMap
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 @@ public class MailcapCommandMap
{
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 class MailcapCommandMap
*/
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 class MailcapCommandMap
*/
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 @@ public class MailcapCommandMap
{
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 @@ public class MailcapCommandMap
/**
* 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 @@ public class MailcapCommandMap
}
try
{
- parse(PROG, new StringReader(mail_cap));
+ parse(PROG, new StringReader(mailcap));
}
catch (IOException e)
{
@@ -398,17 +401,17 @@ public class MailcapCommandMap
{
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 @@ public class MailcapCommandMap
}
try
{
- Class clazz = Class.forName(className);
+ Class<?> clazz = Class.forName(className);
return (DataContentHandler)clazz.newInstance();
}
catch (IllegalAccessException e)
@@ -462,7 +465,7 @@ public class MailcapCommandMap
*/
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 @@ public class MailcapCommandMap
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 @@ public class MailcapCommandMap
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 @@ public class MailcapCommandMap
{
if (buf == null)
{
- buf = new StringBuffer();
+ buf = new CPStringBuilder();
}
buf.append(line.substring(0, len - 1));
}
@@ -655,8 +657,8 @@ public class MailcapCommandMap
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 @@ public class MailcapCommandMap
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 @@ public class MailcapCommandMap
}
}
- 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 @@ public class MailcapCommandMap
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 @@ public class MailcapCommandMap
{
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 @@ public class MailcapCommandMap
// -- 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());
diff --git a/javax/activation/MimeType.java b/javax/activation/MimeType.java
index 4e79aa4b6..70045d668 100644
--- a/javax/activation/MimeType.java
+++ b/javax/activation/MimeType.java
@@ -37,6 +37,8 @@ exception statement from your version. */
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 class MimeType
*/
public String toString()
{
- return new StringBuffer(primaryType)
+ return new CPStringBuilder(primaryType)
.append('/')
.append(subType)
.append(parameters.toString())
@@ -186,7 +188,7 @@ public class MimeType
*/
public String getBaseType()
{
- return new StringBuffer(primaryType)
+ return new CPStringBuilder(primaryType)
.append('/')
.append(subType)
.toString();
diff --git a/javax/activation/MimeTypeParameterList.java b/javax/activation/MimeTypeParameterList.java
index a29512d90..e15469da8 100644
--- a/javax/activation/MimeTypeParameterList.java
+++ b/javax/activation/MimeTypeParameterList.java
@@ -37,6 +37,8 @@ exception statement from your version. */
package javax.activation;
+import gnu.java.lang.CPStringBuilder;
+
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
@@ -53,18 +55,16 @@ import java.util.Map;
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 class MimeTypeParameterList
public MimeTypeParameterList(String parameterList)
throws MimeTypeParseException
{
- parameterNames = new ArrayList();
- parameterValues = new HashMap();
+ this();
parse(parameterList);
}
@@ -95,8 +94,8 @@ public class MimeTypeParameterList
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 @@ public class MimeTypeParameterList
}
// 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 class MimeTypeParameterList
public synchronized String get(String name)
{
name = name.trim();
- return (String) parameterValues.get(name.toLowerCase());
+ return parameterValues.get(name.toLowerCase());
}
/**
@@ -189,9 +188,8 @@ public class MimeTypeParameterList
{
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 class MimeTypeParameterList
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 @@ public class MimeTypeParameterList
/**
* 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 class MimeTypeParameterList
*/
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 @@ public class MimeTypeParameterList
if (needsQuoting)
{
- StringBuffer buffer = new StringBuffer();
+ CPStringBuilder buffer = new CPStringBuilder();
buffer.append('"');
for (int i = 0; i < len; i++)
{
@@ -286,7 +285,7 @@ public class MimeTypeParameterList
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 @@ public class MimeTypeParameterList
* 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 @@ public class MimeTypeParameterList
return iterator.hasNext();
}
- public Object nextElement()
+ public String nextElement()
{
return iterator.next();
}
diff --git a/javax/activation/MimeTypeParseException.java b/javax/activation/MimeTypeParseException.java
index 26395727d..b46e244fd 100644
--- a/javax/activation/MimeTypeParseException.java
+++ b/javax/activation/MimeTypeParseException.java
@@ -37,6 +37,8 @@ exception statement from your version. */
package javax.activation;
+import gnu.java.lang.CPStringBuilder;
+
/**
* Exception thrown to indicate a malformed MIME content type.
*
@@ -71,7 +73,7 @@ public class MimeTypeParseException
*/
MimeTypeParseException(String message, String token)
{
- this(new StringBuffer(message)
+ this(new CPStringBuilder(message)
.append(':')
.append(' ')
.append(token)
diff --git a/javax/activation/MimetypesFileTypeMap.java b/javax/activation/MimetypesFileTypeMap.java
index 0c96a67f2..d1566fd96 100644
--- a/javax/activation/MimetypesFileTypeMap.java
+++ b/javax/activation/MimetypesFileTypeMap.java
@@ -37,6 +37,8 @@ exception statement from your version. */
package javax.activation;
+import gnu.java.lang.CPStringBuilder;
+
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
@@ -91,7 +93,7 @@ public class MimetypesFileTypeMap
}
}
- private Map[] mimetypes;
+ private Map<String,String>[] mimetypes;
/**
* Default constructor.
@@ -138,7 +140,7 @@ public class MimetypesFileTypeMap
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 @@ public class MimetypesFileTypeMap
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 @@ public class MimetypesFileTypeMap
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 @@ public class MimetypesFileTypeMap
{
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 @@ public class MimetypesFileTypeMap
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 @@ public class MimetypesFileTypeMap
}
}
- private void parseResource(Map mimetypes, String name)
+ private void parseResource(Map<String,String> mimetypes, String name)
{
Reader in = null;
try
@@ -350,11 +353,11 @@ public class MimetypesFileTypeMap
}
}
- 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 @@ public class MimetypesFileTypeMap
{
if (buf == null)
{
- buf = new StringBuffer();
+ buf = new CPStringBuilder();
}
buf.append(line.substring(0, len - 1));
}
@@ -384,13 +387,14 @@ public class MimetypesFileTypeMap
}
}
- 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 @@ public class MimetypesFileTypeMap
// -- 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());
}
diff --git a/javax/activation/URLDataSource.java b/javax/activation/URLDataSource.java
index e434f1644..8b77567ae 100644
--- a/javax/activation/URLDataSource.java
+++ b/javax/activation/URLDataSource.java
@@ -53,7 +53,7 @@ public class URLDataSource
implements DataSource
{
- private URL url;
+ private final URL url;
private URLConnection connection;
/**