summaryrefslogtreecommitdiff
path: root/ant/ant14/com/vladium/emma/instr/FilterCfg.java
diff options
context:
space:
mode:
Diffstat (limited to 'ant/ant14/com/vladium/emma/instr/FilterCfg.java')
-rw-r--r--ant/ant14/com/vladium/emma/instr/FilterCfg.java195
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