<..insert sax filters..>
for( int i=1; i<className.length; i++ ){
argTypes = new Class [3];
argTypes[0] = PrintWriter.class;
argTypes[1] = PrintWriter.class;
argTypes[2] = boolean.class;
parmValues = new Object[3];
parmValues[0] = out;
parmValues[1] = Xtpipes.logWriter;
parmValues[2] = (Object) Xtpipes.trace;
errMsg = "Class.forName( " + className[i].trim() + ") " ;
cls = Class.forName( className[i].trim() );
errMsg = "get-constructor "
+ className[i].trim()
+ "( PrintWriter, PrintWriter, boolean ) " ;
c = cls.getConstructor( argTypes );
errMsg = "get-object "
+ className[i].trim()
+ "( PrintWriter, PrintWriter, boolean ) " ;
if( (cls.getModifiers() % 2) != 1 ){
errMsg += "; class not defined to be public. ";
}
XMLFilter filter = (XMLFilter) c.newInstance( parmValues );
errMsg = "set-parent "
+ className[i].trim()
+ "( PrintWriter, PrintWriter, boolean ) " ;
filter.setParent(saxReader);
saxReader = filter;
}
-_-_-
The filters are assumed to have a tri-parameter constructors which get an output stream for first arguments, log stream for second argument, and a trace boolean value for third argument.