view flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/ExtremeAccess.java @ 4249:7a889098bcc6

Extend the client RiverInfo model to support MeasurementStations Add method to receive the MeasurementStations from a RiverInfo. Also add methods to set the GaugeInfo and MeasurementStation to the DefaultRiverInfo.
author Björn Ricks <bjoern.ricks@intevation.de>
date Wed, 24 Oct 2012 17:00:37 +0200
parents 6d8c7a00e74e
children 270f3ac8a82e
line wrap: on
line source
package de.intevation.flys.artifacts.access;

import de.intevation.flys.artifacts.FLYSArtifact;

import de.intevation.flys.artifacts.model.RangeWithValues;

import de.intevation.flys.utils.DoubleUtil;

import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;

/** Access data used for extreme value analysis. */
public class ExtremeAccess
extends      RiverAccess
{
    private static Logger log = Logger.getLogger(ExtremeAccess.class);

    protected Double from;
    protected Double to;
    protected Double step;

    protected Long start;
    protected Long end;

    protected Double percent;

    protected String function;

    protected List<RangeWithValues> ranges;


    public ExtremeAccess() {
    }

    public ExtremeAccess(FLYSArtifact artifact) {
        super(artifact);
    }


    /** From (km) for calculation. */
    public Double getFrom() {

        if (from == null) {
            from = getDouble("ld_from");
        }

        if (log.isDebugEnabled()) {
            log.debug("from: '" + from + "'");
        }

        return from;
    }


    /** To (km) for calculation. */
    public Double getTo() {

        if (to == null) {
            to = getDouble("ld_to");
        }

        if (log.isDebugEnabled()) {
            log.debug("to: '" + to + "'");
        }

        return to;
    }


    /** Step width for calculation. */
    public Double getStep() {

        if (step == null) {
            step = getDouble("ld_step");
        }

        if (log.isDebugEnabled()) {
            log.debug("step: '" + step + "'");
        }

        return step;
    }

    public Double getPercent() {

        if (percent == null) {
            percent = getDouble("percent");
        }

        if (log.isDebugEnabled()) {
            log.debug("percent: '" + percent + "'");
        }

        return percent;
    }

    public String getFunction() {
        if (function == null) {
            function = getString("function");
        }

        if (log.isDebugEnabled()) {
            log.debug("function: '" + function + "'");
        }

        return function;
    }

    public List<RangeWithValues> getRanges() {

        if (ranges == null) {
            String rangesS = getString("ranges");
            if (ranges == null) {
                return null;
            }
            ranges = new ArrayList<RangeWithValues>();
            DoubleUtil.parseSegments(rangesS, new DoubleUtil.SegmentCallback() {
                @Override
                public void newSegment(double from, double to, double [] values) {
                    ranges.add(new RangeWithValues(from, to, values));
                }
            });
        }

        if (log.isDebugEnabled()) {
            log.debug("ranges: " + ranges);
        }

        return ranges;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org