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) 

Source Link

Document

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

Usage

From source file:uk.co.sdev.undertow.rx.services.news.PushDigester.java

public void digest(InputStream is, Subscriber<? super NewsItem> subscriber) {
    try {// w w  w .  j  av a2s  . c  o  m
        Digester digester = new Digester();
        digester.setValidating(false);

        digester.push((Consumer<NewsItemDigestible>) newsItemDigestible -> {
            if (newsItemDigestible.hasImage()) {
                subscriber.onNext(newsItemDigestible.toNewsItem());
            }
        });
        digester.addObjectCreate("rss/channel/item", NewsItemDigestible.class.getName());
        digester.addBeanPropertySetter("rss/channel/item/title", "headline");
        digester.addBeanPropertySetter("rss/channel/item/description", "description");
        digester.addBeanPropertySetter("rss/channel/item/guid", "link");
        configureImageRules(digester);
        digester.addSetNext("rss/channel/item", "accept");

        digester.parse(is);

        subscriber.onCompleted();
    } catch (Exception e) {
        subscriber.onError(e);
    }
}

From source file:uk.co.sdev.undertow.rx.services.news.telegraph.TelegraphDigester.java

@Override
protected void configureImageRules(Digester digester) {
    digester.addObjectCreate("rss/channel/item/enclosure", Image.class.getName());
    digester.addSetProperties("rss/channel/item/enclosure");
    digester.addSetNext("rss/channel/item/enclosure", "addImage");
}