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;
}