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

import com.day.cq.searchpromote.xml.result.CustomField;
import com.day.cq.searchpromote.xml.result.ResultEntity;
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.StartElement;
import javax.xml.stream.events.XMLEvent;

public class CustomFieldList
implements ResultEntity {
    private static final String CUSTOM_FIELD_NODE = "custom-field";
    private List<CustomField> customFields = new ArrayList<CustomField>();

    @Override
    public void parse(XMLEventReader reader) throws Exception {
        while (reader.hasNext()) {
            XMLEvent event;
            while ((event = reader.peek()).isCharacters()) {
                reader.nextEvent();
            }
            if (event.isEndElement()) {
                ResultParser.getNextEvent(reader);
                break;
            }
            StartElement element = event.asStartElement();
            if (element.getName().getLocalPart().equals("custom-field")) {
                CustomField field = new CustomField();
                field.parse(reader);
                this.customFields.add(field);
                continue;
            }
            ResultParser.getNextEvent(reader);
            ResultParser.parseUnknownTag(reader);
        }
    }

    public List<CustomField> getCustomFields() {
        return this.customFields;
    }
}