view artifacts/src/main/java/org/dive4elements/river/artifacts/states/RadioSelect.java @ 9053:ad2ae847e10e

- RadioButton-Auswahl generisch - Überflutungsdauern (inudation of infrastructures) Ablauf states
author gernotbelger
date Fri, 04 May 2018 13:17:57 +0200
parents
children 2f5052835b76
line wrap: on
line source
/** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
 * Software engineering by
 *  Björnsen Beratende Ingenieure GmbH
 *  Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
 *
 * This file is Free Software under the GNU AGPL (>=v3)
 * and comes with ABSOLUTELY NO WARRANTY! Check out the
 * documentation coming with Dive4Elements River for details.
 */
package org.dive4elements.river.artifacts.states;

import java.util.List;

import org.dive4elements.artifacts.Artifact;
import org.dive4elements.artifacts.CallContext;
import org.dive4elements.artifacts.CallMeta;
import org.dive4elements.artifacts.common.utils.XMLUtils;
import org.dive4elements.river.artifacts.resources.Resources;
import org.w3c.dom.Element;

/**
 * @author Domenico Nardi Tironi
 *
 */
public abstract class RadioSelect extends DefaultState {

    private static final long serialVersionUID = 1L;
    private final List<String> entries;

    public RadioSelect() {
        super();
        this.entries = makeEntries();
    }

    protected abstract List<String> makeEntries();

    @Override
    protected final String getUIProvider() {
        return "radio_panel";
    }

    @Override
    protected Element[] createItems(final XMLUtils.ElementCreator ec, final Artifact artifact, final String name, final CallContext context) {
        final CallMeta meta = context.getMeta();
        final Element[] elements = new Element[this.entries.size()];
        int i = 0;
        for (final String item : this.entries) {
            elements[i] = createItem(ec, new String[] { Resources.getMsg(meta, item, item), item });
            i++;
        }
        return elements;
    }

}

http://dive4elements.wald.intevation.org