package org;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.filters.TokenFilter;

/**
* written to allow values to be stripped out of code.
* 
This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

*/

public class RemoveSection
	extends TokenFilter.ChainableReaderFilter {

	private String notContains;
	
	private boolean inSection=false;

	public void setString(String notContains) {
		this.notContains = notContains;
	}

	public String filter(String input) {
		
		if (notContains == null) {
			throw new BuildException("Missing attribute \"string\"");
		}
		
		if (input.indexOf("<start-"+notContains) != -1) {
		inSection=true;
		}
		
		if (!inSection) {
			
			return input;
			
		} else {
			
			if (input.indexOf("<end-"+notContains) != -1) 
			inSection=false;
			return null;
		}	
	}
}