PageList.java 1.78 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  org.slf4j.Logger
 *  org.slf4j.LoggerFactory
 */
package com.day.cq.searchpromote.xml.result;

import com.day.cq.searchpromote.xml.result.ResultEntity;
import com.day.cq.searchpromote.xml.result.ResultPage;
import com.day.cq.searchpromote.xml.result.ResultParser;
import java.util.ArrayList;
import java.util.List;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLEventReader;
import javax.xml.stream.events.Attribute;
import javax.xml.stream.events.StartElement;
import javax.xml.stream.events.XMLEvent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class PageList
implements ResultEntity {
    private static final String POSITION_NODE = "position";
    private static final String PAGE_NODE = "page";
    private static final Logger LOG = LoggerFactory.getLogger(PageList.class);
    private List<ResultPage> pages = new ArrayList<ResultPage>();

    public List<ResultPage> getPages() {
        return this.pages;
    }

    @Override
    public void parse(XMLEventReader reader) throws Exception {
        XMLEvent event;
        LOG.debug("Parsing page list");
        while (reader.hasNext() && !(event = ResultParser.getNextEvent(reader)).isEndElement()) {
            StartElement element = event.asStartElement();
            if (element.getName().getLocalPart().equals("page")) {
                String position = element.getAttributeByName(new QName("position")).getValue();
                boolean selected = ResultParser.isSelected(element);
                ResultPage page = new ResultPage(position, selected);
                page.parse(reader);
                this.pages.add(page);
                continue;
            }
            ResultParser.parseUnknownTag(reader);
        }
    }
}