diff options
Diffstat (limited to 'src/main/java/org/geojson/FeatureCollection.java')
-rw-r--r-- | src/main/java/org/geojson/FeatureCollection.java | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/main/java/org/geojson/FeatureCollection.java b/src/main/java/org/geojson/FeatureCollection.java new file mode 100644 index 0000000..ecde9bd --- /dev/null +++ b/src/main/java/org/geojson/FeatureCollection.java @@ -0,0 +1,58 @@ +package org.geojson; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; + +public class FeatureCollection extends GeoJsonObject implements Iterable<Feature> { + + private List<Feature> features = new ArrayList<Feature>(); + + public List<Feature> getFeatures() { + return features; + } + + public void setFeatures(List<Feature> features) { + this.features = features; + } + + public FeatureCollection add(Feature feature) { + features.add(feature); + return this; + } + + public void addAll(Collection<Feature> features) { + this.features.addAll(features); + } + + @Override + public Iterator<Feature> iterator() { + return features.iterator(); + } + + @Override + public <T> T accept(GeoJsonObjectVisitor<T> geoJsonObjectVisitor) { + return geoJsonObjectVisitor.visit(this); + } + + @Override + public boolean equals(Object o) { + if (this == o) + return true; + if (!(o instanceof FeatureCollection)) + return false; + FeatureCollection features1 = (FeatureCollection)o; + return features.equals(features1.features); + } + + @Override + public int hashCode() { + return features.hashCode(); + } + + @Override + public String toString() { + return "FeatureCollection{" + "features=" + features + '}'; + } +} |