/* *****************************************************************************
* Copyright (c) 2009 Ola Spjuth.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Ola Spjuth - initial API and implementation
******************************************************************************/
package net.bioclipse.vscreen.filters;
import java.util.ArrayList;
import java.util.List;
import org.apache.log4j.Logger;
import net.bioclipse.core.business.BioclipseException;
import net.bioclipse.core.util.LogUtils;
import net.bioclipse.vscreen.Activator;
/**
* An abstract implementation of an IParamFilter.
*
* @author ola
*
*/
public abstract class AbstractParamFilter extends AbstractScreeningFilter
implements IParamFilter {
private static final Logger logger =
Logger.getLogger(AbstractParamFilter.class);
String paramString;
public List<String> getParameters() {
return params;
}
public void setParameterss( List<String> params ) {
this.params = params;
}
private List<String> params;
public String getParameterString() {
return paramString;
}
public void setParameterString( String parameters ) {
this.paramString = parameters;
try {
initParams();
} catch ( BioclipseException e ) {
LogUtils.handleException( e, logger, Activator.PLUGIN_ID );
}
}
private void initParams() throws BioclipseException {
params=new ArrayList<String>();
if (getParameterString()==null) throw new BioclipseException(
"No parameters for RestrictElementFilter!" );
String[] elements = getParameterString().split( "," );
for (String element : elements){
params.add( element );
}
}
public String toXML(){
String ret=" <filter type='" + getName() + "'>\n";
for (String param : params){
ret=ret + " <parameter name='param' vlue='" + param+ " />\n";
}
ret = ret + "</filter>\n";
return ret;
}
public void fromXML(String xml){
//TODO
}
}