|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Provides Feature based locking.
Features from individual shapefiles, database tables, etc. can be protected or reserved from modification through this interface.
This is a prototype DataSource replacement please see FeatureSource form more information
Nested Class Summary | |
static class |
FeatureLocking.Response
Idea for a response from a high-level lock( Query ) function. |
Method Summary | |
int |
lockFeatures()
FeatureLock all Features. |
int |
lockFeatures(Filter filter)
FeatureLock features described by Filter. |
int |
lockFeatures(Query query)
FeatureLock features described by Query. |
void |
setFeatureLock(FeatureLock lock)
All locking operations will operate against the provided lock . |
void |
unLockFeatures()
Unlocks all Features. |
void |
unLockFeatures(Filter filter)
Unlock Features denoted by provided filter. |
void |
unLockFeatures(Query query)
Unlock Features denoted by provided query. |
Methods inherited from interface org.geotools.data.FeatureStore |
addFeatures, getTransaction, modifyFeatures, modifyFeatures, removeFeatures, setFeatures, setTransaction |
Methods inherited from interface org.geotools.data.FeatureSource |
addFeatureListener, getBounds, getBounds, getCount, getDataStore, getFeatures, getFeatures, getFeatures, getSchema, removeFeatureListener |
Method Detail |
public void setFeatureLock(FeatureLock lock)
lock
.
This in in keeping with the stateful spirit of DataSource in which operations are against the "current" transaction. If a FeatureLock is not provided lock operations will only be applicable for the current transaction (they will expire on the next commit or rollback).
That is lockFeatures() operations will:
Calling this method with setFeatureLock( FeatureLock.TRANSACTION
)
will revert to per transaction operation.
This design allows for the following:
public int lockFeatures(Query query) throws java.io.IOException
To implement WFS parcial Locking retrieve your features with a query operation first before trying to lock them individually. If you are not into WFS please don't ask what parcial locking is.
query
- Query describing the features to lock
DataSourceException
- Thrown if anything goes wrong
java.io.IOException
public int lockFeatures(Filter filter) throws java.io.IOException
To implement WFS parcial Locking retrieve your features with a query operation first before trying to lock them individually. If you are not into WFS please don't ask what parcial locking is.
filter
- Filter describing the features to lock
DataSourceException
- Thrown if anything goes wrong
java.io.IOException
public int lockFeatures() throws java.io.IOException
The method does not prevent addFeatures() from being used (we could add a lockDataSource() method if this functionality is required.
DataSourceException
java.io.IOException
public void unLockFeatures() throws java.io.IOException
Authorization must be provided prior before calling this method.
void releaseLock( String lockId, LockingDataSource ds ){
ds.setAuthorization( "LOCK534" );
ds.unLockFeatures();
}
DataSourceException
java.io.IOException
public void unLockFeatures(Filter filter) throws java.io.IOException
Authorization must be provided prior before calling this method.
filter
-
DataSourceException
java.io.IOException
public void unLockFeatures(Query query) throws java.io.IOException
Authorization must be provided prior before calling this method.
query
- Specifies fatures to unlock
DataSourceException
java.io.IOException
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |