1 package baseCode.dataFilter;
2
3 import java.lang.reflect.Constructor;
4
5 import org.apache.commons.logging.Log;
6 import org.apache.commons.logging.LogFactory;
7
8 import baseCode.dataStructure.matrix.NamedMatrix;
9
10 /***
11 * Base implementation of the filter class. Subclasses must implement the filter() method.
12 * <p>
13 * Copyright (c) 2004 Columbia University
14 * </p>
15 *
16 * @author Paul Pavlidis
17 * @version $Id: AbstractFilter.java,v 1.11 2004/07/27 03:18:58 pavlidis Exp $
18 */
19
20 public abstract class AbstractFilter implements Filter {
21
22 protected static final Log log = LogFactory.getLog( AbstractFilter.class );
23
24 protected NamedMatrix getOutputMatrix( NamedMatrix data, int numRows,
25 int numCols ) {
26 NamedMatrix returnval = null;
27
28 Constructor cr;
29 try {
30 cr = data.getClass().getConstructor( new Class[] {
31 int.class, int.class
32 } );
33 returnval = ( NamedMatrix ) cr.newInstance( new Object[] {
34 new Integer( numRows ), new Integer( numCols )
35 } );
36 } catch ( Exception e ) {
37 e.printStackTrace();
38 }
39
40 return returnval;
41 }
42
43 }