Example usage for org.apache.commons.digester3 Digester addSetNext

List of usage examples for org.apache.commons.digester3 Digester addSetNext

Introduction

In this page you can find the example usage for org.apache.commons.digester3 Digester addSetNext.

Prototype

public void addSetNext(String pattern, String methodName, String paramType) 

Source Link

Document

Add a "set next" rule for the specified parameters.

Usage

From source file:net.sf.mcf2pdf.mcfelements.impl.DigesterConfiguratorImpl.java

@Override
public void configureDigester(Digester digester, File mcfFile) throws IOException {
    digester.setSubstitutor(createSubstitutor());

    // fotobook element
    digester.addObjectCreate("fotobook", getFotobookClass());
    DigesterUtil.addSetProperties(digester, "fotobook", getSpecialFotobookAttributes());

    // page element
    digester.addObjectCreate("fotobook/page", getPageClass());
    digester.addSetTop("fotobook/page", "setFotobook");
    DigesterUtil.addSetProperties(digester, "fotobook/page", getSpecialPageAttributes());
    digester.addSetNext("fotobook/page", "addPage", McfPage.class.getName());

    // background element
    digester.addObjectCreate("fotobook/page/background", getBackgroundClass());
    digester.addSetTop("fotobook/page/background", "setPage");
    DigesterUtil.addSetProperties(digester, "fotobook/page/background", getSpecialBackgroundAttributes());
    digester.addSetNext("fotobook/page/background", "addBackground", McfBackground.class.getName());

    // area element
    digester.addObjectCreate("fotobook/page/area", getAreaClass());
    digester.addSetTop("fotobook/page/area", "setPage");
    DigesterUtil.addSetProperties(digester, "fotobook/page/area", getSpecialAreaAttributes());
    digester.addSetNext("fotobook/page/area", "addArea", McfArea.class.getName());

    // border element
    digester.addObjectCreate("fotobook/page/area/border", getBorderClass());
    DigesterUtil.addSetProperties(digester, "fotobook/page/area/border", getSpecialBorderAttributes());
    digester.addSetNext("fotobook/page/area/border", "setBorder");

    // text element, including textFormat element
    digester.addObjectCreate("fotobook/page/area/text", getTextClass());
    digester.addSetProperties("fotobook/page/area/text");
    digester.addCallMethod("fotobook/page/area/text", "setHtmlContent", 0);
    DigesterUtil.addSetProperties(digester, "fotobook/page/area/text/textFormat",
            getSpecialTextFormatAttributes());
    digester.addSetNext("fotobook/page/area/text", "setContent");
    digester.addSetTop("fotobook/page/area/text", "setArea");

    // clipart element
    digester.addObjectCreate("fotobook/page/area/clipart", getClipartClass());
    digester.addSetProperties("fotobook/page/area/clipart");
    digester.addSetNext("fotobook/page/area/clipart", "setContent");
    digester.addSetTop("fotobook/page/area/clipart", "setArea");

    // image element
    digester.addObjectCreate("fotobook/page/area/image", getImageClass());
    DigesterUtil.addSetProperties(digester, "fotobook/page/area/image", getSpecialImageAttributes());
    digester.addSetNext("fotobook/page/area/image", "setContent");
    digester.addSetTop("fotobook/page/area/image", "setArea");

    // imagebackground element
    digester.addObjectCreate("fotobook/page/area/imagebackground", getImageBackgroundClass());
    DigesterUtil.addSetProperties(digester, "fotobook/page/area/imagebackground", getSpecialImageAttributes());
    digester.addSetNext("fotobook/page/area/imagebackground", "setContent");
    digester.addSetTop("fotobook/page/area/imagebackground", "setArea");
}

From source file:com.w20e.socrates.factories.XMLQuestionnaireFactory.java

/**
 * Create a new Digester for the instance. This should ALWAYS happen for
 * each parse... Seriously!/*from  w w w .j  a  v  a  2  s  .com*/
 * 
 * @return the digester
 */
private Digester createInstanceDigester() {

    Digester dig = new Digester();

    NodeFactory nodeFactory = new NodeFactory();
    PropertiesFactory propsFactory = new PropertiesFactory();
    ExpressionFactory exprFactory = new ExpressionFactory();
    SurveyFactory surveyFactory = new SurveyFactory();

    dig.addFactoryCreate("survey", surveyFactory);
    dig.addSetProperties("survey");

    // dig.addRule("*/var", nodeCreateRule);
    // dig.addCallParam( "*/var", 0, "name");
    // dig.addCallParam( "*/var", 1);
    dig.addFactoryCreate("*/var", nodeFactory);
    dig.addCallMethod("*/var", "setValue", 1);
    dig.addCallParam("*/var", 0);
    dig.addSetNext("*/var", "addNode", "com.w20e.socrates.model.NodeImpl");

    // dig.addObjectCreate("*/vargroup", Node.class);
    // dig.addSetNext("*/var", "addNode");

    dig.addFactoryCreate("*/model/properties", propsFactory);
    dig.addSetNext("*/model/properties", "addProperties", "com.w20e.socrates.model.ItemPropertiesImpl");

    dig.addCallMethod("*/model/properties/bind", "addBind", 1);
    dig.addCallParam("*/model/properties/bind", 0);

    Rule exprRule = new ExpressionCreateRule(exprFactory);

    dig.addRule("*/properties/required", exprRule);
    dig.addCallMethod("*/properties/required", "setExpr", 1);
    dig.addCallParam("*/properties/required", 0);

    dig.addRule("*/properties/relevant", exprRule);
    dig.addCallMethod("*/properties/relevant", "setExpr", 1);
    dig.addCallParam("*/properties/relevant", 0);

    dig.addRule("*/properties/readonly", exprRule);
    dig.addCallMethod("*/properties/readonly", "setExpr", 1);
    dig.addCallParam("*/properties/readonly", 0);

    dig.addRule("*/properties/calculate", exprRule);
    dig.addCallMethod("*/properties/calculate", "setExpr", 1);
    dig.addCallParam("*/properties/calculate", 0);

    dig.addRule("*/properties/constraint", exprRule);
    dig.addCallMethod("*/properties/constraint", "setExpr", 1);
    dig.addCallParam("*/properties/constraint", 0);

    dig.addRule("*/properties/datatype", exprRule);
    dig.addCallMethod("*/properties/datatype", "setExpr", 1);
    dig.addCallParam("*/properties/datatype", 0);

    dig.addRule("*/properties/default", exprRule);
    dig.addCallMethod("*/properties/default", "setExpr", 1);
    dig.addCallParam("*/properties/default", 0);

    return dig;
}