public Object end(final String uri,
final String localName,
final ExtensibleXmlParser parser) throws SAXException {
final Element element = parser.endElementBuilder();
final String expression =((org.w3c.dom.Text)element.getChildNodes().item( 0 )).getWholeText();
final Object parent = parser.getParent();
final AccumulateDescr accumulate = (AccumulateDescr) parent;
if ( localName.equals( "init" ) ) {
emptyContentCheck( localName, expression, parser );
accumulate.setInitCode( expression.trim() );
} else if ( localName.equals( "action" ) ) {
emptyContentCheck( localName, expression, parser );
accumulate.setActionCode( expression.trim() );
} else if ( localName.equals( "result" ) ) {
emptyContentCheck( localName, expression, parser );
accumulate.setResultCode( expression.trim() );
} else if ( localName.equals( "reverse" ) ) {
emptyContentCheck( localName, expression, parser );
accumulate.setReverseCode( expression.trim() );
} else if ( localName.equals( "external-function" ) ) {
accumulate.addFunction( element.getAttribute( "evaluator" ),
null,
new String[] { element.getAttribute( "expression" ) });
}
return null;
}