sascha@3775: package de.intevation.flys.artifacts.access; sascha@3775: sascha@3775: import de.intevation.flys.artifacts.FLYSArtifact; sascha@3775: sascha@3776: import de.intevation.flys.artifacts.model.RangeWithValues; sascha@3776: sascha@3776: import de.intevation.flys.utils.DoubleUtil; sascha@3776: sascha@3776: import java.util.ArrayList; sascha@3776: import java.util.List; sascha@3776: sascha@3775: import org.apache.log4j.Logger; sascha@3775: felix@4040: /** Access data used for extreme value analysis. */ sascha@3775: public class ExtremeAccess sascha@3777: extends RiverAccess sascha@3775: { felix@4332: /** Our private logger. */ felix@4332: private static Logger logger = Logger.getLogger(ExtremeAccess.class); sascha@3775: sascha@3776: protected Double from; sascha@3776: protected Double to; sascha@3776: protected Double step; sascha@3776: sascha@3776: protected Long start; sascha@3776: protected Long end; sascha@3776: sascha@3776: protected Double percent; sascha@3776: sascha@3776: protected String function; sascha@3776: sascha@3776: protected List ranges; sascha@3776: felix@4052: sascha@3775: public ExtremeAccess() { sascha@3775: } sascha@3775: felix@4332: sascha@3775: public ExtremeAccess(FLYSArtifact artifact) { sascha@3775: super(artifact); sascha@3775: } sascha@3776: felix@4052: felix@4052: /** From (km) for calculation. */ sascha@3776: public Double getFrom() { sascha@3776: sascha@3776: if (from == null) { sascha@3776: from = getDouble("ld_from"); sascha@3776: } sascha@3776: felix@4332: if (logger.isDebugEnabled()) { felix@4332: logger.debug("from: '" + from + "'"); sascha@3776: } sascha@3776: sascha@3776: return from; sascha@3776: } sascha@3776: felix@4052: felix@4052: /** To (km) for calculation. */ sascha@3776: public Double getTo() { sascha@3776: sascha@3776: if (to == null) { sascha@3776: to = getDouble("ld_to"); sascha@3776: } sascha@3776: felix@4332: if (logger.isDebugEnabled()) { felix@4332: logger.debug("to: '" + to + "'"); sascha@3776: } sascha@3776: sascha@3776: return to; sascha@3776: } sascha@3776: felix@4052: felix@4052: /** Step width for calculation. */ sascha@3776: public Double getStep() { sascha@3776: sascha@3776: if (step == null) { sascha@3776: step = getDouble("ld_step"); sascha@3776: } sascha@3776: felix@4332: if (logger.isDebugEnabled()) { felix@4332: logger.debug("step: '" + step + "'"); sascha@3776: } sascha@3776: sascha@3776: return step; sascha@3776: } sascha@3776: felix@4332: felix@4332: /** Returns the percent given. */ sascha@3776: public Double getPercent() { sascha@3776: sascha@3776: if (percent == null) { sascha@3776: percent = getDouble("percent"); sascha@3776: } sascha@3776: felix@4332: if (logger.isDebugEnabled()) { felix@4332: logger.debug("percent: '" + percent + "'"); sascha@3776: } sascha@3776: sascha@3776: return percent; sascha@3776: } sascha@3776: sascha@3776: public String getFunction() { sascha@3776: if (function == null) { sascha@3776: function = getString("function"); sascha@3776: } sascha@3776: felix@4332: if (logger.isDebugEnabled()) { felix@4332: logger.debug("function: '" + function + "'"); sascha@3776: } sascha@3776: sascha@3776: return function; sascha@3776: } sascha@3776: sascha@3776: public List getRanges() { sascha@3776: sascha@3776: if (ranges == null) { sascha@3776: String rangesS = getString("ranges"); felix@4272: if (rangesS == null) { sascha@3776: return null; sascha@3776: } sascha@3776: ranges = new ArrayList(); sascha@3776: DoubleUtil.parseSegments(rangesS, new DoubleUtil.SegmentCallback() { sascha@3776: @Override sascha@3776: public void newSegment(double from, double to, double [] values) { sascha@3776: ranges.add(new RangeWithValues(from, to, values)); sascha@3776: } sascha@3776: }); sascha@3776: } sascha@3776: felix@4332: if (logger.isDebugEnabled()) { felix@4332: logger.debug("ranges: " + ranges); sascha@3776: } sascha@3776: sascha@3776: return ranges; sascha@3776: } sascha@3775: } sascha@3775: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :