Mercurial > dive4elements > gnv-client
view gnv-artifacts/src/main/java/de/intevation/gnv/math/AttributedPoint2ds.java @ 1062:58b4a07db856
Cach improvement: remove the cached elements of each visited state that is visited while stepping back to a previous state.
gnv-artifacts/trunk@1147 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 02 Jun 2010 09:52:39 +0000 |
parents | 2e951160c43d |
children | f953c9a559d8 |
line wrap: on
line source
package de.intevation.gnv.math; import com.vividsolutions.jts.geom.MultiLineString; import com.vividsolutions.jts.geom.MultiPolygon; import de.intevation.gnv.utils.Pair; import java.io.Serializable; import java.util.HashMap; import java.util.List; import java.util.Map; /** * Stores the results of an area interpolation. * Used to generate the final products. * * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a> */ public class AttributedPoint2ds implements Serializable { /** * The list of input points. */ protected List<? extends Point2d> points; /** * The map of input attributes that are need to generate * the products. */ protected Map attributes; /** * The interpolation result. */ protected AreaInterpolation interpolation; /** * The JTS multi line strings to be written by GeoTools later. */ protected List<Pair<Object, MultiLineString>> lineStrings; /** * The JTS multi polygons to be written by GeoTools later. */ protected Map<Integer, MultiPolygon> polygons; /** * Default constructor. */ public AttributedPoint2ds() { } /** * Constructor to create a AttributedPoint2ds with a list * of input points. * * @param points The input points. */ public AttributedPoint2ds(List<? extends Point2d> points) { this.points = points; } /** * Returns an attribute from the map of external attributes. * @param key The key of the attribute. * @return The attribute or null if the attribute was not found. */ public Object getAttribute(Object key) { return attributes != null ? attributes.get(key) : null; } /** * Stores an attribute under a given key in * the map of external attributes. * @param key The key of the attribute. * @param value The attribute value. */ public void setAttribute(Object key, Object value) { if (attributes == null) { attributes = new HashMap(); } attributes.put(key, value); } /** * Returns the input points. * @return The input points. */ public List<? extends Point2d> getPoints() { return points; } /** * Sets the input points. * @param points The input points. */ public void setPoints(List<? extends Point2d> points) { this.points = points; } /** * Sets the area interpolation result. * @param interpolation The new interpolation result. */ public void setInterpolation(AreaInterpolation interpolation) { this.interpolation = interpolation; } /** * Returns the area interpolation result. * @return The interpolation result. */ public AreaInterpolation getInterpolation() { return interpolation; } /** * Sets the produced JTS multi polygons. * @param polygons The multi polygons. */ public void setPolygons(Map<Integer, MultiPolygon> polygons) { this.polygons = polygons; } /** * Returns the JTS multi polygons. * @return The polygons. */ public Map<Integer, MultiPolygon> getPolygons() { return polygons; } /** * Set the produced JTS multi line strings. * @param lineStrings The line strings. */ public void setLineStrings( List<Pair<Object, MultiLineString>> lineStrings ) { this.lineStrings = lineStrings; } /** * Returns the produced JTS multi line strings. * @return The line strings. */ public List<Pair<Object, MultiLineString>> getLineStrings() { return lineStrings; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :