diff options
Diffstat (limited to 'ant/ant14/com/vladium/emma/instr/FilterCfg.java')
-rw-r--r-- | ant/ant14/com/vladium/emma/instr/FilterCfg.java | 195 |
1 files changed, 0 insertions, 195 deletions
diff --git a/ant/ant14/com/vladium/emma/instr/FilterCfg.java b/ant/ant14/com/vladium/emma/instr/FilterCfg.java deleted file mode 100644 index 1d13cae..0000000 --- a/ant/ant14/com/vladium/emma/instr/FilterCfg.java +++ /dev/null @@ -1,195 +0,0 @@ -/* Copyright (C) 2003 Vladimir Roubtsov. All rights reserved. - * - * This program and the accompanying materials are made available under - * the terms of the Common Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/cpl-v10.html - * - * $Id: FilterCfg.java,v 1.2 2004/05/20 02:28:07 vlad_r Exp $ - */ -package com.vladium.emma.instr; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.Task; - -import com.vladium.util.IConstants; -import com.vladium.util.Strings; -import com.vladium.emma.ant.StringValue; -import com.vladium.emma.ant.SuppressableTask; -import com.vladium.emma.filter.IInclExclFilter; - -// ---------------------------------------------------------------------------- -/** - * @author Vlad Roubtsov, (C) 2003 - */ -public -class FilterCfg -{ - // public: ................................................................ - - - public static final class filterElement extends StringValue - { - public filterElement (final Task task) - { - super (task); - } - - public void setValue (final String value) - { - final String [] specs = Strings.merge (new String [] {value}, COMMA_DELIMITERS, true); - - for (int i = 0; i < specs.length; ++ i) - { - final String spec = specs [i]; - - if (spec.startsWith (IInclExclFilter.INCLUSION_PREFIX_STRING) || - spec.startsWith (IInclExclFilter.EXCLUSION_PREFIX_STRING)) - { - appendValue (spec, COMMA); - } - else - { - appendValue (IInclExclFilter.INCLUSION_PREFIX + spec, COMMA); // default to inclusion - } - } - } - - /** - * Set the 'file' attribute. - */ - public void setFile (final File file) - { - appendValue ("@".concat (file.getAbsolutePath ()), COMMA); // actual file I/O delayed until getFilterSpecs() - } - - public void setIncludes (final String value) - { - final String [] specs = Strings.merge (new String [] {value}, COMMA_DELIMITERS, true); - - for (int i = 0; i < specs.length; ++ i) - { - final String spec = specs [i]; - - if (spec.startsWith (IInclExclFilter.INCLUSION_PREFIX_STRING)) - { - appendValue (spec, COMMA); - } - else - { - if (spec.startsWith (IInclExclFilter.EXCLUSION_PREFIX_STRING)) - appendValue (IInclExclFilter.INCLUSION_PREFIX + spec.substring (1), COMMA); // override - else - appendValue (IInclExclFilter.INCLUSION_PREFIX + spec, COMMA); - } - } - } - - public void setExcludes (final String value) - { - final String [] specs = Strings.merge (new String [] {value}, COMMA_DELIMITERS, true); - - for (int i = 0; i < specs.length; ++ i) - { - final String spec = specs [i]; - - if (spec.startsWith (IInclExclFilter.EXCLUSION_PREFIX_STRING)) - { - appendValue (spec, COMMA); - } - else - { - if (spec.startsWith (IInclExclFilter.INCLUSION_PREFIX_STRING)) - appendValue (IInclExclFilter.EXCLUSION_PREFIX + spec.substring (1), COMMA); // override - else - appendValue (IInclExclFilter.EXCLUSION_PREFIX + spec, COMMA); - } - } - } - - } // end of nested class - - - public FilterCfg (final Task task) - { - if (task == null) throw new IllegalArgumentException ("null input: task"); - - m_task = task; - m_filterList = new ArrayList (); - } - - - // filter attribute/element: - - public void setFilter (final String filter) - { - createFilter ().appendValue (filter, COMMA); - } - - public filterElement createFilter () - { - final filterElement result = new filterElement (m_task); - m_filterList.add (result); - - return result; - } - - // ACCESSORS: - - public String [] getFilterSpecs () - { - if (m_specs != null) - return m_specs; - else - { - if ((m_filterList == null) || m_filterList.isEmpty ()) - { - m_specs = IConstants.EMPTY_STRING_ARRAY; - } - else - { - final String [] values = new String [m_filterList.size ()]; - - int j = 0; - for (Iterator i = m_filterList.iterator (); i.hasNext (); ++ j) - values [j] = ((StringValue) i.next ()).getValue (); - - try - { - m_specs = Strings.mergeAT (values, COMMA_DELIMITERS, true); - } - catch (IOException ioe) - { - throw (BuildException) SuppressableTask.newBuildException (m_task.getTaskName () - + ": I/O exception while processing input" , ioe, m_task.getLocation ()).fillInStackTrace (); - } - } - - return m_specs; - } - } - - // protected: ............................................................. - - - protected static final String COMMA = ","; - protected static final String COMMA_DELIMITERS = COMMA + Strings.WHITE_SPACE; - protected static final String PATH_DELIMITERS = COMMA.concat (File.pathSeparator); - - // package: ............................................................... - - // private: ............................................................... - - - private final Task m_task; // never null - private final List /* filterElement */ m_filterList; // never null - - private transient String [] m_specs; - -} // end of class -// ----------------------------------------------------------------------------
\ No newline at end of file |