From 8aa365e5d7d7f14ac4e0002be30968df77b08b56 Mon Sep 17 00:00:00 2001 From: Magesh Umasankar Date: Sat, 16 Feb 2002 02:29:34 +0000 Subject: [PATCH] 1. Change Parameterizable interface's setParameters method signature such that it takes in an array of type Parameter instead of Hashtable. 2. Introduce "type" as an attribute to nested param. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271376 13f79535-47bb-0310-9956-ffa450edef68 --- .../tools/ant/filters/StripLineBreaks.java | 21 +++-- .../apache/tools/ant/taskdefs/LoadFile.java | 4 +- .../tools/ant/types/AntFilterReader.java | 36 +------- .../org/apache/tools/ant/types/Parameter.java | 89 +++++++++++++++++++ .../tools/ant/types/Parameterizable.java | 4 +- 5 files changed, 110 insertions(+), 44 deletions(-) create mode 100644 proposal/sandbox/filterreaders/src/main/org/apache/tools/ant/types/Parameter.java 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); }