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

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

Introduction

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

Prototype

public void addObjectCreate(String pattern, Class<?> clazz) 

Source Link

Document

Add an "object create" 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 {/*from ww w  . ja  va  2  s  . c  om*/
        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");
}