protected void configure()

in commons-digester3-examples/rss/src/main/java/org/apache/commons/digester3/rss/RSSDigester.java [114:166]


    protected void configure()
    {
        if ( configured )
        {
            return;
        }

        // FIXME - validate the "version" attribute of the rss element?

        // Add the rules for the Channel object
        addObjectCreate( "rss/channel", channelClass );
        addCallMethod( "rss/channel/copyright", "setCopyright", 0 );
        addCallMethod( "rss/channel/description", "setDescription", 0 );
        addCallMethod( "rss/channel/docs", "setDocs", 0 );
        addCallMethod( "rss/channel/language", "setLanguage", 0 );
        addCallMethod( "rss/channel/lastBuildDate", "setLastBuildDate", 0 );
        addCallMethod( "rss/channel/link", "setLink", 0 );
        addCallMethod( "rss/channel/managingEditor", "setManagingEditor", 0 );
        addCallMethod( "rss/channel/pubDate", "setPubDate", 0 );
        addCallMethod( "rss/channel/rating", "setRating", 0 );
        addCallMethod( "rss/channel/skipDays/day", "addSkipDay", 0 );
        addCallMethod( "rss/channel/skipHours/hour", "addSkipHour", 0 );
        addCallMethod( "rss/channel/title", "setTitle", 0 );
        addCallMethod( "rss/channel/webMaster", "setWebMaster", 0 );

        // Add the rules for the Image object
        addObjectCreate( "rss/channel/image", imageClass );
        addSetNext( "rss/channel/image", "setImage", "org.apache.commons.digester3.rss.Image" );
        addCallMethod( "rss/channel/image/description", "setDescription", 0 );
        addCallMethod( "rss/channel/image/height", "setHeight", 0, new Class[] { Integer.TYPE } );
        addCallMethod( "rss/channel/image/link", "setLink", 0 );
        addCallMethod( "rss/channel/image/title", "setTitle", 0 );
        addCallMethod( "rss/channel/image/url", "setURL", 0 );
        addCallMethod( "rss/channel/image/width", "setWidth", 0, new Class[] { Integer.TYPE } );

        // Add the rules for the Item object
        addObjectCreate( "rss/channel/item", itemClass );
        addSetNext( "rss/channel/item", "addItem", "org.apache.commons.digester3.rss.Item" );
        addCallMethod( "rss/channel/item/description", "setDescription", 0 );
        addCallMethod( "rss/channel/item/link", "setLink", 0 );
        addCallMethod( "rss/channel/item/title", "setTitle", 0 );

        // Add the rules for the TextInput object
        addObjectCreate( "rss/channel/textinput", textInputClass );
        addSetNext( "rss/channel/textinput", "setTextInput", "org.apache.commons.digester3.rss.TextInput" );
        addCallMethod( "rss/channel/textinput/description", "setDescription", 0 );
        addCallMethod( "rss/channel/textinput/link", "setLink", 0 );
        addCallMethod( "rss/channel/textinput/name", "setName", 0 );
        addCallMethod( "rss/channel/textinput/title", "setTitle", 0 );

        // Mark this digester as having been configured
        configured = true;
    }