summaryrefslogtreecommitdiff
path: root/gnu/xml/transform
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/xml/transform')
-rw-r--r--gnu/xml/transform/AbstractNumberNode.java11
-rw-r--r--gnu/xml/transform/ApplyTemplatesNode.java48
-rw-r--r--gnu/xml/transform/CallTemplateNode.java22
-rw-r--r--gnu/xml/transform/CopyNode.java6
-rw-r--r--gnu/xml/transform/CopyOfNode.java15
-rw-r--r--gnu/xml/transform/CurrentFunction.java5
-rw-r--r--gnu/xml/transform/DocumentFunction.java51
-rw-r--r--gnu/xml/transform/ElementAvailableFunction.java22
-rw-r--r--gnu/xml/transform/ElementNode.java12
-rw-r--r--gnu/xml/transform/FormatNumberFunction.java21
-rw-r--r--gnu/xml/transform/FunctionAvailableFunction.java26
-rw-r--r--gnu/xml/transform/GenerateIdFunction.java32
-rw-r--r--gnu/xml/transform/KeyFunction.java45
-rw-r--r--gnu/xml/transform/LiteralNode.java8
-rw-r--r--gnu/xml/transform/NamespaceProxy.java4
-rw-r--r--gnu/xml/transform/NodeNumberNode.java19
-rw-r--r--gnu/xml/transform/SAXSerializer.java25
-rw-r--r--gnu/xml/transform/StreamSerializer.java60
-rw-r--r--gnu/xml/transform/SystemPropertyFunction.java19
-rw-r--r--gnu/xml/transform/Template.java23
-rw-r--r--gnu/xml/transform/TransformerFactoryImpl.java16
-rw-r--r--gnu/xml/transform/TransformerImpl.java21
-rw-r--r--gnu/xml/transform/TransformerOutputProperties.java8
-rw-r--r--gnu/xml/transform/UnparsedEntityUriFunction.java3
-rw-r--r--gnu/xml/transform/ValueOfNode.java11
-rw-r--r--gnu/xml/transform/XSLComparator.java3
26 files changed, 277 insertions, 259 deletions
diff --git a/gnu/xml/transform/AbstractNumberNode.java b/gnu/xml/transform/AbstractNumberNode.java
index 6e478bdc4..8c68c1fd1 100644
--- a/gnu/xml/transform/AbstractNumberNode.java
+++ b/gnu/xml/transform/AbstractNumberNode.java
@@ -1,5 +1,5 @@
/* AbstractNumberNode.java --
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2016 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -116,8 +116,8 @@ abstract class AbstractNumberNode
}
int start = 0, end = 0, len = format.length(); // region of format
// Tokenize
- List tokens = new ArrayList((number.length * 2) + 1);
- List types = new ArrayList(tokens.size());
+ List<String> tokens = new ArrayList<String>((number.length * 2) + 1);
+ List<Boolean> types = new ArrayList<Boolean>(tokens.size());
while (end < len)
{
while (end < len && !isAlphanumeric(format.charAt(end)))
@@ -147,9 +147,8 @@ abstract class AbstractNumberNode
int pos = 0;
for (int i = 0; i < len; i++)
{
- String token = (i < 0) ? "." : (String) tokens.get(i);
- boolean alpha = (i < 0) ? true :
- ((Boolean) types.get(i)).booleanValue();
+ String token = (i < 0) ? "." : tokens.get(i);
+ boolean alpha = (i < 0) ? true : types.get(i).booleanValue();
if (!alpha)
{
buf.append(token);
diff --git a/gnu/xml/transform/ApplyTemplatesNode.java b/gnu/xml/transform/ApplyTemplatesNode.java
index 6aa36954a..78cb948ca 100644
--- a/gnu/xml/transform/ApplyTemplatesNode.java
+++ b/gnu/xml/transform/ApplyTemplatesNode.java
@@ -1,5 +1,5 @@
/* ApplyTemplatesNode.java --
- Copyright (C) 2004,2006 Free Software Foundation, Inc.
+ Copyright (C) 2004,2006, 2015 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -62,12 +62,14 @@ final class ApplyTemplatesNode
final Expr select;
final QName mode;
- final List sortKeys;
- final List withParams;
+ final List<SortKey> sortKeys;
+ final List<WithParam> withParams;
final boolean isDefault;
ApplyTemplatesNode(Expr select, QName mode,
- List sortKeys, List withParams, boolean isDefault)
+ List<SortKey> sortKeys,
+ List<WithParam> withParams,
+ boolean isDefault)
{
this.select = select;
this.mode = mode;
@@ -79,13 +81,13 @@ final class ApplyTemplatesNode
TemplateNode clone(Stylesheet stylesheet)
{
int len = sortKeys != null ? sortKeys.size() : 0;
- List sortKeys2 = new ArrayList(len);
+ List<SortKey> sortKeys2 = new ArrayList<SortKey>(len);
for (int i = 0; i < len; i++)
- sortKeys2.add(((Key) sortKeys.get(i)).clone(stylesheet));
+ sortKeys2.add(sortKeys.get(i).clone(stylesheet));
len = withParams != null ? withParams.size() : 0;
- List withParams2 = new ArrayList(len);
+ List<WithParam> withParams2 = new ArrayList<WithParam>(len);
for (int i = 0; i < len; i++)
- withParams2.add(((WithParam) withParams.get(i)).clone(stylesheet));
+ withParams2.add(withParams.get(i).clone(stylesheet));
TemplateNode ret = new ApplyTemplatesNode(select.clone(stylesheet),
mode, sortKeys2, withParams2,
isDefault);
@@ -107,10 +109,9 @@ final class ApplyTemplatesNode
if (withParams != null)
{
// compute the parameter values
- LinkedList values = new LinkedList();
- for (Iterator i = withParams.iterator(); i.hasNext(); )
+ List<Object[]> values = new LinkedList<Object[]>();
+ for (WithParam p : withParams)
{
- WithParam p = (WithParam) i.next();
Object value = p.getValue(stylesheet, mode, context, pos, len);
Object[] pair = new Object[2];
pair[0] = p.name;
@@ -120,21 +121,24 @@ final class ApplyTemplatesNode
// push the parameter context
stylesheet.bindings.push(Bindings.WITH_PARAM);
// set the parameters
- for (Iterator i = values.iterator(); i.hasNext(); )
+ for (Object[] pair : values)
{
- Object[] pair = (Object[]) i.next();
QName name = (QName) pair[0];
Object value = pair[1];
stylesheet.bindings.set(name, value, Bindings.WITH_PARAM);
}
}
- Collection ns = (Collection) ret;
- List nodes = new ArrayList(ns);
+ Collection<?> ns = (Collection<?>) ret;
+ List<Node> nodes = new ArrayList<Node>();
+ for (Object o : ns)
+ {
+ if (o instanceof Node)
+ nodes.add((Node) o);
+ }
if (sortKeys != null)
{
- for (Iterator i = sortKeys.iterator(); i.hasNext(); )
+ for (SortKey sortKey : sortKeys)
{
- SortKey sortKey = (SortKey) i.next();
sortKey.init(stylesheet, mode, context, pos, len, parent,
nextSibling);
}
@@ -146,7 +150,7 @@ final class ApplyTemplatesNode
QName effectiveMode = isDefault ? mode : this.mode;
for (int i = 0; i < l; i++)
{
- Node node = (Node) nodes.get(i);
+ Node node = nodes.get(i);
TemplateNode t = stylesheet.getTemplate(effectiveMode, node,
false);
if (t != null)
@@ -175,17 +179,17 @@ final class ApplyTemplatesNode
return true;
if (withParams != null)
{
- for (Iterator i = withParams.iterator(); i.hasNext(); )
+ for (Iterator<WithParam> i = withParams.iterator(); i.hasNext(); )
{
- if (((WithParam) i.next()).references(var))
+ if (i.next().references(var))
return true;
}
}
if (sortKeys != null)
{
- for (Iterator i = sortKeys.iterator(); i.hasNext(); )
+ for (Iterator<SortKey> i = sortKeys.iterator(); i.hasNext(); )
{
- if (((SortKey) i.next()).references(var))
+ if (i.next().references(var))
return true;
}
}
diff --git a/gnu/xml/transform/CallTemplateNode.java b/gnu/xml/transform/CallTemplateNode.java
index cc08d93e3..3e2efde1a 100644
--- a/gnu/xml/transform/CallTemplateNode.java
+++ b/gnu/xml/transform/CallTemplateNode.java
@@ -1,5 +1,5 @@
/* CallTemplateNode.java --
- Copyright (C) 2004,2006 Free Software Foundation, Inc.
+ Copyright (C) 2004,2006, 2015 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -58,9 +58,9 @@ final class CallTemplateNode
{
final QName name;
- final List withParams;
+ final List<WithParam> withParams;
- CallTemplateNode(QName name, List withParams)
+ CallTemplateNode(QName name, List<WithParam> withParams)
{
this.name = name;
this.withParams = withParams;
@@ -69,9 +69,9 @@ final class CallTemplateNode
TemplateNode clone(Stylesheet stylesheet)
{
int len = withParams.size();
- List withParams2 = new ArrayList(len);
+ List<WithParam> withParams2 = new ArrayList<WithParam>(len);
for (int i = 0; i < len; i++)
- withParams2.add(((WithParam) withParams.get(i)).clone(stylesheet));
+ withParams2.add(withParams.get(i).clone(stylesheet));
TemplateNode ret = new CallTemplateNode(name, withParams2);
if (children != null)
ret.children = children.clone(stylesheet);
@@ -91,10 +91,9 @@ final class CallTemplateNode
if (!withParams.isEmpty())
{
// compute the parameter values
- LinkedList values = new LinkedList();
- for (Iterator i = withParams.iterator(); i.hasNext(); )
+ LinkedList<Object[]> values = new LinkedList<Object[]>();
+ for (WithParam p : withParams)
{
- WithParam p = (WithParam) i.next();
if (t.hasParam(p.name)) // ignore parameters not specified
{
Object value = p.getValue(stylesheet, mode, context,
@@ -108,9 +107,8 @@ final class CallTemplateNode
// push the parameter context
stylesheet.bindings.push(Bindings.WITH_PARAM);
// set the parameters
- for (Iterator i = values.iterator(); i.hasNext(); )
+ for (Object[] pair : values)
{
- Object[] pair = (Object[]) i.next();
QName name = (QName) pair[0];
Object value = pair[1];
stylesheet.bindings.set(name, value, Bindings.WITH_PARAM);
@@ -135,9 +133,9 @@ final class CallTemplateNode
public boolean references(QName var)
{
- for (Iterator i = withParams.iterator(); i.hasNext(); )
+ for (Iterator<WithParam> i = withParams.iterator(); i.hasNext(); )
{
- if (((WithParam) i.next()).references(var))
+ if (i.next().references(var))
return true;
}
return super.references(var);
diff --git a/gnu/xml/transform/CopyNode.java b/gnu/xml/transform/CopyNode.java
index 9cc2fdecd..1375b33e6 100644
--- a/gnu/xml/transform/CopyNode.java
+++ b/gnu/xml/transform/CopyNode.java
@@ -1,5 +1,5 @@
/* CopyNode.java --
- Copyright (C) 2004,2006 Free Software Foundation, Inc.
+ Copyright (C) 2004,2006, 2015 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -39,7 +39,6 @@ package gnu.xml.transform;
import gnu.java.lang.CPStringBuilder;
-import java.util.Iterator;
import java.util.StringTokenizer;
import javax.xml.namespace.QName;
import javax.xml.transform.TransformerException;
@@ -133,9 +132,8 @@ final class CopyNode
Node parent, Node nextSibling, String attributeSet)
throws TransformerException
{
- for (Iterator i = stylesheet.attributeSets.iterator(); i.hasNext(); )
+ for (AttributeSet as : stylesheet.attributeSets)
{
- AttributeSet as = (AttributeSet) i.next();
if (!as.name.equals(attributeSet))
continue;
if (as.uas != null)
diff --git a/gnu/xml/transform/CopyOfNode.java b/gnu/xml/transform/CopyOfNode.java
index 2b06fed4d..f49cd64c7 100644
--- a/gnu/xml/transform/CopyOfNode.java
+++ b/gnu/xml/transform/CopyOfNode.java
@@ -1,5 +1,5 @@
/* CopyOfNode.java --
- Copyright (C) 2004,2006 Free Software Foundation, Inc.
+ Copyright (C) 2004,2006, 2015 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -42,7 +42,6 @@ import gnu.java.lang.CPStringBuilder;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
-import java.util.Iterator;
import java.util.List;
import javax.xml.namespace.QName;
import javax.xml.transform.TransformerException;
@@ -88,12 +87,16 @@ final class CopyOfNode
parent.getOwnerDocument();
if (ret instanceof Collection)
{
- Collection ns = (Collection) ret;
- List list = new ArrayList(ns);
+ Collection<?> ns = (Collection<?>) ret;
+ List<Node> list = new ArrayList<Node>();
+ for (Object o : ns)
+ {
+ if (o instanceof Node)
+ list.add((Node) o);
+ }
Collections.sort(list, documentOrderComparator);
- for (Iterator i = list.iterator(); i.hasNext(); )
+ for (Node src : list)
{
- Node src = (Node) i.next();
short nodeType = src.getNodeType();
if (nodeType == Node.DOCUMENT_NODE)
{
diff --git a/gnu/xml/transform/CurrentFunction.java b/gnu/xml/transform/CurrentFunction.java
index 96899679a..217ecf9f1 100644
--- a/gnu/xml/transform/CurrentFunction.java
+++ b/gnu/xml/transform/CurrentFunction.java
@@ -1,5 +1,5 @@
/* CurrentFunction.java --
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2015 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -63,6 +63,7 @@ final class CurrentFunction
this.stylesheet = stylesheet;
}
+ @SuppressWarnings("rawtypes")
public Object evaluate(List args)
throws XPathFunctionException
{
@@ -71,7 +72,7 @@ final class CurrentFunction
return Collections.EMPTY_SET;
}
- public void setArguments(List args)
+ public void setArguments(List<Expr> args)
{
}
diff --git a/gnu/xml/transform/DocumentFunction.java b/gnu/xml/transform/DocumentFunction.java
index d0aee25b3..883cfb7c4 100644
--- a/gnu/xml/transform/DocumentFunction.java
+++ b/gnu/xml/transform/DocumentFunction.java
@@ -1,5 +1,5 @@
/* DocumentFunction.java --
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2015 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -66,8 +66,8 @@ final class DocumentFunction
final Stylesheet stylesheet;
final Node base;
- List args;
- List values;
+ List<Expr> args;
+ List<Object> values;
DocumentFunction(Stylesheet stylesheet, Node base)
{
@@ -75,14 +75,15 @@ final class DocumentFunction
this.base = base;
}
+ @SuppressWarnings("rawtypes")
public Object evaluate(List args)
throws XPathFunctionException
{
- values = args;
+ values = (List<Object>) args;
return evaluate(null, 1, 1);
}
- public void setArguments(List args)
+ public void setArguments(List<Expr> args)
{
this.args = args;
}
@@ -92,10 +93,10 @@ final class DocumentFunction
int arity = args.size();
if (values == null)
{
- values = new ArrayList(arity);
+ values = new ArrayList<Object>(arity);
for (int i = 0; i < arity; i++)
{
- Expr arg = (Expr) args.get(i);
+ Expr arg = args.get(i);
values.add(arg.evaluate(context, pos, len));
}
}
@@ -106,11 +107,11 @@ final class DocumentFunction
Object arg = values.get(0);
if (arg instanceof Collection)
{
- Collection ns = (Collection) arg;
- Collection acc = new TreeSet();
- for (Iterator i = ns.iterator(); i.hasNext(); )
+ Collection<?> ns = (Collection<?>) arg;
+ Collection<Node> acc = new TreeSet<Node>();
+ for (Object o : ns)
{
- Node node = (Node) i.next();
+ Node node = (Node) o;
String s = Expr.stringValue(node);
acc.addAll(document(s, node.getBaseURI()));
}
@@ -127,14 +128,14 @@ final class DocumentFunction
Object arg2 = values.get(1);
if (!(arg2 instanceof Collection))
throw new RuntimeException("second argument is not a node-set");
- Collection arg2ns = (Collection) arg2;
+ Collection<?> arg2ns = (Collection<?>) arg2;
String base2 = arg2ns.isEmpty() ? null :
((Node) arg2ns.iterator().next()).getBaseURI();
if (arg1 instanceof Collection)
{
- Collection arg1ns = (Collection) arg1;
- Collection acc = new TreeSet();
- for (Iterator i = arg1ns.iterator(); i.hasNext(); )
+ Collection<?> arg1ns = (Collection<?>) arg1;
+ Collection<Node> acc = new TreeSet<Node>();
+ for (Iterator<?> i = arg1ns.iterator(); i.hasNext(); )
{
Node node = (Node) i.next();
String s = Expr.stringValue(node);
@@ -161,7 +162,7 @@ final class DocumentFunction
* @param uri the URI from which to retrieve nodes
* @param base the base URI for relative URIs
*/
- Collection document(String uri, String base)
+ Collection<Node> document(String uri, String base)
{
if ("".equals(uri) || uri == null)
uri = this.base.getBaseURI();
@@ -203,9 +204,15 @@ final class DocumentFunction
if (!(ret instanceof Collection))
{
// XXX Report error?
- return Collections.EMPTY_SET;
+ return Collections.<Node>emptySet();
}
- return (Collection) ret;
+ Collection<Node> collRet = new TreeSet<Node>();
+ for (Object o : (Collection<?>) ret)
+ {
+ if (o instanceof Node)
+ collRet.add((Node) o);
+ }
+ return collRet;
}
}
catch (TransformerException e)
@@ -224,18 +231,18 @@ final class DocumentFunction
s = (Stylesheet) context;
DocumentFunction f = new DocumentFunction(s, base);
int len = args.size();
- List args2 = new ArrayList(len);
+ List<Expr> args2 = new ArrayList<Expr>(len);
for (int i = 0; i < len; i++)
- args2.add(((Expr) args.get(i)).clone(context));
+ args2.add(args.get(i).clone(context));
f.setArguments(args2);
return f;
}
public boolean references(QName var)
{
- for (Iterator i = args.iterator(); i.hasNext(); )
+ for (Iterator<Expr> i = args.iterator(); i.hasNext(); )
{
- if (((Expr) i.next()).references(var))
+ if (i.next().references(var))
return true;
}
return false;
diff --git a/gnu/xml/transform/ElementAvailableFunction.java b/gnu/xml/transform/ElementAvailableFunction.java
index 6a9d256be..43896c3fc 100644
--- a/gnu/xml/transform/ElementAvailableFunction.java
+++ b/gnu/xml/transform/ElementAvailableFunction.java
@@ -1,5 +1,5 @@
/* ElementAvailableFunction.java --
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2015 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -42,6 +42,7 @@ import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
+import java.util.SortedSet;
import java.util.TreeSet;
import javax.xml.namespace.QName;
import javax.xml.namespace.NamespaceContext;
@@ -61,10 +62,10 @@ class ElementAvailableFunction
implements Function, XPathFunction
{
- static final Collection elements;
+ static final Collection<String> elements;
static
{
- TreeSet acc = new TreeSet();
+ SortedSet<String> acc = new TreeSet<String>();
acc.add("stylesheet");
acc.add("template");
acc.add("param");
@@ -103,13 +104,14 @@ class ElementAvailableFunction
}
final NamespaceContext nsctx;
- List args;
+ List<Expr> args;
ElementAvailableFunction(NamespaceContext nsctx)
{
this.nsctx = nsctx;
}
+ @SuppressWarnings("rawtypes")
public Object evaluate(List args)
throws XPathFunctionException
{
@@ -117,14 +119,14 @@ class ElementAvailableFunction
return Collections.EMPTY_SET;
}
- public void setArguments(List args)
+ public void setArguments(List<Expr> args)
{
this.args = args;
}
public Object evaluate(Node context, int pos, int len)
{
- Expr arg = (Expr) args.get(0);
+ Expr arg = args.get(0);
Object val = arg.evaluate(context, pos, len);
String name = _string(context, val);
String prefix, localName, uri;
@@ -156,18 +158,18 @@ class ElementAvailableFunction
n = (NamespaceContext) context;
ElementAvailableFunction f = new ElementAvailableFunction(n);
int len = args.size();
- List args2 = new ArrayList(len);
+ List<Expr> args2 = new ArrayList<Expr>(len);
for (int i = 0; i < len; i++)
- args2.add(((Expr) args.get(i)).clone(context));
+ args2.add(args.get(i).clone(context));
f.setArguments(args2);
return f;
}
public boolean references(QName var)
{
- for (Iterator i = args.iterator(); i.hasNext(); )
+ for (Iterator<Expr> i = args.iterator(); i.hasNext(); )
{
- if (((Expr) i.next()).references(var))
+ if (i.next().references(var))
return true;
}
return false;
diff --git a/gnu/xml/transform/ElementNode.java b/gnu/xml/transform/ElementNode.java
index 78a2007b7..7ac4c7fa1 100644
--- a/gnu/xml/transform/ElementNode.java
+++ b/gnu/xml/transform/ElementNode.java
@@ -1,5 +1,5 @@
/* ElementNode.java --
- Copyright (C) 2004,2006 Free Software Foundation, Inc.
+ Copyright (C) 2004,2006, 2015, 2016 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -42,7 +42,6 @@ import gnu.java.lang.CPStringBuilder;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.StringTokenizer;
import javax.xml.XMLConstants;
import javax.xml.namespace.QName;
@@ -67,7 +66,7 @@ final class ElementNode
final TemplateNode namespace;
final String uas;
final Node source;
- final Collection elementExcludeResultPrefixes;
+ final Collection<String> elementExcludeResultPrefixes;
ElementNode(TemplateNode name,
TemplateNode namespace, String uas, Node source)
@@ -81,13 +80,13 @@ final class ElementNode
"exclude-result-prefixes");
if (attr != null)
{
- elementExcludeResultPrefixes = new HashSet();
+ elementExcludeResultPrefixes = new HashSet<String>();
StringTokenizer st = new StringTokenizer(attr.getNodeValue());
while (st.hasMoreTokens())
elementExcludeResultPrefixes.add(st.nextToken());
}
else
- elementExcludeResultPrefixes = Collections.EMPTY_SET;
+ elementExcludeResultPrefixes = Collections.<String>emptySet();
}
TemplateNode clone(Stylesheet stylesheet)
@@ -209,9 +208,8 @@ final class ElementNode
throws TransformerException
{
stylesheet.bindings.global = true;
- for (Iterator i = stylesheet.attributeSets.iterator(); i.hasNext(); )
+ for (AttributeSet as : stylesheet.attributeSets)
{
- AttributeSet as = (AttributeSet) i.next();
if (!as.name.equals(attributeSet))
continue;
if (as.uas != null)
diff --git a/gnu/xml/transform/FormatNumberFunction.java b/gnu/xml/transform/FormatNumberFunction.java
index 82872be77..a26ddefa1 100644
--- a/gnu/xml/transform/FormatNumberFunction.java
+++ b/gnu/xml/transform/FormatNumberFunction.java
@@ -1,5 +1,5 @@
/* FormatNumberFunction.java --
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2015 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -60,13 +60,14 @@ final class FormatNumberFunction
{
final Stylesheet stylesheet;
- List args;
+ List<Expr> args;
FormatNumberFunction(Stylesheet stylesheet)
{
this.stylesheet = stylesheet;
}
+ @SuppressWarnings("rawtypes")
public Object evaluate(List args)
throws XPathFunctionException
{
@@ -74,7 +75,7 @@ final class FormatNumberFunction
return Collections.EMPTY_SET;
}
- public void setArguments(List args)
+ public void setArguments(List<Expr> args)
{
this.args = args;
}
@@ -82,10 +83,10 @@ final class FormatNumberFunction
public Object evaluate(Node context, int pos, int len)
{
int arity = args.size();
- List values = new ArrayList(arity);
+ List<Object> values = new ArrayList<Object>(arity);
for (int i = 0; i < arity; i++)
{
- Expr arg = (Expr) args.get(i);
+ Expr arg = args.get(i);
values.add(arg.evaluate(context, pos, len));
}
double number = _number(context, values.get(0));
@@ -102,7 +103,7 @@ final class FormatNumberFunction
dfName = _string(context, values.get(2));
// otherwise the default decimal-format will be used
}
- DecimalFormat df = (DecimalFormat) stylesheet.decimalFormats.get(dfName);
+ DecimalFormat df = stylesheet.decimalFormats.get(dfName);
if (df == null)
{
throw new IllegalArgumentException("No such decimal-format: " +
@@ -121,10 +122,10 @@ final class FormatNumberFunction
}
FormatNumberFunction f = new FormatNumberFunction(s);
int len = args.size();
- List args2 = new ArrayList(len);
+ List<Expr> args2 = new ArrayList<Expr>(len);
for (int i = 0; i < len; i++)
{
- args2.add(((Expr) args.get(i)).clone(context));
+ args2.add(args.get(i).clone(context));
}
f.setArguments(args2);
return f;
@@ -132,9 +133,9 @@ final class FormatNumberFunction
public boolean references(QName var)
{
- for (Iterator i = args.iterator(); i.hasNext(); )
+ for (Iterator<Expr> i = args.iterator(); i.hasNext(); )
{
- if (((Expr) i.next()).references(var))
+ if (i.next().references(var))
{
return true;
}
diff --git a/gnu/xml/transform/FunctionAvailableFunction.java b/gnu/xml/transform/FunctionAvailableFunction.java
index 1ac50327e..fd5a7ae93 100644
--- a/gnu/xml/transform/FunctionAvailableFunction.java
+++ b/gnu/xml/transform/FunctionAvailableFunction.java
@@ -1,5 +1,5 @@
/* FunctionAvailableFunction.java --
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2015 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -42,6 +42,7 @@ import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
+import java.util.SortedSet;
import java.util.TreeSet;
import javax.xml.namespace.NamespaceContext;
import javax.xml.namespace.QName;
@@ -61,11 +62,11 @@ class FunctionAvailableFunction
implements Function, XPathFunction
{
- static final Collection xsltFunctions;
- static final Collection xpathFunctions;
+ static final Collection<String> xsltFunctions;
+ static final Collection<String> xpathFunctions;
static
{
- TreeSet acc = new TreeSet();
+ SortedSet<String> acc = new TreeSet<String>();
acc.add("document");
acc.add("key");
acc.add("format-number");
@@ -76,7 +77,7 @@ class FunctionAvailableFunction
acc.add("element-available");
acc.add("function-available");
xsltFunctions = Collections.unmodifiableSet(acc);
- acc = new TreeSet();
+ acc = new TreeSet<String>();
acc.add("boolean");
acc.add("ceiling");
acc.add("concat");
@@ -108,13 +109,14 @@ class FunctionAvailableFunction
}
final NamespaceContext nsctx;
- List args;
+ List<Expr> args;
FunctionAvailableFunction(NamespaceContext nsctx)
{
this.nsctx = nsctx;
}
+ @SuppressWarnings("rawtypes")
public Object evaluate(List args)
throws XPathFunctionException
{
@@ -122,14 +124,14 @@ class FunctionAvailableFunction
return Collections.EMPTY_SET;
}
- public void setArguments(List args)
+ public void setArguments(List<Expr> args)
{
this.args = args;
}
public Object evaluate(Node context, int pos, int len)
{
- Expr arg = (Expr) args.get(0);
+ Expr arg = args.get(0);
Object val = arg.evaluate(context, pos, len);
String name = _string(context, val);
String prefix, localName, uri;
@@ -167,18 +169,18 @@ class FunctionAvailableFunction
n = (NamespaceContext) context;
FunctionAvailableFunction f = new FunctionAvailableFunction(n);
int len = args.size();
- List args2 = new ArrayList(len);
+ List<Expr> args2 = new ArrayList<Expr>(len);
for (int i = 0; i < len; i++)
- args2.add(((Expr) args.get(i)).clone(context));
+ args2.add(args.get(i).clone(context));
f.setArguments(args2);
return f;
}
public boolean references(QName var)
{
- for (Iterator i = args.iterator(); i.hasNext(); )
+ for (Iterator<Expr> i = args.iterator(); i.hasNext(); )
{
- if (((Expr) i.next()).references(var))
+ if (i.next().references(var))
return true;
}
return false;
diff --git a/gnu/xml/transform/GenerateIdFunction.java b/gnu/xml/transform/GenerateIdFunction.java
index efc583cc8..19c1e1372 100644
--- a/gnu/xml/transform/GenerateIdFunction.java
+++ b/gnu/xml/transform/GenerateIdFunction.java
@@ -1,5 +1,5 @@
/* GenerateIdFunction.java --
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2015 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -59,8 +59,9 @@ final class GenerateIdFunction
implements XPathFunction, Function
{
- List args;
+ List<Expr> args;
+ @SuppressWarnings("rawtypes")
public Object evaluate(List args)
throws XPathFunctionException
{
@@ -68,7 +69,7 @@ final class GenerateIdFunction
return Collections.EMPTY_SET;
}
- public void setArguments(List args)
+ public void setArguments(List<Expr> args)
{
this.args = args;
}
@@ -76,24 +77,29 @@ final class GenerateIdFunction
public Object evaluate(Node context, int pos, int len)
{
int arity = args.size();
- List values = new ArrayList(arity);
+ List<Object> values = new ArrayList<Object>(arity);
for (int i = 0; i < arity; i++)
{
- Expr arg = (Expr) args.get(i);
+ Expr arg = args.get(i);
values.add(arg.evaluate(context, pos, len));
}
Node node;
- Collection ns = (arity == 0) ? Collections.EMPTY_SET :
- (Collection) values.get(0);
+ Collection<?> ns = (arity == 0) ? Collections.<Object>emptySet() :
+ (Collection<?>) values.get(0);
if (ns.isEmpty())
{
node = context;
}
else
{
- List list = new ArrayList(ns);
+ List<Node> list = new ArrayList<Node>();
+ for (Object o : ns)
+ {
+ if (o instanceof Node)
+ list.add((Node) o);
+ }
Collections.sort(list, documentOrderComparator);
- node = (Node) list.get(0);
+ node = list.get(0);
}
String name = node.getNodeName();
@@ -115,10 +121,10 @@ final class GenerateIdFunction
{
GenerateIdFunction f = new GenerateIdFunction();
int len = args.size();
- List args2 = new ArrayList(len);
+ List<Expr> args2 = new ArrayList<Expr>(len);
for (int i = 0; i < len; i++)
{
- args2.add(((Expr) args.get(i)).clone(context));
+ args2.add(args.get(i).clone(context));
}
f.setArguments(args2);
return f;
@@ -126,9 +132,9 @@ final class GenerateIdFunction
public boolean references(QName var)
{
- for (Iterator i = args.iterator(); i.hasNext(); )
+ for (Iterator<Expr> i = args.iterator(); i.hasNext(); )
{
- if (((Expr) i.next()).references(var))
+ if (i.next().references(var))
{
return true;
}
diff --git a/gnu/xml/transform/KeyFunction.java b/gnu/xml/transform/KeyFunction.java
index b962626c9..faa6c753a 100644
--- a/gnu/xml/transform/KeyFunction.java
+++ b/gnu/xml/transform/KeyFunction.java
@@ -1,5 +1,5 @@
/* KeyFunction.java --
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2015 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -64,13 +64,14 @@ final class KeyFunction
{
final Stylesheet stylesheet;
- List args;
+ List<Expr> args;
KeyFunction(Stylesheet stylesheet)
{
this.stylesheet = stylesheet;
}
+ @SuppressWarnings("rawtypes")
public Object evaluate(List args)
throws XPathFunctionException
{
@@ -78,7 +79,7 @@ final class KeyFunction
return Collections.EMPTY_SET;
}
- public void setArguments(List args)
+ public void setArguments(List<Expr> args)
{
this.args = args;
}
@@ -86,17 +87,17 @@ final class KeyFunction
public boolean matches(Node context)
{
Object ret = evaluate(context, 1, 1);
- return !((Collection) ret).isEmpty();
+ return !((Collection<?>) ret).isEmpty();
}
public Object evaluate(Node context, int pos, int len)
{
// Evaluate arguments
int arity = args.size();
- List values = new ArrayList(arity);
+ List<Object> values = new ArrayList<Object>(arity);
for (int i = 0; i < arity; i++)
{
- Expr arg = (Expr) args.get(i);
+ Expr arg = args.get(i);
values.add(arg.evaluate(context, pos, len));
}
// Get key name
@@ -115,10 +116,9 @@ final class KeyFunction
}
}
// Compute matching key set
- Collection keySet = new LinkedList();
- for (Iterator i = stylesheet.keys.iterator(); i.hasNext(); )
+ Collection<Key> keySet = new LinkedList<Key>();
+ for (Key key : stylesheet.keys)
{
- Key key = (Key) i.next();
if (key.name.equals(keyName))
{
keySet.add(key);
@@ -126,12 +126,12 @@ final class KeyFunction
}
// Get target
Object target = values.get(1);
- Collection acc = new LinkedHashSet();
+ Collection<Node> acc = new LinkedHashSet<Node>();
Document doc = (context instanceof Document) ? (Document) context :
context.getOwnerDocument();
if (target instanceof Collection)
{
- for (Iterator i = ((Collection) target).iterator(); i.hasNext(); )
+ for (Iterator<?> i = ((Collection<?>) target).iterator(); i.hasNext(); )
{
String val = Expr.stringValue((Node) i.next());
addKeyNodes(doc, keySet, val, acc);
@@ -142,13 +142,13 @@ final class KeyFunction
String val = Expr._string(context, target);
addKeyNodes(doc, keySet, val, acc);
}
- List ret = new ArrayList(acc);
+ List<Node> ret = new ArrayList<Node>(acc);
Collections.sort(ret, documentOrderComparator);
return ret;
}
- final void addKeyNodes(Node node, Collection keySet,
- String value, Collection acc)
+ final void addKeyNodes(Node node, Collection<Key> keySet,
+ String value, Collection<Node> acc)
{
addKeyNodeIfMatch(node, keySet, value, acc);
// Apply children
@@ -159,18 +159,17 @@ final class KeyFunction
}
}
- final void addKeyNodeIfMatch(Node node, Collection keySet,
- String value, Collection acc)
+ final void addKeyNodeIfMatch(Node node, Collection<Key> keySet,
+ String value, Collection<Node> acc)
{
- for (Iterator i = keySet.iterator(); i.hasNext(); )
+ for (Key key : keySet)
{
- Key key = (Key) i.next();
if (key.match.matches(node))
{
Object eval = key.use.evaluate(node, 1, 1);
if (eval instanceof Collection)
{
- for (Iterator j = ((Collection) eval).iterator();
+ for (Iterator<?> j = ((Collection<?>) eval).iterator();
j.hasNext(); )
{
String keyValue = Expr.stringValue((Node) j.next());
@@ -203,10 +202,10 @@ final class KeyFunction
}
KeyFunction f = new KeyFunction(s);
int len = args.size();
- List args2 = new ArrayList(len);
+ List<Expr> args2 = new ArrayList<Expr>(len);
for (int i = 0; i < len; i++)
{
- args2.add(((Expr) args.get(i)).clone(context));
+ args2.add(args.get(i).clone(context));
}
f.setArguments(args2);
return f;
@@ -214,9 +213,9 @@ final class KeyFunction
public boolean references(QName var)
{
- for (Iterator i = args.iterator(); i.hasNext(); )
+ for (Iterator<Expr> i = args.iterator(); i.hasNext(); )
{
- if (((Expr) i.next()).references(var))
+ if (i.next().references(var))
{
return true;
}
diff --git a/gnu/xml/transform/LiteralNode.java b/gnu/xml/transform/LiteralNode.java
index 3405b3364..90df941f2 100644
--- a/gnu/xml/transform/LiteralNode.java
+++ b/gnu/xml/transform/LiteralNode.java
@@ -1,5 +1,5 @@
/* LiteralNode.java --
- Copyright (C) 2004,2006 Free Software Foundation, Inc.
+ Copyright (C) 2004,2006,2015, 2016 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -62,7 +62,7 @@ final class LiteralNode
*/
final Node source;
- final Collection elementExcludeResultPrefixes;
+ final Collection<String> elementExcludeResultPrefixes;
LiteralNode(Node source)
{
@@ -74,13 +74,13 @@ final class LiteralNode
"exclude-result-prefixes");
if (attr != null)
{
- elementExcludeResultPrefixes = new HashSet();
+ elementExcludeResultPrefixes = new HashSet<String>();
StringTokenizer st = new StringTokenizer(attr.getNodeValue());
while (st.hasMoreTokens())
elementExcludeResultPrefixes.add(st.nextToken());
}
else
- elementExcludeResultPrefixes = Collections.EMPTY_SET;
+ elementExcludeResultPrefixes = Collections.<String>emptySet();
}
else
elementExcludeResultPrefixes = null;
diff --git a/gnu/xml/transform/NamespaceProxy.java b/gnu/xml/transform/NamespaceProxy.java
index 695fbeb52..45be9f0f1 100644
--- a/gnu/xml/transform/NamespaceProxy.java
+++ b/gnu/xml/transform/NamespaceProxy.java
@@ -1,5 +1,5 @@
/* NamespaceProxy.java --
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -68,7 +68,7 @@ class NamespaceProxy
return (node == null) ? null : node.lookupPrefix(namespaceURI);
}
- public Iterator getPrefixes(String namespaceURI)
+ public Iterator<String> getPrefixes(String namespaceURI)
{
// TODO
return Collections.singleton(getPrefix(namespaceURI)).iterator();
diff --git a/gnu/xml/transform/NodeNumberNode.java b/gnu/xml/transform/NodeNumberNode.java
index 6663db371..0d74420ed 100644
--- a/gnu/xml/transform/NodeNumberNode.java
+++ b/gnu/xml/transform/NodeNumberNode.java
@@ -1,5 +1,5 @@
/* NodeNumberNode.java --
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2015 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -43,10 +43,13 @@ import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import javax.xml.transform.TransformerException;
+
import org.w3c.dom.Node;
+
import gnu.xml.xpath.Expr;
import gnu.xml.xpath.Pattern;
import gnu.xml.xpath.Selector;
+import gnu.xml.xpath.Test;
import gnu.xml.xpath.UnionExpr;
/**
@@ -145,7 +148,7 @@ final class NodeNumberNode
return (context == null) ? new int[0] :
new int[] { (context == current) ? pos : getIndex(current, context) };
case MULTIPLE:
- List ancestors = new ArrayList();
+ List<Node> ancestors = new ArrayList<Node>();
while (context != null)
{
if (countMatches(current, context))
@@ -161,21 +164,21 @@ final class NodeNumberNode
int[] ret = new int[ancestors.size()];
for (int i = 0; i < ret.length; i++)
{
- ret[i] = getIndex(current, (Node) ancestors.get(i));
+ ret[i] = getIndex(current, ancestors.get(i));
}
return ret;
case ANY:
Expr preceding = new Selector(Selector.PRECEDING,
- Collections.EMPTY_LIST);
+ Collections.<Test>emptyList());
Expr ancestorOrSelf = new Selector(Selector.ANCESTOR_OR_SELF,
- Collections.EMPTY_LIST);
+ Collections.<Test>emptyList());
Expr any = new UnionExpr(preceding, ancestorOrSelf);
Object eval = any.evaluate(context, pos, len);
if (eval instanceof Collection)
{
- Collection ns = (Collection) eval;
- List candidates = new ArrayList();
- for (Iterator i = ns.iterator(); i.hasNext(); )
+ Collection<?> ns = (Collection<?>) eval;
+ List<Node> candidates = new ArrayList<Node>();
+ for (Iterator<?> i = ns.iterator(); i.hasNext(); )
{
Node candidate = (Node) i.next();
if (countMatches(current, candidate))
diff --git a/gnu/xml/transform/SAXSerializer.java b/gnu/xml/transform/SAXSerializer.java
index 3ea423410..bd653ab8e 100644
--- a/gnu/xml/transform/SAXSerializer.java
+++ b/gnu/xml/transform/SAXSerializer.java
@@ -1,5 +1,5 @@
/* SAXSerializer.java --
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2015 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -38,8 +38,9 @@ exception statement from your version. */
package gnu.xml.transform;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.LinkedList;
+import java.util.Map;
+
import org.w3c.dom.Attr;
import org.w3c.dom.DocumentType;
import org.w3c.dom.NamedNodeMap;
@@ -59,13 +60,13 @@ class SAXSerializer
{
transient NamedNodeMap attrs;
- transient LinkedList namespaces = new LinkedList();
+ transient LinkedList<Map<String,String>> namespaces =
+ new LinkedList<Map<String,String>>();
boolean isDefined(String prefix, String uri)
{
- for (Iterator i = namespaces.iterator(); i.hasNext(); )
+ for (Map<String,String> ctx : namespaces)
{
- HashMap ctx = (HashMap) i.next();
if (uri.equals(ctx.get(prefix)))
{
return true;
@@ -76,35 +77,33 @@ class SAXSerializer
void define(String prefix, String uri)
{
- for (Iterator i = namespaces.iterator(); i.hasNext(); )
+ for (Map<String,String> ctx : namespaces)
{
- HashMap ctx = (HashMap) i.next();
if (ctx.containsKey(prefix))
{
- HashMap newCtx = new HashMap();
+ Map<String,String> newCtx = new HashMap<String,String>();
newCtx.put(prefix, uri);
namespaces.addFirst(newCtx);
return;
}
}
- HashMap ctx;
+ Map<String,String> ctx;
if (namespaces.isEmpty())
{
- ctx = new HashMap();
+ ctx = new HashMap<String,String>();
namespaces.add(ctx);
}
else
{
- ctx = (HashMap) namespaces.getFirst();
+ ctx = namespaces.getFirst();
}
ctx.put(prefix, uri);
}
void undefine(String prefix, String uri)
{
- for (Iterator i = namespaces.iterator(); i.hasNext(); )
+ for (Map<String,String> ctx : namespaces)
{
- HashMap ctx = (HashMap) i.next();
if (uri.equals(ctx.get(prefix)))
{
ctx.remove(prefix);
diff --git a/gnu/xml/transform/StreamSerializer.java b/gnu/xml/transform/StreamSerializer.java
index a5705f891..383754a0c 100644
--- a/gnu/xml/transform/StreamSerializer.java
+++ b/gnu/xml/transform/StreamSerializer.java
@@ -1,5 +1,5 @@
/* StreamSerializer.java --
- Copyright (C) 2004,2006 Free Software Foundation, Inc.
+ Copyright (C) 2004,2006, 2015 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -50,9 +50,9 @@ import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.LinkedList;
import java.util.Map;
+import java.util.Set;
import javax.xml.XMLConstants;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
@@ -79,28 +79,29 @@ public class StreamSerializer
/**
* HTML 4.01 boolean attributes
*/
- static final Map HTML_BOOLEAN_ATTRIBUTES = new HashMap();
+ static final Map<String,Set<String>> HTML_BOOLEAN_ATTRIBUTES =
+ new HashMap<String,Set<String>>();
static
{
- HashSet set;
+ Set<String> set;
- set = new HashSet();
+ set = new HashSet<String>();
set.add("nohref");
HTML_BOOLEAN_ATTRIBUTES.put("area", set);
- set = new HashSet();
+ set = new HashSet<String>();
set.add("ismap");
HTML_BOOLEAN_ATTRIBUTES.put("img", set);
- set = new HashSet();
+ set = new HashSet<String>();
set.add("declare");
HTML_BOOLEAN_ATTRIBUTES.put("object", set);
- set = new HashSet();
+ set = new HashSet<String>();
set.add("noshade");
HTML_BOOLEAN_ATTRIBUTES.put("hr", set);
- set = new HashSet();
+ set = new HashSet<String>();
set.add("compact");
HTML_BOOLEAN_ATTRIBUTES.put("dl", set);
HTML_BOOLEAN_ATTRIBUTES.put("ol", set);
@@ -108,52 +109,52 @@ public class StreamSerializer
HTML_BOOLEAN_ATTRIBUTES.put("dir", set);
HTML_BOOLEAN_ATTRIBUTES.put("menu", set);
- set = new HashSet();
+ set = new HashSet<String>();
set.add("checked");
set.add("disabled");
set.add("readonly");
set.add("ismap");
HTML_BOOLEAN_ATTRIBUTES.put("input", set);
- set = new HashSet();
+ set = new HashSet<String>();
set.add("multiple");
set.add("disabled");
HTML_BOOLEAN_ATTRIBUTES.put("select", set);
- set = new HashSet();
+ set = new HashSet<String>();
set.add("disabled");
HTML_BOOLEAN_ATTRIBUTES.put("optgroup", set);
- set = new HashSet();
+ set = new HashSet<String>();
set.add("selected");
set.add("disabled");
HTML_BOOLEAN_ATTRIBUTES.put("option", set);
- set = new HashSet();
+ set = new HashSet<String>();
set.add("disabled");
set.add("readonly");
HTML_BOOLEAN_ATTRIBUTES.put("textarea", set);
- set = new HashSet();
+ set = new HashSet<String>();
set.add("disabled");
HTML_BOOLEAN_ATTRIBUTES.put("button", set);
- set = new HashSet();
+ set = new HashSet<String>();
set.add("nowrap");
HTML_BOOLEAN_ATTRIBUTES.put("th", set);
HTML_BOOLEAN_ATTRIBUTES.put("td", set);
- set = new HashSet();
+ set = new HashSet<String>();
set.add("noresize");
HTML_BOOLEAN_ATTRIBUTES.put("frame", set);
- set = new HashSet();
+ set = new HashSet<String>();
set.add("defer");
HTML_BOOLEAN_ATTRIBUTES.put("script", set);
}
// HTML namespace URIs
- static final HashSet HTML_URIS = new HashSet();
+ static final Set<String> HTML_URIS = new HashSet<String>();
static {
HTML_URIS.add("http://www.w3.org/1999/xhtml");
}
@@ -162,9 +163,9 @@ public class StreamSerializer
final Charset charset;
final CharsetEncoder encoder;
final int mode;
- final LinkedList namespaces;
+ final LinkedList<Map<String,String>> namespaces;
protected String eol;
- Collection cdataSectionElements = Collections.EMPTY_SET;
+ Collection<String> cdataSectionElements = Collections.<String>emptySet();
protected boolean discardDefaultContent;
protected boolean xmlDeclaration = true;
@@ -191,10 +192,10 @@ public class StreamSerializer
charset = Charset.forName(this.encoding);
encoder = charset.newEncoder();
this.eol = (eol != null) ? eol : System.getProperty("line.separator");
- namespaces = new LinkedList();
+ namespaces = new LinkedList<Map<String,String>>();
}
- void setCdataSectionElements(Collection c)
+ void setCdataSectionElements(Collection<String> c)
{
cdataSectionElements = c;
}
@@ -554,10 +555,9 @@ public class StreamSerializer
return "xmlns".equals(prefix);
if (prefix == null)
prefix = "";
- for (Iterator i = namespaces.iterator(); i.hasNext(); )
+ for (Map<String,String> ctx : namespaces)
{
- Map ctx = (Map) i.next();
- String val = (String) ctx.get(uri);
+ String val = ctx.get(uri);
if (val != null && val.equals(prefix))
return true;
}
@@ -566,14 +566,14 @@ public class StreamSerializer
void pushNamespaceContext()
{
- namespaces.addFirst(new HashMap());
+ namespaces.addFirst(new HashMap<String,String>());
}
String define(String uri, String prefix)
{
if (namespaces.isEmpty())
return prefix;
- HashMap ctx = (HashMap) namespaces.getFirst();
+ Map<String,String> ctx = namespaces.getFirst();
while (ctx.containsValue(prefix))
{
// Fabricate new prefix
@@ -741,8 +741,8 @@ public class StreamSerializer
elementName = element.getNodeName();
}
elementName = elementName.toLowerCase();
- Collection attributes =
- (Collection) HTML_BOOLEAN_ATTRIBUTES.get(elementName);
+ Collection<String> attributes =
+ HTML_BOOLEAN_ATTRIBUTES.get(elementName);
return (attributes != null && attributes.contains(attrName));
}
diff --git a/gnu/xml/transform/SystemPropertyFunction.java b/gnu/xml/transform/SystemPropertyFunction.java
index f314227e6..c856a1548 100644
--- a/gnu/xml/transform/SystemPropertyFunction.java
+++ b/gnu/xml/transform/SystemPropertyFunction.java
@@ -1,5 +1,5 @@
/* SystemPropertyFunction.java --
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2015, 2016 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -57,8 +57,9 @@ final class SystemPropertyFunction
implements XPathFunction, Function
{
- List args;
+ List<Expr> args;
+ @SuppressWarnings("rawtypes")
public Object evaluate(List args)
throws XPathFunctionException
{
@@ -66,7 +67,7 @@ final class SystemPropertyFunction
return systemProperty(QName.valueOf(name));
}
- public void setArguments(List args)
+ public void setArguments(List<Expr> args)
{
this.args = args;
}
@@ -74,10 +75,10 @@ final class SystemPropertyFunction
public Object evaluate(Node context, int pos, int len)
{
int arity = args.size();
- List values = new ArrayList(arity);
+ List<Object> values = new ArrayList<Object>(arity);
for (int i = 0; i < arity; i++)
{
- Expr arg = (Expr) args.get(i);
+ Expr arg = args.get(i);
values.add(arg.evaluate(context, pos, len));
}
String name = _string(context, values.get(0));
@@ -116,10 +117,10 @@ final class SystemPropertyFunction
{
SystemPropertyFunction f = new SystemPropertyFunction();
int len = args.size();
- List args2 = new ArrayList(len);
+ List<Expr> args2 = new ArrayList<Expr>(len);
for (int i = 0; i < len; i++)
{
- args2.add(((Expr) args.get(i)).clone(context));
+ args2.add(args.get(i).clone(context));
}
f.setArguments(args2);
return f;
@@ -127,9 +128,9 @@ final class SystemPropertyFunction
public boolean references(QName var)
{
- for (Iterator i = args.iterator(); i.hasNext(); )
+ for (Iterator<Expr> i = args.iterator(); i.hasNext(); )
{
- if (((Expr) i.next()).references(var))
+ if (i.next().references(var))
{
return true;
}
diff --git a/gnu/xml/transform/Template.java b/gnu/xml/transform/Template.java
index 09d1a997c..18100ac11 100644
--- a/gnu/xml/transform/Template.java
+++ b/gnu/xml/transform/Template.java
@@ -1,5 +1,5 @@
/* Template.java --
- Copyright (C) 2004,2006 Free Software Foundation, Inc.
+ Copyright (C) 2004,2006, 2015 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -56,7 +56,7 @@ import gnu.xml.xpath.Test;
* @author <a href='mailto:dog@gnu.org'>Chris Burdess</a>
*/
class Template
- implements Comparable
+ implements Comparable<Template>
{
static final double DEFAULT_PRIORITY = 0.5d;
@@ -156,18 +156,15 @@ class Template
isAnyNode);
}
- public int compareTo(Object other)
+ @Override
+ public int compareTo(Template t)
{
- if (other instanceof Template)
- {
- Template t = (Template) other;
- int d = t.precedence - precedence;
- if (d != 0)
- return d;
- double d2 = t.priority - priority;
- if (d2 != 0.0d)
- return (int) Math.round(d2 * 1000.0d);
- }
+ int d = t.precedence - precedence;
+ if (d != 0)
+ return d;
+ double d2 = t.priority - priority;
+ if (d2 != 0.0d)
+ return (int) Math.round(d2 * 1000.0d);
return 0;
}
diff --git a/gnu/xml/transform/TransformerFactoryImpl.java b/gnu/xml/transform/TransformerFactoryImpl.java
index 972e8a282..30dc9c384 100644
--- a/gnu/xml/transform/TransformerFactoryImpl.java
+++ b/gnu/xml/transform/TransformerFactoryImpl.java
@@ -1,5 +1,5 @@
/* TransformerFactoryImpl.java --
- Copyright (C) 2004,2006 Free Software Foundation, Inc.
+ Copyright (C) 2004,2006, 2015 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -43,7 +43,6 @@ import java.io.InputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URL;
-import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.Map;
@@ -171,7 +170,7 @@ public class TransformerFactoryImpl
}
Document doc = (node instanceof Document) ? (Document) node :
node.getOwnerDocument();
- LinkedList matches = new LinkedList();
+ LinkedList<URL> matches = new LinkedList<URL>();
for (node = doc.getFirstChild();
node != null;
node = node.getNextSibling())
@@ -179,7 +178,7 @@ public class TransformerFactoryImpl
if (node.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE &&
"xml-stylesheet".equals(node.getNodeName()))
{
- Map params = parseParameters(node.getNodeValue());
+ Map<String,String> params = parseParameters(node.getNodeValue());
if (media != null && !media.equals(params.get("media")))
{
continue;
@@ -192,7 +191,7 @@ public class TransformerFactoryImpl
{
continue;
}
- String href = (String) params.get("href");
+ String href = params.get("href");
URL url = resolver.resolveURL(null, node.getBaseURI(), href);
matches.add(url);
}
@@ -217,9 +216,8 @@ public class TransformerFactoryImpl
root.getAttributes().setNamedItemNS(version);
ssDoc.appendChild(root);
// Create xsl:import for each URL
- for (Iterator i = matches.iterator(); i.hasNext(); )
+ for (URL url : matches)
{
- URL url = (URL) i.next();
Node imp =
ssDoc.createElementNS(Stylesheet.XSL_NS, "import");
Node href =
@@ -242,9 +240,9 @@ public class TransformerFactoryImpl
}
}
- Map parseParameters(String data)
+ Map<String,String> parseParameters(String data)
{
- Map ret = new LinkedHashMap();
+ Map<String,String> ret = new LinkedHashMap<String,String>();
int len = data.length();
String key = null;
int start = 0;
diff --git a/gnu/xml/transform/TransformerImpl.java b/gnu/xml/transform/TransformerImpl.java
index eb6a5dea1..885642538 100644
--- a/gnu/xml/transform/TransformerImpl.java
+++ b/gnu/xml/transform/TransformerImpl.java
@@ -1,5 +1,5 @@
/* TransformerImpl.java --
- Copyright (C) 2004,2005,2006 Free Software Foundation, Inc.
+ Copyright (C) 2004,2005,2006, 2015 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -293,7 +293,7 @@ class TransformerImpl
parent.setUserData("media-type", mediaType, stylesheet);
if (cdataSectionElements != null)
{
- List list = new LinkedList();
+ List<QName> list = new LinkedList<QName>();
StringTokenizer st = new StringTokenizer(cdataSectionElements);
while (st.hasMoreTokens())
{
@@ -564,7 +564,7 @@ class TransformerImpl
new StreamSerializer(outputMethod, encoding, null);
if (stylesheet != null)
{
- Collection celem = stylesheet.outputCdataSectionElements;
+ Collection<String> celem = stylesheet.outputCdataSectionElements;
serializer.setCdataSectionElements(celem);
}
serializer.serialize(node, out);
@@ -686,7 +686,7 @@ class TransformerImpl
{
boolean markupContent = false;
boolean textContent = false;
- List children = new LinkedList();
+ List<Node> children = new LinkedList<Node>();
Node ctx = node.getFirstChild();
while (ctx != null)
{
@@ -716,9 +716,9 @@ class TransformerImpl
int nodeType = node.getNodeType();
if (nodeType == Node.DOCUMENT_NODE)
{
- for (Iterator i = children.iterator(); i.hasNext(); )
+ for (Iterator<Node> i = children.iterator(); i.hasNext(); )
{
- ctx = (Node) i.next();
+ ctx = i.next();
reindent(doc, ctx, offset);
}
}
@@ -729,9 +729,9 @@ class TransformerImpl
for (int i = 0; i < offset + 1; i++)
buf.append(INDENT_WHITESPACE);
String ws = buf.toString();
- for (Iterator i = children.iterator(); i.hasNext(); )
+ for (Iterator<Node> i = children.iterator(); i.hasNext(); )
{
- ctx = (Node) i.next();
+ ctx = i.next();
node.insertBefore(doc.createTextNode(ws), ctx);
reindent(doc, ctx, offset + 1);
}
@@ -750,14 +750,13 @@ class TransformerImpl
* Converts the text node children of any cdata-section-elements in the
* tree to CDATA section nodes.
*/
- void convertCdataSectionElements(Document doc, Node node, List list)
+ void convertCdataSectionElements(Document doc, Node node, List<QName> list)
{
if (node.getNodeType() == Node.ELEMENT_NODE)
{
boolean match = false;
- for (Iterator i = list.iterator(); i.hasNext(); )
+ for (QName qname : list)
{
- QName qname = (QName) i.next();
if (match(qname, node))
{
match = true;
diff --git a/gnu/xml/transform/TransformerOutputProperties.java b/gnu/xml/transform/TransformerOutputProperties.java
index ddaa260c4..0b6f50e10 100644
--- a/gnu/xml/transform/TransformerOutputProperties.java
+++ b/gnu/xml/transform/TransformerOutputProperties.java
@@ -1,5 +1,5 @@
/* TransformerOutputProperties.java --
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2015 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -98,14 +98,14 @@ class TransformerOutputProperties
stylesheet.outputSystemId);
}
CPStringBuilder buf = new CPStringBuilder();
- for (Iterator i = stylesheet.outputCdataSectionElements.iterator();
+ for (Iterator<String> i = stylesheet.outputCdataSectionElements.iterator();
i.hasNext(); )
{
if (buf.length() > 0)
{
buf.append(' ');
}
- buf.append((String) i.next());
+ buf.append(i.next());
}
defaultProperties.put(OutputKeys.CDATA_SECTION_ELEMENTS, buf.toString());
defaultProperties.put(OutputKeys.INDENT,
@@ -172,7 +172,7 @@ class TransformerOutputProperties
stylesheet.outputSystemId = getProperty(OutputKeys.DOCTYPE_SYSTEM);
StringTokenizer st =
new StringTokenizer(getProperty(OutputKeys.CDATA_SECTION_ELEMENTS));
- Collection acc = new LinkedHashSet();
+ Collection<String> acc = new LinkedHashSet<String>();
while (st.hasMoreTokens())
{
acc.add(st.nextToken());
diff --git a/gnu/xml/transform/UnparsedEntityUriFunction.java b/gnu/xml/transform/UnparsedEntityUriFunction.java
index 5eae78cb2..b4fc21c2d 100644
--- a/gnu/xml/transform/UnparsedEntityUriFunction.java
+++ b/gnu/xml/transform/UnparsedEntityUriFunction.java
@@ -1,5 +1,5 @@
/* UnparsedEntityUriFunction.java --
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2015 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -63,6 +63,7 @@ final class UnparsedEntityUriFunction
List<Expr> args;
+ @SuppressWarnings("rawtypes")
public Object evaluate(List args)
throws XPathFunctionException
{
diff --git a/gnu/xml/transform/ValueOfNode.java b/gnu/xml/transform/ValueOfNode.java
index 0d9a656e7..c1f797596 100644
--- a/gnu/xml/transform/ValueOfNode.java
+++ b/gnu/xml/transform/ValueOfNode.java
@@ -1,5 +1,5 @@
/* ValueOfNode.java --
- Copyright (C) 2004,2006 Free Software Foundation, Inc.
+ Copyright (C) 2004,2006, 2015 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -40,7 +40,6 @@ package gnu.xml.transform;
import gnu.java.lang.CPStringBuilder;
import java.util.Collection;
-import java.util.Iterator;
import javax.xml.namespace.QName;
import javax.xml.transform.TransformerException;
import org.w3c.dom.Document;
@@ -88,9 +87,13 @@ final class ValueOfNode
if (ret instanceof Collection)
{
CPStringBuilder buf = new CPStringBuilder();
- for (Node node : ((Collection<Node>) ret))
+ for (Object o : ((Collection<?>) ret))
{
- buf.append(Expr.stringValue(node));
+ if (o instanceof Node)
+ {
+ Node node = (Node) o;
+ buf.append(Expr.stringValue(node));
+ }
}
value = buf.toString();
}
diff --git a/gnu/xml/transform/XSLComparator.java b/gnu/xml/transform/XSLComparator.java
index 1fd0b20e6..df025db45 100644
--- a/gnu/xml/transform/XSLComparator.java
+++ b/gnu/xml/transform/XSLComparator.java
@@ -1,5 +1,5 @@
/* XSLComparator.java --
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2015 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -38,7 +38,6 @@ exception statement from your version. */
package gnu.xml.transform;
import java.util.Comparator;
-import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.text.Collator;