package edu.oregonstate.cartography.simplefeatures;
import java.awt.Graphics2D;
import java.awt.geom.Rectangle2D;
import java.util.HashMap;
/**
*
* @author marstonb
*/
public abstract class Geometry {
HashMap<String, Number> attributes = new HashMap<>(5);
public void setAttribute(String name, Number value) {
attributes.put(name, value);
}
public Number getAttribute(String name) {
return attributes.get(name);
}
public boolean hasAttribute(String name) {
return attributes.containsKey(name);
}
//paint method for each feature class
public abstract void paint(Graphics2D g2d);
//Returns a bounding box
public abstract Rectangle2D getBoundingBox();
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
for (String key : attributes.keySet()) {
sb.append(key);
sb.append(" ");
sb.append(attributes.get(key));
sb.append("\n");
}
return sb.toString();
}
}