Package org.geotools.data
Class Diff
- Object
-
- Diff
-
-
Field Summary
Fields Modifier and Type Field Description int
nextFID
counter used to genreate the "next" new feature idstatic SimpleFeature
NULL
A NullObject used to represent the absence of a SimpleFeature.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(String fid, SimpleFeature f)
protected void
addToSpatialIndex(SimpleFeature f)
void
clear()
Clear diff - called during rollback.protected Quadtree
copySTRtreeFrom(Diff diff)
Map<String,SimpleFeature>
getAdded()
Unmodifiable view of added features.List<String>
getAddedOrder()
Unmodifieable list indicating the order features were addedMap<String,SimpleFeature>
getModified()
Unmodifiable view of modified features.boolean
isEmpty()
Check if modifiedFeatures and addedFeatures are empty.void
modify(String fid, SimpleFeature f)
Record a modification to the indicated fidList<SimpleFeature>
queryIndex(Envelope env)
void
remove(String fid)
-
-
-
Field Detail
-
nextFID
public int nextFID
counter used to genreate the "next" new feature id
-
NULL
public static final SimpleFeature NULL
A NullObject used to represent the absence of a SimpleFeature.This class is used by TransactionStateDiff as a placeholder to represent features that have been removed. The concept is generally useful and may wish to be taken out as a separate class (used for example to represent deleted rows in a shapefile).
-
-
Constructor Detail
-
Diff
public Diff()
Create an empty Diff
-
Diff
public Diff(Diff other)
Diff copy.
-
-
Method Detail
-
isEmpty
public boolean isEmpty()
Check if modifiedFeatures and addedFeatures are empty.- Returns:
- true if Diff is empty
-
clear
public void clear()
Clear diff - called during rollback.
-
modify
public void modify(String fid, SimpleFeature f)
Record a modification to the indicated fid- Parameters:
f
- replacement feature; null to indicate remove
-
add
public void add(String fid, SimpleFeature f)
-
addToSpatialIndex
protected void addToSpatialIndex(SimpleFeature f)
-
remove
public void remove(String fid)
-
queryIndex
public List<SimpleFeature> queryIndex(Envelope env)
-
getAddedOrder
public List<String> getAddedOrder()
Unmodifieable list indicating the order features were added
-
getModified
public Map<String,SimpleFeature> getModified()
Unmodifiable view of modified features. It is imperative that the user manually synchronize on the map when iterating over any of its collection views:Set s = diff.modified2.keySet(); // Needn't be in synchronized block ... synchronized(diff) { // Synchronizing on diff, not diff.modified2 or s! Iterator i = s.iterator(); // Must be in synchronized block while (i.hasNext()) foo(i.next()); }
Failure to follow this advice may result in non-deterministic behavior.The returned map will be serializable if the specified map is serializable.
- Returns:
- Map of modified features, null user to represent a removed feature
-
getAdded
public Map<String,SimpleFeature> getAdded()
Unmodifiable view of added features. It is imperative that the user manually synchronize on the map when iterating over any of its collection views:Set s = diff.added.keySet(); // Needn't be in synchronized block ... synchronized(diff) { // Synchronizing on m, not diff.added or s! Iterator i = s.iterator(); // Must be in synchronized block while (i.hasNext()) foo(i.next()); }
Failure to follow this advice may result in non-deterministic behavior.The returned map will be serializable if the specified map is serializable.
- Returns:
- Map of added features
-
-