MenuItem.java 2.02 KB
/*
 * Decompiled with CFR 0_118.
 */
package com.day.cq.searchpromote.xml.result;

import com.day.cq.searchpromote.xml.result.AbstractResultEntity;
import com.day.cq.searchpromote.xml.result.ResultParser;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLEventReader;
import javax.xml.stream.events.StartElement;
import javax.xml.stream.events.XMLEvent;

public class MenuItem
extends AbstractResultEntity {
    private static final String LABEL_NODE = "label";
    private static final String VALUE_NODE = "value";
    private static final String LINK_NODE = "link";
    private String label;
    private String value;
    private String queryString;
    private boolean selected;

    public MenuItem(boolean selected) {
        this.selected = selected;
    }

    @Override
    public void parse(XMLEventReader reader) throws Exception {
        XMLEvent nextEvent;
        while (reader.hasNext() && !(nextEvent = ResultParser.getNextEvent(reader)).isEndElement()) {
            String data;
            StartElement element = nextEvent.asStartElement();
            String localPart = element.getName().getLocalPart();
            if ("label".equals(localPart)) {
                this.label = data = this.readData(reader);
                ResultParser.getNextEvent(reader);
                continue;
            }
            if ("value".equals(localPart)) {
                this.value = data = this.readData(reader);
                ResultParser.getNextEvent(reader);
                continue;
            }
            if ("link".equals(localPart)) {
                this.queryString = data = this.readData(reader);
                ResultParser.getNextEvent(reader);
                continue;
            }
            ResultParser.parseUnknownTag(reader);
        }
    }

    public String getLabel() {
        return this.label;
    }

    public String getValue() {
        return this.value;
    }

    public String getQueryString() {
        return this.queryString;
    }

    public boolean isSelected() {
        return this.selected;
    }
}