diff --git a/proposal/sandbox/filterreaders/src/main/org/apache/tools/ant/filters/StripLineBreaks.java b/proposal/sandbox/filterreaders/src/main/org/apache/tools/ant/filters/StripLineBreaks.java index 58081e54d..62ca3e321 100644 --- a/proposal/sandbox/filterreaders/src/main/org/apache/tools/ant/filters/StripLineBreaks.java +++ b/proposal/sandbox/filterreaders/src/main/org/apache/tools/ant/filters/StripLineBreaks.java @@ -3,8 +3,8 @@ package org.apache.tools.ant.filters; import java.io.FilterReader; import java.io.IOException; import java.io.Reader; -import java.util.Hashtable; +import org.apache.tools.ant.types.Parameter; import org.apache.tools.ant.types.Parameterizable; /** @@ -28,7 +28,7 @@ public final class StripLineBreaks */ private static final String LINE_BREAKS_KEY = "linebreaks"; - private Hashtable parameters; + private Parameter[] parameters; /** * Create a new filtered reader. @@ -73,15 +73,22 @@ public final class StripLineBreaks * the option is requested, then line breaks are probably in the source string. */ private final String stripLineBreaks(final String source) { - final int len=source.length(); - final String userDefinedLineBreaks = - (String) parameters.get(LINE_BREAKS_KEY); + final int len = source.length(); + String userDefinedLineBreaks = null; + if (parameters != null) { + for (int i = 0; i < parameters.length; i++) { + if (LINE_BREAKS_KEY.equals(parameters[i].getName())) { + userDefinedLineBreaks = parameters[i].getValue(); + break; + } + } + } String lineBreaks = DEFAULT_LINE_BREAKS; if (userDefinedLineBreaks != null) { lineBreaks = userDefinedLineBreaks; } - final StringBuffer dest=new StringBuffer(len); + final StringBuffer dest = new StringBuffer(len); for(int i=0;i. + */ +package org.apache.tools.ant.types; + +/** + * A parameter is composed of a name, type and value. + * + * @author Magesh Umasankar + */ +public final class Parameter { + private String name = null; + private String type = null; + private String value = null; + + public final void setName(final String name) { + this.name = name; + } + + public final void setType(final String type) { + this.type = type; + } + + public final void setValue(final String value) { + this.value = value; + } + + public final String getName() { + return name; + } + + public final String getType() { + return type; + } + + public final String getValue() { + return value; + } +} diff --git a/proposal/sandbox/filterreaders/src/main/org/apache/tools/ant/types/Parameterizable.java b/proposal/sandbox/filterreaders/src/main/org/apache/tools/ant/types/Parameterizable.java index f66f0fae4..7c4b5e0b5 100644 --- a/proposal/sandbox/filterreaders/src/main/org/apache/tools/ant/types/Parameterizable.java +++ b/proposal/sandbox/filterreaders/src/main/org/apache/tools/ant/types/Parameterizable.java @@ -53,7 +53,7 @@ */ package org.apache.tools.ant.types; -import java.util.Hashtable; +import java.util.Vector; /** * Parameterizable objects take genric key value pairs. @@ -61,5 +61,5 @@ import java.util.Hashtable; * @author Magesh Umasankar */ public interface Parameterizable { - void setParameters(Hashtable parameters); + void setParameters(Parameter[] parameters); }