|
|||||||||||
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.
To use please cast your FeatureSource to this interface.
FeatureSource source = dataStore.getFeatureSource("roads");
if( source instanceof FeatureLocking ) {
FeatureLocking locking = (FeatureLocking) source;
...
}
- Version:
- $Id: FeatureLocking.java 17702 2006-01-23 00:08:55Z desruisseaux $
- Author:
- Jody Garnett, Refractions Research, Inc., Ray Gallagher, Rob Hranac, TOPP, Chris Holmes, TOPP
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
setFeatureLock
public void setFeatureLock(FeatureLock lock)
- All locking operations will operate against the provided
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:
-
Be recorded against the provided FeatureLock.
-
Be recorded against the current transaction if no FeatureLock is
provided.
Calling this method with setFeatureLock( FeatureLock.TRANSACTION
)
will revert to per transaction operation.
This design allows for the following:
-
cross DataSource FeatureLock usage
-
not having pass in the same FeatureLock object multiple times
- Parameters:
lock
- DOCUMENT ME!
lockFeatures
public int lockFeatures(Query query)
throws java.io.IOException
- FeatureLock features described by Query.
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.
- Parameters:
query
- Query describing the features to lock
- Returns:
- Number of features locked
- Throws:
java.io.IOException
- Thrown if anything goes wrong
lockFeatures
public int lockFeatures(Filter filter)
throws java.io.IOException
- FeatureLock features described by Filter.
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.
- Parameters:
filter
- Filter describing the features to lock
- Returns:
- Number of features locked
- Throws:
java.io.IOException
- Thrown if anything goes wrong
lockFeatures
public int lockFeatures()
throws java.io.IOException
- FeatureLock all Features.
The method does not prevent addFeatures() from being used (we could add
a lockDataSource() method if this functionality is required.
- Returns:
- Number of Features locked by this opperation
- Throws:
java.io.IOException
unLockFeatures
public void unLockFeatures()
throws java.io.IOException
- Unlocks all Features.
Authorization must be provided prior before calling this method.
void releaseLock( String lockId, LockingDataSource ds ){
ds.setAuthorization( "LOCK534" );
ds.unLockFeatures();
}
- Throws:
java.io.IOException
unLockFeatures
public void unLockFeatures(Filter filter)
throws java.io.IOException
- Unlock Features denoted by provided filter.
Authorization must be provided prior before calling this method.
- Parameters:
filter
-
- Throws:
java.io.IOException
unLockFeatures
public void unLockFeatures(Query query)
throws java.io.IOException
- Unlock Features denoted by provided query.
Authorization must be provided prior before calling this method.
- Parameters:
query
- Specifies fatures to unlock
- Throws:
java.io.IOException
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
PREV CLASS
NEXT CLASS
FRAMES
NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD
DETAIL: FIELD | CONSTR | METHOD
Copyright © GeoTools. All Rights Reserved.