|
GigaSpaces XAP 8.0 API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.openspaces.core.DefaultGigaSpace
public class DefaultGigaSpace
Default implementation of GigaSpace
. Constructed with IJSpace
,
TransactionProvider
and
ExceptionTranslator
.
Operations are delegated to IJSpace
with transactions acquired using
TransactionProvider
. Any exceptions thrown during the
operations are translated using ExceptionTranslator
.
Allows to set default timeouts for read and take operations and default lease for write operation.
Constructor Summary | |
---|---|
DefaultGigaSpace(IJSpace space,
TransactionProvider txProvider,
ExceptionTranslator exTranslator,
int defaultIsolationLevel)
Constructs a new DefaultGigaSpace implementation. |
Method Summary | ||
---|---|---|
|
asyncRead(ISpaceQuery<T> template)
Reads any matching entry from the space in an asynchronous manner. |
|
|
asyncRead(ISpaceQuery<T> template,
AsyncFutureListener<T> listener)
Reads any matching entry from the space in an asynchronous manner. |
|
|
asyncRead(ISpaceQuery<T> template,
long timeout)
Reads any matching entry from the space in an asynchronous manner. |
|
|
asyncRead(ISpaceQuery<T> template,
long timeout,
AsyncFutureListener<T> listener)
Reads any matching entry from the space in an asynchronous manner. |
|
|
asyncRead(ISpaceQuery<T> template,
long timeout,
int modifiers)
Reads any matching entry from the space in an asynchronous manner. |
|
|
asyncRead(ISpaceQuery<T> template,
long timeout,
int modifiers,
AsyncFutureListener<T> listener)
Reads any matching entry from the space in an asynchronous manner. |
|
|
asyncRead(T template)
Reads any matching entry from the space in an asynchronous manner. |
|
|
asyncRead(T template,
AsyncFutureListener<T> listener)
Reads any matching entry from the space in an asynchronous manner. |
|
|
asyncRead(T template,
long timeout)
Reads any matching entry from the space in an asynchronous manner. |
|
|
asyncRead(T template,
long timeout,
AsyncFutureListener<T> listener)
Reads any matching entry from the space in an asynchronous manner. |
|
|
asyncRead(T template,
long timeout,
int modifiers)
Reads any matching entry from the space in an asynchronous manner. |
|
|
asyncRead(T template,
long timeout,
int modifiers,
AsyncFutureListener<T> listener)
Reads any matching entry from the space in an asynchronous manner. |
|
|
asyncTake(ISpaceQuery<T> template)
Take (remove) any matching entry from the space in an asynchronous manner. |
|
|
asyncTake(ISpaceQuery<T> template,
AsyncFutureListener<T> listener)
Take (remove) any matching entry from the space in an asynchronous manner. |
|
|
asyncTake(ISpaceQuery<T> template,
long timeout)
Take (remove) any matching entry from the space in an asynchronous manner. |
|
|
asyncTake(ISpaceQuery<T> template,
long timeout,
AsyncFutureListener<T> listener)
Take (remove) any matching entry from the space in an asynchronous manner. |
|
|
asyncTake(ISpaceQuery<T> template,
long timeout,
int modifiers)
Take (remove) any matching entry from the space in an asynchronous manner. |
|
|
asyncTake(ISpaceQuery<T> template,
long timeout,
int modifiers,
AsyncFutureListener<T> listener)
Take (remove) any matching entry from the space in an asynchronous manner. |
|
|
asyncTake(T template)
Take (remove) any matching entry from the space in an asynchronous manner. |
|
|
asyncTake(T template,
AsyncFutureListener<T> listener)
Take (remove) any matching entry from the space in an asynchronous manner. |
|
|
asyncTake(T template,
long timeout)
Take (remove) any matching entry from the space in an asynchronous manner. |
|
|
asyncTake(T template,
long timeout,
AsyncFutureListener<T> listener)
Take (remove) any matching entry from the space in an asynchronous manner. |
|
|
asyncTake(T template,
long timeout,
int modifiers)
Take (remove) any matching entry from the space in an asynchronous manner. |
|
|
asyncTake(T template,
long timeout,
int modifiers,
AsyncFutureListener<T> listener)
Take (remove) any matching entry from the space in an asynchronous manner. |
|
void |
clean()
Cleans this space. |
|
void |
clear(Object template)
Removes the entries that match the specified template and the specified transaction from this space. |
|
int |
clear(Object template,
int modifiers)
Removes the entries that match the specified template and the specified transaction from this space. |
|
int |
count(Object template)
Count any matching entry from the space. |
|
int |
count(Object template,
int modifiers)
Count any matching entries from the space. |
|
|
distExecute(DistributedTask<T,R> task,
AsyncFutureListener<R> listener)
|
|
|
execute(DistributedTask<T,R> task)
Executes the task on all the primary space nodes within the cluster (broadcast). |
|
|
execute(DistributedTask<T,R> task,
AsyncFutureListener<R> listener)
|
|
|
execute(DistributedTask<T,R> task,
Object... routings)
Executes a task on all the nodes that correspond to the list of routing values. |
|
|
execute(Task<T> task)
Executes a task on a specific space node. |
|
|
execute(Task<T> task,
AsyncFutureListener<T> listener)
Executes a task on a specific space node. |
|
|
execute(Task<T> task,
Object routing)
Executes a task on a specific space node. |
|
|
execute(Task<T> task,
Object routing,
AsyncFutureListener<T> listener)
Executes a task on a specific space node. |
|
|
executorBuilder(AsyncResultsReducer<T,R> reducer)
Constructs an executor builder allowing to accumulate different tasks required to be executed into a single execute mechanism with all the results reduced by the reducer provided. |
|
GigaSpace |
getClustered()
Returns a clustered view of this GigaSpace instance. |
|
Transaction |
getCurrentTransaction()
Returns the current running transaction. |
|
ExceptionTranslator |
getExceptionTranslator()
Returns the exception translator associated with this GigaSpace instance. |
|
int |
getModifiersForIsolationLevel()
Gets the isolation level from the current running transaction (enabling the usage of Spring declarative isolation level settings). |
|
String |
getName()
Returns the name of the GigaSpace. |
|
IJSpace |
getSpace()
Returns the IJSpace used by this GigaSpace implementation to delegate
different space operations. |
|
TransactionProvider |
getTxProvider()
Returns the transaction provider allowing to access the current running transaction. |
|
GigaSpaceTypeManager |
getTypeManager()
Gets the type manager of this GigaSpace instance. |
|
IteratorBuilder |
iterator()
Returns an iterator builder allowing to configure and create a GSIterator
over the Space. |
|
|
read(ISpaceQuery<T> template)
Read any matching object from the space, blocking until one exists. |
|
|
read(ISpaceQuery<T> template,
long timeout)
Read any matching object from the space, blocking until one exists. |
|
|
read(ISpaceQuery<T> template,
long timeout,
int modifiers)
Read any matching object from the space, blocking until one exists. |
|
|
read(T template)
Read any matching object from the space, blocking until one exists. |
|
|
read(T template,
long timeout)
Read any matching object from the space, blocking until one exists. |
|
|
read(T template,
long timeout,
int modifiers)
Read any matching object from the space, blocking until one exists. |
|
|
readById(Class<T> clazz,
Object id)
Read an object from the space matching its id and the class. |
|
|
readById(Class<T> clazz,
Object id,
Object routing)
Read an object from the space matching its id, the class and the routing value. |
|
|
readById(Class<T> clazz,
Object id,
Object routing,
long timeout)
Read an object from the space matching its id, the class and the routing value. |
|
|
readById(Class<T> clazz,
Object id,
Object routing,
long timeout,
int modifiers)
Read an object from the space matching its id, the class and the routing value. |
|
|
readById(IdQuery<T> query)
Read an object from the space matching the specified id query. |
|
|
readById(IdQuery<T> query,
long timeout)
Read an object from the space matching the specified id query. |
|
|
readById(IdQuery<T> query,
long timeout,
int modifiers)
Read an object from the space matching the specified id query. |
|
|
readByIds(Class<T> clazz,
Object[] ids)
Read objects from the space matching their IDs and the specified class. |
|
|
readByIds(Class<T> clazz,
Object[] ids,
int modifiers)
Read objects from the space matching their IDs and the specified class, with the provided ReadModifiers . |
|
|
readByIds(Class<T> clazz,
Object[] ids,
Object routing)
Read objects from the space matching their IDs, the specified class and routing key. |
|
|
readByIds(Class<T> clazz,
Object[] ids,
Object[] routings)
Read objects from the space matching their IDs, the specified class and the routing keys. |
|
|
readByIds(Class<T> clazz,
Object[] ids,
Object[] routings,
int modifiers)
Read objects from the space matching their IDs, the specified class and the routing keys, with the provided ReadModifiers . |
|
|
readByIds(Class<T> clazz,
Object[] ids,
Object routing,
int modifiers)
Read objects from the space matching their IDs, the specified class type and routing key, with the provided ReadModifiers . |
|
|
readByIds(IdsQuery<T> query)
Read objects from the space matching the specified IDs query. |
|
|
readByIds(IdsQuery<T> query,
int modifiers)
Read objects from the space matching the specified IDs query, with the provided ReadModifiers . |
|
|
readIfExists(ISpaceQuery<T> template)
Read any matching object from the space, returning null if
there currently is none. |
|
|
readIfExists(ISpaceQuery<T> template,
long timeout)
Read any matching object from the space, returning null if
there currently is none. |
|
|
readIfExists(ISpaceQuery<T> template,
long timeout,
int modifiers)
Read any matching object from the space, returning null if
there currently is none. |
|
|
readIfExists(T template)
Read any matching object from the space, returning null if
there currently is none. |
|
|
readIfExists(T template,
long timeout)
Read any matching object from the space, returning null if
there currently is none. |
|
|
readIfExists(T template,
long timeout,
int modifiers)
Read any matching object from the space, returning null if
there currently is none. |
|
|
readIfExistsById(Class<T> clazz,
Object id)
Read an object from the space matching its id and the class. |
|
|
readIfExistsById(Class<T> clazz,
Object id,
Object routing)
Read an object from the space matching its id, the class and the routing value. |
|
|
readIfExistsById(Class<T> clazz,
Object id,
Object routing,
long timeout)
Read an object from the space matching its id, the class and the routing value. |
|
|
readIfExistsById(Class<T> clazz,
Object id,
Object routing,
long timeout,
int modifiers)
Read an object from the space matching its id, the class and the routing value. |
|
|
readIfExistsById(IdQuery<T> query)
Read an object from the space matching the specified id query. |
|
|
readIfExistsById(IdQuery<T> query,
long timeout)
Read an object from the space matching the specified id query. |
|
|
readIfExistsById(IdQuery<T> query,
long timeout,
int modifiers)
Read an object from the space matching the specified id query. |
|
|
readMultiple(ISpaceQuery<T> template)
Read any matching entries from the space. |
|
|
readMultiple(ISpaceQuery<T> template,
int maxEntries)
Read any matching entries from the space. |
|
|
readMultiple(ISpaceQuery<T> template,
int maxEntries,
int modifiers)
Read any matching entries from the space. |
|
|
readMultiple(T template)
Read any matching entries from the space. |
|
|
readMultiple(T template,
int maxEntries)
Read any matching entries from the space. |
|
|
readMultiple(T template,
int maxEntries,
int modifiers)
Read any matching entries from the space. |
|
void |
setDefaultReadTimeout(long defaultReadTimeout)
Sets the default read timeout when executing read(Object) or
readIfExists(Object) operations. |
|
void |
setDefaultTakeTimeout(long defaultTakeTimeout)
Sets the default take timeout when executing take(Object) or
takeIfExists(Object) operations. |
|
void |
setDefaultWriteLease(long defaultWriteLease)
Sets the default write lease when executing write(Object) . |
|
void |
setName(String name)
|
|
|
snapshot(Object entry)
The process of serializing an entry for transmission to a JavaSpaces service will be identical if the same entry is used twice. |
|
|
take(ISpaceQuery<T> template)
Take (remove) any matching entry from the space, blocking until one exists. |
|
|
take(ISpaceQuery<T> template,
long timeout)
Take (remove) any matching entry from the space, blocking until one exists. |
|
|
take(ISpaceQuery<T> template,
long timeout,
int modifiers)
Take (remove) any matching entry from the space, blocking until one exists. |
|
|
take(T template)
Take (remove) any matching entry from the space, blocking until one exists. |
|
|
take(T template,
long timeout)
Take (remove) any matching entry from the space, blocking until one exists. |
|
|
take(T template,
long timeout,
int modifiers)
Take (remove) any matching entry from the space, blocking until one exists. |
|
|
takeById(Class<T> clazz,
Object id)
Take (remove) an object from the space matching its id and the class. |
|
|
takeById(Class<T> clazz,
Object id,
Object routing)
Take (remove) an object from the space matching its id, the class and the routing value. |
|
|
takeById(Class<T> clazz,
Object id,
Object routing,
long timeout)
Take (remove) an object from the space matching its id, the class and the routing value. |
|
|
takeById(Class<T> clazz,
Object id,
Object routing,
long timeout,
int modifiers)
Take (remove) an object from the space matching its id, the class and the routing value. |
|
|
takeById(IdQuery<T> query)
Take (remove) an object from the space matching the specified id query. |
|
|
takeById(IdQuery<T> query,
long timeout)
Take (remove) an object from the space matching the specified id query. |
|
|
takeById(IdQuery<T> query,
long timeout,
int modifiers)
Take (remove) an object from the space matching the specified id query. |
|
|
takeByIds(Class<T> clazz,
Object[] ids)
Take (remove) objects from the space matching their IDs and the specified class. |
|
|
takeByIds(Class<T> clazz,
Object[] ids,
int modifiers)
Take (remove) objects from the space matching their IDs and the specified class, with the provided ReadModifiers . |
|
|
takeByIds(Class<T> clazz,
Object[] ids,
Object routing)
Take (remove) objects from the space matching their IDs, the specified class and routing key. |
|
|
takeByIds(Class<T> clazz,
Object[] ids,
Object[] routings)
Take (remove) objects from the space matching their IDs, the specified class and the routing keys. |
|
|
takeByIds(Class<T> clazz,
Object[] ids,
Object[] routings,
int modifiers)
Take (remove) objects from the space matching their IDs, the specified class and the routing keys, with the provided ReadModifiers . |
|
|
takeByIds(Class<T> clazz,
Object[] ids,
Object routing,
int modifiers)
Take (remove) objects from the space matching their IDs, the specified class type and routing key, with the provided ReadModifiers . |
|
|
takeByIds(IdsQuery<T> query)
Take (remove) objects from the space matching the specified IDs query. |
|
|
takeByIds(IdsQuery<T> query,
int modifiers)
Take (remove) objects from the space matching the specified IDs query, with the provided ReadModifiers . |
|
|
takeIfExists(ISpaceQuery<T> template)
Take (remove) any matching entry from the space, returning null if
there currently is none. |
|
|
takeIfExists(ISpaceQuery<T> template,
long timeout)
Take (remove) any matching entry from the space, returning null if
there currently is none. |
|
|
takeIfExists(ISpaceQuery<T> template,
long timeout,
int modifiers)
Take (remove) any matching entry from the space, returning null if
there currently is none. |
|
|
takeIfExists(T template)
Take (remove) any matching entry from the space, returning null if
there currently is none. |
|
|
takeIfExists(T template,
long timeout)
Take (remove) any matching entry from the space, returning null if
there currently is none. |
|
|
takeIfExists(T template,
long timeout,
int modifiers)
Take (remove) any matching entry from the space, returning null if
there currently is none. |
|
|
takeIfExistsById(Class<T> clazz,
Object id)
Take (remove) an object from the space matching its id and the class. |
|
|
takeIfExistsById(Class<T> clazz,
Object id,
Object routing)
Take (remove) an object from the space matching its id, the class and the routing value. |
|
|
takeIfExistsById(Class<T> clazz,
Object id,
Object routing,
long timeout)
Take (remove) an object from the space matching its id, the class and the routing value. |
|
|
takeIfExistsById(Class<T> clazz,
Object id,
Object routing,
long timeout,
int modifiers)
Take (remove) an object from the space matching its id, the class and the routing value. |
|
|
takeIfExistsById(IdQuery<T> query)
Take (remove) an object from the space matching the specified id query. |
|
|
takeIfExistsById(IdQuery<T> query,
long timeout)
Take (remove) an object from the space matching the specified id query. |
|
|
takeIfExistsById(IdQuery<T> query,
long timeout,
int modifiers)
Take (remove) an object from the space matching the specified id query. |
|
|
takeMultiple(ISpaceQuery<T> template)
Takes (removes) all the entries matching the specified template from this space. |
|
|
takeMultiple(ISpaceQuery<T> template,
int maxEntries)
Takes (removes) all the entries matching the specified template from this space. |
|
|
takeMultiple(ISpaceQuery<T> template,
int maxEntries,
int modifiers)
Takes (removes) all the entries matching the specified template from this space. |
|
|
takeMultiple(T template)
Takes (removes) all the entries matching the specified template from this space. |
|
|
takeMultiple(T template,
int maxEntries)
Takes (removes) all the entries matching the specified template from this space. |
|
|
takeMultiple(T template,
int maxEntries,
int modifiers)
Takes (removes) all the entries matching the specified template from this space. |
|
String |
toString()
|
|
|
updateMultiple(T[] entries,
long[] leases)
|
|
|
updateMultiple(T[] entries,
long[] leases,
int updateModifiers)
Same as a single update but for a group of entities sharing the same transaction (if any), applied with the same operation modifier (or default Modifiers.NONE ). |
|
|
wrapFuture(AsyncFuture<T> future,
Transaction tx)
|
|
|
wrapListener(AsyncFutureListener<T> listener,
Transaction tx)
|
|
|
write(T entry)
Writes a new object to the space, returning its LeaseContext . |
|
|
write(T entry,
long lease)
Writes a new object to the space, returning its LeaseContext . |
|
|
write(T entry,
long lease,
long timeout,
int modifiers)
Writes a new object to the space, returning its LeaseContext . |
|
|
writeMultiple(T[] entries)
Writes the specified entries to this space. |
|
|
writeMultiple(T[] entries,
long lease)
Writes the specified entries to this space. |
|
|
writeMultiple(T[] entries,
long[] leases,
int updateModifiers)
Writes the specified entries to this space. |
|
|
writeMultiple(T[] entries,
long lease,
int updateModifiers)
Writes the specified entries to this space. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public DefaultGigaSpace(IJSpace space, TransactionProvider txProvider, ExceptionTranslator exTranslator, int defaultIsolationLevel)
space
- The space implementation to delegate operations totxProvider
- The transaction provider for declarative transaction ex.exTranslator
- Exception translator to translate low level exceptions into GigaSpaces runtime
exceptiondefaultIsolationLevel
- The default isolation level for read operations without modifiers. Maps to
TransactionDefinition.getIsolationLevel()
levels values.Method Detail |
---|
public void setName(String name)
public String getName()
GigaSpace
getName
in interface GigaSpace
public void setDefaultReadTimeout(long defaultReadTimeout)
read(Object)
or
readIfExists(Object)
operations.
public void setDefaultTakeTimeout(long defaultTakeTimeout)
take(Object)
or
takeIfExists(Object)
operations.
public void setDefaultWriteLease(long defaultWriteLease)
write(Object)
.
public IJSpace getSpace()
GigaSpace
IJSpace
used by this GigaSpace implementation to delegate
different space operations.
Allows the use of space operations that are not exposed by this interface, as well as use as a parameter to other low level GigaSpace components.
If a transaction object is required for low level operations (as low level operations do not
have declarative transaction ex) the GigaSpace.getTxProvider()
should be used to acquire the
current running transaction.
getSpace
in interface GigaSpace
public GigaSpace getClustered()
GigaSpace
GigaSpace
instance.
GigaSpace gigaSpace = new GigaSpaceConfigurer(space).clustered(true).gigaSpace();
If this instance is already a clustered view (was initially constructed using the clustered flag), will return the same instance being used to issue the call.
If this is a GigaSpace that works directly with a cluster member, will return a clustered view (as if it was constructed with the clustered flag set). Note that this method might return different instances when being called by different threads.
GigaSpace nonClusteredViewOfGigaSpace= ... // acquire non-clustered view of a clustered space GigaSpace space=nonClusteredViewofGigaSpace.getClustered(); // space != nonClusteredViewOfSpace
GigaSpace clusteredViewOfGigaSpace= ... // acquire clustered view of a clustered space GigaSpace space=clusteredViewofGigaSpace.getClustered(); // space == clusteredViewOfSpace
getClustered
in interface GigaSpace
GigaSpaceConfigurer.clustered(boolean)
public TransactionProvider getTxProvider()
GigaSpace
IJSpace
operations that requires explicit
transaction object.
getTxProvider
in interface GigaSpace
public ExceptionTranslator getExceptionTranslator()
GigaSpace
getExceptionTranslator
in interface GigaSpace
public void clean() throws DataAccessException
GigaSpace
clean
in interface GigaSpace
DataAccessException
IServerAdmin.clean()
public void clear(Object template) throws DataAccessException
GigaSpace
If the clear operation conducted without transaction (null as value) it will clear all entries that are not under transaction. Therefore entries under transaction would not be removed from the space.
The clear operation supports inheritance, therefore template class matching objects
and its sub classes matching objects are part of the candidates population
to be removed from the space. You can in fact clean all space objects (that are not under
transaction) by calling: gigaSpace.clear(null)
.
Notice: The clear operation does not remove notify templates, i.e. registration for notifications.
clear
in interface GigaSpace
template
- the template to use for matching
DataAccessException
- In the event of an error, DataAccessException will
wrap a ClearException, accessible via DataAccessException.getRootCause().IPojoSpace.clear(Object,net.jini.core.transaction.Transaction)
public int clear(Object template, int modifiers) throws DataAccessException
GigaSpace
If the clear operation conducted without transaction (null as value) it will clear all entries that are not under transaction. Therefore entries under transaction would not be removed from the space.
The clear operation supports inheritance, therefore template class matching objects
and its sub classes matching objects are part of the candidates population
to be removed from the space. You can in fact clean all space objects (that are not under
transaction) by calling: gigaSpace.clear(null)
.
Notice: The clear operation does not remove notify templates i.e. registration for notifications.
Modifiers can be used to customize the clean operation. For example, the
TakeModifiers
allow control over whether the clear operation will only evict entries from an LRU cache.
clear
in interface GigaSpace
template
- the template to use for matchingmodifiers
- one of TakeModifiers
DataAccessException
- In the event of an error, DataAccessException will
wrap a ClearException, accessible via DataAccessException.getRootCause().IPojoSpace.clear(Object,net.jini.core.transaction.Transaction)
public int count(Object template) throws DataAccessException
GigaSpace
count
in interface GigaSpace
template
- The template used for matching. Matching is done against the
template with null
fields being wildcards
("match anything") other fields being values ("match
exactly on the serialized form").
DataAccessException
IPojoSpace.count(Object,net.jini.core.transaction.Transaction)
public int count(Object template, int modifiers) throws DataAccessException
GigaSpace
Allows to specify modifiers using ReadModifiers
which allows to programmatically control the isolation level this count operation
will be performed under.
count
in interface GigaSpace
template
- The template used for matching. Matching is done against the
template with null
fields being wildcards
("match anything") other fields being values ("match
exactly on the serialized form").modifiers
- one or a union of ReadModifiers
.
DataAccessException
public <T> ISpaceQuery<T> snapshot(Object entry) throws DataAccessException
GigaSpace
The process of serializing an entry for transmission to a JavaSpaces service will be identical if the same entry is used twice. This is most likely to be an issue with templates that are used repeatedly to search for entries with read or take.
The client-side implementations of read and take cannot reasonably avoid this duplicated effort, since they have no efficient way of checking whether the same template is being used without intervening modification.
The snapshot method gives the JavaSpaces service implementor a way to reduce the impact of repeated use of the same entry. Invoking snapshot with an Entry will return another Entry object that contains a snapshot of the original entry. Using the returned snapshot entry is equivalent to using the unmodified original entry in all operations on the same JavaSpaces service.
Modifications to the original entry will not affect the snapshot. You can snapshot a null
template; snapshot may or may not return null given a null template. The entry returned from snapshot
will be guaranteed equivalent to the original unmodified object only when used with the space. Using
the snapshot with any other JavaSpaces service will generate an IllegalArgumentException
unless the
other space can use it because of knowledge about the JavaSpaces service that generated the snapshot.
The snapshot will be a different object from the original, may or may not have the same hash code,
and equals may or may not return true when invoked with the original object, even if the original object
is unmodified. A snapshot is guaranteed to work only within the virtual machine in which it was generated.
If a snapshot is passed to another virtual machine (for example, in a parameter of an RMI call), using
it--even with the same JavaSpaces service--may generate an IllegalArgumentException
.
snapshot
in interface GigaSpace
entry
- The entry to snapshot
DataAccessException
IPojoSpace.snapshot(Object)
public <T> T readById(Class<T> clazz, Object id)
GigaSpace
null
if there is no match.
The timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
Note, if the space is partitioned, and the Entry has a specific property
for its routing value, the operation will broadcast to all partitions. The
GigaSpace.readById(Class, Object, Object)
can be used to specify the routing.
readById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entry
null
if no matching is found within the timeout value.public <T> T readById(Class<T> clazz, Object id, Object routing)
GigaSpace
null
if there is no match.
The timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
readById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entryrouting
- The routing value
null
if no matching is found within the timeout value.public <T> T readById(Class<T> clazz, Object id, Object routing, long timeout)
GigaSpace
null
if there is no match within the specified timeout.
readById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entryrouting
- The routing valuetimeout
- The timeout value to wait for a matching entry if it does not exists within the space
null
if no matching is found within the timeout value.public <T> T readById(Class<T> clazz, Object id, Object routing, long timeout, int modifiers)
GigaSpace
null
if there is no match within the specified timeout.
readById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entryrouting
- The routing valuetimeout
- The timeout value to wait for a matching entry if it does not exists within the spacemodifiers
- one or a union of ReadModifiers
.
null
if no matching is found within the timeout value.public <T> T readById(IdQuery<T> query) throws DataAccessException
GigaSpace
null
if there is no match.
The timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
Note, if the space is partitioned, and the Entry has a specific property
for its routing value, the operation will broadcast to all partitions. The
GigaSpace.readById(Class, Object, Object)
can be used to specify the routing.
readById
in interface GigaSpace
query
- Query to search by.
null
if no matching is found within the timeout value.
DataAccessException
public <T> T readById(IdQuery<T> query, long timeout) throws DataAccessException
GigaSpace
null
if there is no match within the specified timeout.
readById
in interface GigaSpace
query
- Query to search by.timeout
- The timeout value to wait for a matching entry if it does not exists within the space
null
if no matching is found within the timeout value.
DataAccessException
public <T> T readById(IdQuery<T> query, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
if there is no match within the specified timeout.
readById
in interface GigaSpace
query
- Query to search by.timeout
- The timeout value to wait for a matching entry if it does not exists within the spacemodifiers
- one or a union of ReadModifiers
.
null
if no matching is found within the timeout value.
DataAccessException
public <T> T read(T template) throws DataAccessException
GigaSpace
null
if the timeout expires.
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
read
in interface GigaSpace
template
- The template used for matching. Matching is done against
template with null
fields being
wildcards ("match anything") other fields being values ("match
exactly on the serialized form").
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long)
public <T> T read(T template, long timeout) throws DataAccessException
GigaSpace
null
if the timeout expires.
read
in interface GigaSpace
template
- The template used for matching. Matching is done against
template with null
fields being
wildcards ("match anything") other fields being values ("match
exactly on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long)
public <T> T read(T template, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
if the timeout expires.
Overloads GigaSpace.read(Object,long)
by adding a modifiers
parameter.
Equivalent when called with the default modifier - ReadModifiers.REPEATABLE_READ
.
Modifiers are used to define the behavior of a read operation.
read
in interface GigaSpace
template
- The template used for matching. Matching is done against
template with null
fields being
wildcards ("match anything") other fields being values ("match
exactly on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.modifiers
- one or a union of ReadModifiers
.
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long,int)
public <T> T read(ISpaceQuery<T> template) throws DataAccessException
GigaSpace
null
if the timeout expires.
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
read
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long)
public <T> T read(ISpaceQuery<T> template, long timeout) throws DataAccessException
GigaSpace
null
if the timeout expires.
read
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long)
public <T> T read(ISpaceQuery<T> template, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
if the timeout expires.
Overloads GigaSpace.read(Object,long)
by adding a modifiers
parameter.
Equivalent when called with the default modifier - ReadModifiers.REPEATABLE_READ
.
Modifiers are used to define the behavior of a read operation.
read
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.modifiers
- one or a union of ReadModifiers
.
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long,int)
public <T> AsyncFuture<T> asyncRead(T template) throws DataAccessException
GigaSpace
null
in case there was no match).
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
asyncRead
in interface GigaSpace
template
- The template used for matching. Matching is done against
template with null
fields being
wildcards ("match anything") other fields being values ("match
exactly on the serialized form").
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long)
public <T> AsyncFuture<T> asyncRead(T template, AsyncFutureListener<T> listener) throws DataAccessException
GigaSpace
null
in case there was no match).
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
asyncRead
in interface GigaSpace
template
- The template used for matching. Matching is done against
template with null
fields being
wildcards ("match anything") other fields being values ("match
exactly on the serialized form").listener
- A listener to be notified when a result arrives
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long)
public <T> AsyncFuture<T> asyncRead(T template, long timeout) throws DataAccessException
GigaSpace
null
in case there was no match).
asyncRead
in interface GigaSpace
template
- The template used for matching. Matching is done against
template with null
fields being
wildcards ("match anything") other fields being values ("match
exactly on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long)
public <T> AsyncFuture<T> asyncRead(T template, long timeout, AsyncFutureListener<T> listener) throws DataAccessException
GigaSpace
null
in case there was no match).
asyncRead
in interface GigaSpace
template
- The template used for matching. Matching is done against
template with null
fields being
wildcards ("match anything") other fields being values ("match
exactly on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.listener
- A listener to be notified when a result arrives
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long)
public <T> AsyncFuture<T> asyncRead(T template, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
in case there was no match).
Overloads GigaSpace.asyncRead(Object,long)
by adding a modifiers
parameter.
Equivalent when called with the default modifier - ReadModifiers.REPEATABLE_READ
.
Modifiers are used to define the behavior of a read operation.
asyncRead
in interface GigaSpace
template
- The template used for matching. Matching is done against
template with null
fields being
wildcards ("match anything") other fields being values ("match
exactly on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.modifiers
- one or a union of ReadModifiers
.
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long,int)
public <T> AsyncFuture<T> asyncRead(T template, long timeout, int modifiers, AsyncFutureListener<T> listener) throws DataAccessException
GigaSpace
null
in case there was no match).
Overloads GigaSpace.asyncRead(Object,long)
by adding a modifiers
parameter.
Equivalent when called with the default modifier - ReadModifiers.REPEATABLE_READ
.
Modifiers are used to define the behavior of a read operation.
asyncRead
in interface GigaSpace
template
- The template used for matching. Matching is done against
template with null
fields being
wildcards ("match anything") other fields being values ("match
exactly on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.modifiers
- one or a union of ReadModifiers
.listener
- A listener to be notified when a result arrives
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long,int)
public <T> AsyncFuture<T> asyncRead(ISpaceQuery<T> template) throws DataAccessException
GigaSpace
null
in case there was no match).
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
asyncRead
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long)
public <T> AsyncFuture<T> asyncRead(ISpaceQuery<T> template, AsyncFutureListener<T> listener) throws DataAccessException
GigaSpace
null
in case there was no match).
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
asyncRead
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.listener
- A listener to be notified when a result arrives
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long)
public <T> AsyncFuture<T> asyncRead(ISpaceQuery<T> template, long timeout) throws DataAccessException
GigaSpace
null
in case there was no match).
asyncRead
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long)
public <T> AsyncFuture<T> asyncRead(ISpaceQuery<T> template, long timeout, AsyncFutureListener<T> listener) throws DataAccessException
GigaSpace
null
in case there was no match).
asyncRead
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.listener
- A listener to be notified when a result arrives
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long)
public <T> AsyncFuture<T> asyncRead(ISpaceQuery<T> template, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
in case there was no match).
Overloads GigaSpace.asyncRead(Object,long)
by adding a modifiers
parameter.
Equivalent when called with the default modifier - ReadModifiers.REPEATABLE_READ
.
Modifiers are used to define the behavior of a read operation.
asyncRead
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.modifiers
- one or a union of ReadModifiers
.
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long,int)
public <T> AsyncFuture<T> asyncRead(ISpaceQuery<T> template, long timeout, int modifiers, AsyncFutureListener<T> listener) throws DataAccessException
GigaSpace
null
in case there was no match).
Overloads GigaSpace.asyncRead(Object,long)
by adding a modifiers
parameter.
Equivalent when called with the default modifier - ReadModifiers.REPEATABLE_READ
.
Modifiers are used to define the behavior of a read operation.
asyncRead
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.modifiers
- one or a union of ReadModifiers
.listener
- A listener to be notified when a result arrives
DataAccessException
IPojoSpace.read(Object,net.jini.core.transaction.Transaction,long,int)
public <T> T readIfExistsById(Class<T> clazz, Object id)
GigaSpace
null
if there is no match.
Matching and timeouts are done as in
readById
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
The timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
Note, if the space is partitioned, and the Entry has a specific property
for its routing value, the operation will broadcast to all partitions. The
GigaSpace.readById(Class, Object, Object)
can be used to specify the routing.
readIfExistsById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entry
null
if no matching is found within the timeout value.public <T> T readIfExistsById(Class<T> clazz, Object id, Object routing)
GigaSpace
null
if there is no match.
Matching and timeouts are done as in
readById
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
The timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
readIfExistsById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entryrouting
- The routing value
null
if no matching is found within the timeout value.public <T> T readIfExistsById(Class<T> clazz, Object id, Object routing, long timeout)
GigaSpace
null
if there is no match within the specified timeout.
Matching and timeouts are done as in
readById
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
readIfExistsById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entryrouting
- The routing valuetimeout
- The timeout value to wait for a matching entry if it does not exists within the space
null
if no matching is found within the timeout value.public <T> T readIfExistsById(Class<T> clazz, Object id, Object routing, long timeout, int modifiers)
GigaSpace
null
if there is no match within the specified timeout.
Matching and timeouts are done as in
readById
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
readIfExistsById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entryrouting
- The routing valuetimeout
- The timeout value to wait for a matching entry if it does not exists within the spacemodifiers
- one or a union of ReadModifiers
.
null
if no matching is found within the timeout value.public <T> T readIfExistsById(IdQuery<T> query) throws DataAccessException
GigaSpace
null
if there is no match.
The timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
Note, if the space is partitioned, and the Entry has a specific property
for its routing value, the operation will broadcast to all partitions. The
GigaSpace.readById(Class, Object, Object)
can be used to specify the routing.
Matching and timeouts are done as in
readById
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
readIfExistsById
in interface GigaSpace
query
- Query to search by.
null
if no matching is found within the timeout value.
DataAccessException
public <T> T readIfExistsById(IdQuery<T> query, long timeout) throws DataAccessException
GigaSpace
null
if there is no match within the specified timeout.
Matching and timeouts are done as in
readById
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
readIfExistsById
in interface GigaSpace
query
- Query to search by.timeout
- The timeout value to wait for a matching entry if it does not exists within the space
null
if no matching is found within the timeout value.
DataAccessException
public <T> T readIfExistsById(IdQuery<T> query, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
if there is no match within the specified timeout.
Matching and timeouts are done as in
readById
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
readIfExistsById
in interface GigaSpace
query
- Query to search by.timeout
- The timeout value to wait for a matching entry if it does not exists within the spacemodifiers
- one or a union of ReadModifiers
.
null
if no matching is found within the timeout value.
DataAccessException
public <T> T readIfExists(T template) throws DataAccessException
GigaSpace
null
if
there currently is none. Matching and timeouts are done as in
read
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
readIfExists
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being
wildcards ("match anything") other fields being values ("match
exactly on the serialized form").
DataAccessException
IPojoSpace.readIfExists(Object,net.jini.core.transaction.Transaction,long)
public <T> T readIfExists(T template, long timeout) throws DataAccessException
GigaSpace
null
if
there currently is none. Matching and timeouts are done as in
read
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
readIfExists
in interface GigaSpace
template
- The template used for matching. Matching is done against
template with null
fields being
wildcards ("match anything") other fields being values ("match
exactly on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.
DataAccessException
IPojoSpace.readIfExists(Object,net.jini.core.transaction.Transaction,long)
public <T> T readIfExists(T template, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
if
there currently is none. Matching and timeouts are done as in
read
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
Overloads GigaSpace.read(Object,long)
by adding a modifiers
parameter.
Equivalent when called with the default modifier - ReadModifiers.REPEATABLE_READ
.
Modifiers are used to define the behavior of a read operation.
readIfExists
in interface GigaSpace
template
- The template used for matching. Matching is done against
template with null
fields being
wildcards ("match anything") other fields being values ("match
exactly on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.modifiers
- one or a union of ReadModifiers
.
DataAccessException
IJSpace.readIfExists(net.jini.core.entry.Entry,net.jini.core.transaction.Transaction,long,int)
public <T> T readIfExists(ISpaceQuery<T> template) throws DataAccessException
GigaSpace
null
if
there currently is none. Matching and timeouts are done as in
read
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
readIfExists
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.
DataAccessException
IPojoSpace.readIfExists(Object,net.jini.core.transaction.Transaction,long)
public <T> T readIfExists(ISpaceQuery<T> template, long timeout) throws DataAccessException
GigaSpace
null
if
there currently is none. Matching and timeouts are done as in
read
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
readIfExists
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.
DataAccessException
IPojoSpace.readIfExists(Object,net.jini.core.transaction.Transaction,long)
public <T> T readIfExists(ISpaceQuery<T> template, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
if
there currently is none. Matching and timeouts are done as in
read
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
Overloads GigaSpace.read(Object,long)
by adding a modifiers
parameter.
Equivalent when called with the default modifier - ReadModifiers.REPEATABLE_READ
.
Modifiers are used to define the behavior of a read operation.
readIfExists
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching object. A timeout of
JavaSpace.NO_WAIT
means to wait no time at all; this is
equivalent to a wait of zero.modifiers
- one or a union of ReadModifiers
.
DataAccessException
IJSpace.readIfExists(net.jini.core.entry.Entry,net.jini.core.transaction.Transaction,long,int)
public <T> T[] readMultiple(T template) throws DataAccessException
GigaSpace
read
without timeout (JavaSpace.NO_WAIT
). Returns an
unbounded array of matches. Returns an empty array if no match was found.
Same as calling readMultiple(template, Integer.MAX_VALUE)
.
readMultiple
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being.
wildcards ("match anything") other fields being values ("match
exactly on the serialized form"). The template can also be one
of the different ISpaceQuery
classes
DataAccessException
- In the event of a read error, DataAccessException will
wrap a ReadMultipleException, accessible via DataAccessException.getRootCause().IPojoSpace.readMultiple(Object,net.jini.core.transaction.Transaction,int)
public <T> T[] readMultiple(T template, int maxEntries) throws DataAccessException
GigaSpace
read
without timeout (JavaSpace.NO_WAIT
). Returns an
array with matches bound by maxEntries
. Returns an
empty array if no match was found.
readMultiple
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being.
wildcards ("match anything") other fields being values ("match
exactly on the serialized form"). The template can also be one
of the different ISpaceQuery
classesmaxEntries
- A limit on the number of entries to be returned. Use
Integer.MAX_VALUE
for the uppermost limit.
DataAccessException
- In the event of a read error, DataAccessException will
wrap a ReadMultipleException, accessible via DataAccessException.getRootCause().IPojoSpace.readMultiple(Object,net.jini.core.transaction.Transaction,int)
public <T> T[] readMultiple(T template, int maxEntries, int modifiers) throws DataAccessException
GigaSpace
read
without timeout (JavaSpace.NO_WAIT
). Returns an
array with matches bound by maxEntries
. Returns an
empty array if no match was found.
Overloads GigaSpace.readMultiple(Object,int)
by adding a
modifiers
parameter. Equivalent when called with the default
modifier - ReadModifiers.REPEATABLE_READ
. Modifiers
are used to define the behavior of a read operation.
readMultiple
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being.
wildcards ("match anything") other fields being values ("match
exactly on the serialized form"). The template can also be one
of the different ISpaceQuery
classesmaxEntries
- A limit on the number of entries to be returned. Use
Integer.MAX_VALUE
for the uppermost limit.modifiers
- One or a union of ReadModifiers
.
DataAccessException
- In the event of a read error, DataAccessException will
wrap a ReadMultipleException, accessible via DataAccessException.getRootCause().IPojoSpace.readMultiple(Object,net.jini.core.transaction.Transaction,int)
public <T> T[] readMultiple(ISpaceQuery<T> template) throws DataAccessException
GigaSpace
read
without timeout (JavaSpace.NO_WAIT
). Returns an
unbounded array of matches. Returns an
empty array if no match was found.
readMultiple
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.
DataAccessException
- In the event of a read error, DataAccessException will
wrap a ReadMultipleException, accessible via DataAccessException.getRootCause().IPojoSpace.readMultiple(Object,net.jini.core.transaction.Transaction,int)
public <T> T[] readMultiple(ISpaceQuery<T> template, int maxEntries) throws DataAccessException
GigaSpace
read
without timeout (JavaSpace.NO_WAIT
). Returns an
array with matches bound by maxEntries
. Returns an
empty array if no match was found.
readMultiple
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.maxEntries
- A limit on the number of entries to be returned. Use
Integer.MAX_VALUE
for the uppermost limit.
DataAccessException
- In the event of a read error, DataAccessException will
wrap a ReadMultipleException, accessible via DataAccessException.getRootCause().IPojoSpace.readMultiple(Object,net.jini.core.transaction.Transaction,int)
public <T> T[] readMultiple(ISpaceQuery<T> template, int maxEntries, int modifiers) throws DataAccessException
GigaSpace
read
without timeout (JavaSpace.NO_WAIT
). Returns an
array with matches bound by maxEntries
. Returns an
empty array if no match was found.
Overloads GigaSpace.readMultiple(Object,int)
by adding a
modifiers
parameter. Equivalent when called with the default
modifier - ReadModifiers.REPEATABLE_READ
. Modifiers
are used to define the behavior of a read operation.
readMultiple
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.maxEntries
- A limit on the number of entries to be returned. Use
Integer.MAX_VALUE
for the uppermost limit.modifiers
- One or a union of ReadModifiers
.
DataAccessException
- In the event of a read error, DataAccessException will
wrap a ReadMultipleException, accessible via DataAccessException.getRootCause().IPojoSpace.readMultiple(Object,net.jini.core.transaction.Transaction,int)
public <T> T takeById(Class<T> clazz, Object id)
GigaSpace
null
if there is no match.
The timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
Note, if the space is partitioned, and the Entry has a specific property
for its routing value, the operation will broadcast to all partitions. The
GigaSpace.takeById(Class, Object, Object)
can be used to specify the routing.
takeById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entry
null
if no matching is found within the timeout value.public <T> T takeById(Class<T> clazz, Object id, Object routing)
GigaSpace
null
if there is no match.
The timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
takeById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entryrouting
- The routing value
null
if no matching is found within the timeout value.public <T> T takeById(Class<T> clazz, Object id, Object routing, long timeout)
GigaSpace
null
if there is no match within the specified timeout.
takeById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entryrouting
- The routing valuetimeout
- The timeout value to wait for a matching entry if it does not exists within the space
null
if no matching is found within the timeout value.public <T> T takeById(Class<T> clazz, Object id, Object routing, long timeout, int modifiers)
GigaSpace
null
if there is no match within the specified timeout.
takeById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entryrouting
- The routing valuetimeout
- The timeout value to wait for a matching entry if it does not exists within the spacemodifiers
- one or a union of ReadModifiers
.
null
if no matching is found within the timeout value.public <T> T takeById(IdQuery<T> query) throws DataAccessException
GigaSpace
null
if there is no match.
The timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
Note, if the space is partitioned, and the Entry has a specific property
for its routing value, the operation will broadcast to all partitions. The
GigaSpace.readById(Class, Object, Object)
can be used to specify the routing.
takeById
in interface GigaSpace
query
- Query to search by.
null
if no matching is found within the timeout value.
DataAccessException
public <T> T takeById(IdQuery<T> query, long timeout) throws DataAccessException
GigaSpace
null
if there is no match within the specified timeout.
takeById
in interface GigaSpace
query
- Query to search by.timeout
- The timeout value to wait for a matching entry if it does not exists within the space
null
if no matching is found within the timeout value.
DataAccessException
public <T> T takeById(IdQuery<T> query, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
if there is no match within the specified timeout.
takeById
in interface GigaSpace
query
- Query to search by.timeout
- The timeout value to wait for a matching entry if it does not exists within the spacemodifiers
- one or a union of ReadModifiers
.
null
if no matching is found within the timeout value.
DataAccessException
public <T> T take(T template) throws DataAccessException
GigaSpace
null
if the timeout expires.
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
take
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being wildcards (
"match anything") other fields being values ("match exactly
on the serialized form").
DataAccessException
public <T> T take(T template, long timeout) throws DataAccessException
GigaSpace
null
if the timeout expires.
take
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being wildcards (
"match anything") other fields being values ("match exactly
on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.
DataAccessException
public <T> T take(T template, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
if the timeout expires.
take
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being wildcards (
"match anything") other fields being values ("match exactly
on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.modifiers
- Allows to use ReadModifiers.MATCH_BY_ID
DataAccessException
public <T> T take(ISpaceQuery<T> template) throws DataAccessException
GigaSpace
null
if the timeout expires.
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
take
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.
DataAccessException
public <T> T take(ISpaceQuery<T> template, long timeout) throws DataAccessException
GigaSpace
null
if the timeout expires.
take
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.
DataAccessException
public <T> T take(ISpaceQuery<T> template, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
if the timeout expires.
take
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.modifiers
- Allows to use ReadModifiers.MATCH_BY_ID
DataAccessException
public <T> AsyncFuture<T> asyncTake(T template) throws DataAccessException
GigaSpace
null
in case there was no match).
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
asyncTake
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being wildcards (
"match anything") other fields being values ("match exactly
on the serialized form").
DataAccessException
public <T> AsyncFuture<T> asyncTake(T template, AsyncFutureListener<T> listener) throws DataAccessException
GigaSpace
null
in case there was no match).
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
asyncTake
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being wildcards (
"match anything") other fields being values ("match exactly
on the serialized form").listener
- A listener to be notified when a result arrives
DataAccessException
public <T> AsyncFuture<T> asyncTake(T template, long timeout) throws DataAccessException
GigaSpace
null
in case there was no match).
asyncTake
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being wildcards (
"match anything") other fields being values ("match exactly
on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.
DataAccessException
public <T> AsyncFuture<T> asyncTake(T template, long timeout, AsyncFutureListener<T> listener) throws DataAccessException
GigaSpace
null
in case there was no match).
asyncTake
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being wildcards (
"match anything") other fields being values ("match exactly
on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.listener
- A listener to be notified when a result arrives
DataAccessException
public <T> AsyncFuture<T> asyncTake(T template, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
in case there was no match).
asyncTake
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being wildcards (
"match anything") other fields being values ("match exactly
on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.modifiers
- Allows to use ReadModifiers.MATCH_BY_ID
DataAccessException
public <T> AsyncFuture<T> asyncTake(T template, long timeout, int modifiers, AsyncFutureListener<T> listener) throws DataAccessException
GigaSpace
null
in case there was no match).
asyncTake
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being wildcards (
"match anything") other fields being values ("match exactly
on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.modifiers
- Allows to use ReadModifiers.MATCH_BY_ID
listener
- A listener to be notified when a result arrives
DataAccessException
public <T> AsyncFuture<T> asyncTake(ISpaceQuery<T> template) throws DataAccessException
GigaSpace
null
in case there was no match).
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
asyncTake
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.
DataAccessException
public <T> AsyncFuture<T> asyncTake(ISpaceQuery<T> template, AsyncFutureListener<T> listener) throws DataAccessException
GigaSpace
null
in case there was no match).
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
asyncTake
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.listener
- A listener to be notified when a result arrives.
DataAccessException
public <T> AsyncFuture<T> asyncTake(ISpaceQuery<T> template, long timeout) throws DataAccessException
GigaSpace
null
in case there was no match).
asyncTake
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.
DataAccessException
public <T> AsyncFuture<T> asyncTake(ISpaceQuery<T> template, long timeout, AsyncFutureListener<T> listener) throws DataAccessException
GigaSpace
null
in case there was no match).
asyncTake
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.listener
- A listener to be notified when a result arrives.
DataAccessException
public <T> AsyncFuture<T> asyncTake(ISpaceQuery<T> template, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
in case there was no match).
asyncTake
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.modifiers
- Allows to use ReadModifiers.MATCH_BY_ID
DataAccessException
public <T> AsyncFuture<T> asyncTake(ISpaceQuery<T> template, long timeout, int modifiers, AsyncFutureListener<T> listener) throws DataAccessException
GigaSpace
null
in case there was no match).
asyncTake
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.modifiers
- Allows to use ReadModifiers.MATCH_BY_ID
listener
- A listener to be notified when a result arrives.
DataAccessException
public <T> T takeIfExistsById(Class<T> clazz, Object id)
GigaSpace
null
if there is no match.
Matching and timeouts are done as in takeById
, except that blocking in this
call is done only if necessary to wait for transactional state to settle.
The timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
Note, if the space is partitioned, and the Entry has a specific property
for its routing value, the operation will broadcast to all partitions. The
GigaSpace.takeById(Class, Object, Object)
can be used to specify the routing.
takeIfExistsById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entry
null
if no matching is found within the timeout value.public <T> T takeIfExistsById(Class<T> clazz, Object id, Object routing)
GigaSpace
null
if there is no match.
Matching and timeouts are done as in takeById
, except that blocking in this
call is done only if necessary to wait for transactional state to settle.
The timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
takeIfExistsById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entryrouting
- The routing value
null
if no matching is found within the timeout value.public <T> T takeIfExistsById(Class<T> clazz, Object id, Object routing, long timeout)
GigaSpace
null
if there is no match within the specified timeout.
Matching and timeouts are done as in takeById
, except that blocking in this
call is done only if necessary to wait for transactional state to settle.
takeIfExistsById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entryrouting
- The routing valuetimeout
- The timeout value to wait for a matching entry if it does not exists within the space
null
if no matching is found within the timeout value.public <T> T takeIfExistsById(Class<T> clazz, Object id, Object routing, long timeout, int modifiers)
GigaSpace
null
if there is no match within the specified timeout.
Matching and timeouts are done as in takeById
, except that blocking in this
call is done only if necessary to wait for transactional state to settle.
takeIfExistsById
in interface GigaSpace
clazz
- The class of the entryid
- The id of the entryrouting
- The routing valuetimeout
- The timeout value to wait for a matching entry if it does not exists within the spacemodifiers
- one or a union of ReadModifiers
.
null
if no matching is found within the timeout value.public <T> T takeIfExistsById(IdQuery<T> query) throws DataAccessException
GigaSpace
null
if there is no match.
The timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
Note, if the space is partitioned, and the Entry has a specific property
for its routing value, the operation will broadcast to all partitions. The
GigaSpace.readById(Class, Object, Object)
can be used to specify the routing.
Matching and timeouts are done as in
readById
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
takeIfExistsById
in interface GigaSpace
query
- Query to search by.
null
if no matching is found within the timeout value.
DataAccessException
public <T> T takeIfExistsById(IdQuery<T> query, long timeout) throws DataAccessException
GigaSpace
null
if there is no match within the specified timeout.
Matching and timeouts are done as in
readById
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
takeIfExistsById
in interface GigaSpace
query
- Query to search by.timeout
- The timeout value to wait for a matching entry if it does not exists within the space
null
if no matching is found within the timeout value.
DataAccessException
public <T> T takeIfExistsById(IdQuery<T> query, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
if there is no match within the specified timeout.
Matching and timeouts are done as in
readById
, except that blocking in this call is done only if
necessary to wait for transactional state to settle.
takeIfExistsById
in interface GigaSpace
query
- Query to search by.timeout
- The timeout value to wait for a matching entry if it does not exists within the spacemodifiers
- one or a union of ReadModifiers
.
null
if no matching is found within the timeout value.
DataAccessException
public <T> T takeIfExists(T template) throws DataAccessException
GigaSpace
null
if
there currently is none. Matching and timeouts are done as in take
,
except that blocking in this call is done only if necessary to wait for transactional
state to settle.
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
takeIfExists
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being wildcards (
"match anything") other fields being values ("match exactly
on the serialized form").
DataAccessException
public <T> T takeIfExists(T template, long timeout) throws DataAccessException
GigaSpace
null
if
there currently is none. Matching and timeouts are done as in take
,
except that blocking in this call is done only if necessary to wait for transactional
state to settle.
takeIfExists
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being wildcards (
"match anything") other fields being values ("match exactly
on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.
DataAccessException
public <T> T takeIfExists(T template, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
if
there currently is none. Matching and timeouts are done as in take
,
except that blocking in this call is done only if necessary to wait for transactional
state to settle.
takeIfExists
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being wildcards (
"match anything") other fields being values ("match exactly
on the serialized form").timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.modifiers
- one or a union of TakeModifiers
.
DataAccessException
public <T> T takeIfExists(ISpaceQuery<T> template) throws DataAccessException
GigaSpace
null
if
there currently is none. Matching and timeouts are done as in take
,
except that blocking in this call is done only if necessary to wait for transactional
state to settle.
Note, the timeout is the default timeout this interface is configured with
(using its factory) and defaults to JavaSpace.NO_WAIT
.
takeIfExists
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.
DataAccessException
IPojoSpace.takeIfExists(Object,net.jini.core.transaction.Transaction,long)
public <T> T takeIfExists(ISpaceQuery<T> template, long timeout) throws DataAccessException
GigaSpace
null
if
there currently is none. Matching and timeouts are done as in take
,
except that blocking in this call is done only if necessary to wait for transactional
state to settle.
takeIfExists
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.
DataAccessException
IPojoSpace.takeIfExists(Object,net.jini.core.transaction.Transaction,long)
public <T> T takeIfExists(ISpaceQuery<T> template, long timeout, int modifiers) throws DataAccessException
GigaSpace
null
if
there currently is none. Matching and timeouts are done as in take
,
except that blocking in this call is done only if necessary to wait for transactional
state to settle.
takeIfExists
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.timeout
- How long the client is willing to wait for a
transactionally proper matching entry. A timeout of
JavaSpace.NO_WAIT
means to wait no
time at all; this is equivalent to a wait of zero.modifiers
- one or a union of TakeModifiers
.
DataAccessException
IPojoSpace.takeIfExists(Object,net.jini.core.transaction.Transaction,long)
public <T> T[] takeMultiple(T template) throws DataAccessException
GigaSpace
takeMultiple(template, Integer.MAX_VALUE)
.
takeMultiple
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being.
wildcards ("match anything") other fields being values ("match
exactly on the serialized form"). The template can also be one
of the different ISpaceQuery
classes
DataAccessException
- In the event of a take error, DataAccessException will
wrap a TakeMultipleException, accessible via DataAccessException.getRootCause().IPojoSpace.takeMultiple(Object,net.jini.core.transaction.Transaction,int)
public <T> T[] takeMultiple(T template, int maxEntries) throws DataAccessException
GigaSpace
takeMultiple
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being.
wildcards ("match anything") other fields being values ("match
exactly on the serialized form"). The template can also be one
of the different ISpaceQuery
classesmaxEntries
- A limit on the number of entries to be returned. Use
Integer.MAX_VALUE
for the uppermost limit.
DataAccessException
- In the event of a take error, DataAccessException will
wrap a TakeMultipleException, accessible via DataAccessException.getRootCause().IPojoSpace.takeMultiple(Object,net.jini.core.transaction.Transaction,int)
public <T> T[] takeMultiple(ISpaceQuery<T> template) throws DataAccessException
GigaSpace
takeMultiple
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.
DataAccessException
- In the event of a take error, DataAccessException will
wrap a TakeMultipleException, accessible via DataAccessException.getRootCause().IPojoSpace.takeMultiple(Object,net.jini.core.transaction.Transaction,int)
public <T> T[] takeMultiple(ISpaceQuery<T> template, int maxEntries) throws DataAccessException
GigaSpace
takeMultiple
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.maxEntries
- A limit on the number of entries to be returned. Use
Integer.MAX_VALUE
for the uppermost limit.
DataAccessException
- In the event of a take error, DataAccessException will
wrap a TakeMultipleException, accessible via DataAccessException.getRootCause().IPojoSpace.takeMultiple(Object,net.jini.core.transaction.Transaction,int)
public <T> T[] takeMultiple(T template, int maxEntries, int modifiers) throws DataAccessException
GigaSpace
takeMultiple
in interface GigaSpace
template
- The template used for matching. Matching is done against
the template with null
fields being.
wildcards ("match anything") other fields being values ("match
exactly on the serialized form"). The template can also be one
of the different ISpaceQuery
classesmaxEntries
- A limit on the number of entries to be returned. Use
Integer.MAX_VALUE
for the uppermost limit.modifiers
- one of TakeModifiers
DataAccessException
- In the event of a take error, DataAccessException will
wrap a TakeMultipleException, accessible via DataAccessException.getRootCause().IPojoSpace.takeMultiple(Object,net.jini.core.transaction.Transaction,int)
public <T> T[] takeMultiple(ISpaceQuery<T> template, int maxEntries, int modifiers) throws DataAccessException
GigaSpace
takeMultiple
in interface GigaSpace
template
- A query to be executed against the space. Most common one is
SQLQuery
.maxEntries
- A limit on the number of entries to be returned. Use
Integer.MAX_VALUE
for the uppermost limit.modifiers
- one of TakeModifiers
DataAccessException
- In the event of a take error, DataAccessException will
wrap a TakeMultipleException, accessible via DataAccessException.getRootCause().IPojoSpace.takeMultiple(Object,net.jini.core.transaction.Transaction,int)
public <T> LeaseContext<T> write(T entry) throws DataAccessException
GigaSpace
LeaseContext
.
By default uses the UpdateModifiers.UPDATE_OR_WRITE
modifier (see GigaSpace.write(Object,long,long,int)
. In order to force the operation
to perform "write" only (a bit more performant), the UpdateModifiers.WRITE_ONLY
modifier can be used resulting in an EntryAlreadyInSpaceException
if the entry already exists in the space (it must have an id for this exception to be raised).
If the object has a primary key that isn't auto - generated, and the modifiers value is one of
UpdateModifiers.UPDATE_OR_WRITE
,
UpdateModifiers.UPDATE_ONLY
or
UpdateModifiers.PARTIAL_UPDATE
, it will call to the update method,
returning a LeaseContext holder. This lease is unknown to the grantor, unless an actual 'write' was performed.
The entry will be written using the default lease this interface is configured with
(using the its factory). In order to explicitly define the lease, please use
GigaSpace.write(Object,long)
.
write
in interface GigaSpace
entry
- The entry to write to the space
Lease
on a successful write, or null
if performed
with the proxy configured with NoWriteLease flag.
when UpdateModifiers.UPDATE_OR_WRITE
modifier is applied,
LeaseContext.getObject()
returns null
on a successful write
or the previous value - on successful update. UpdateOperationTimeoutException
is thrown if timeout occurred while trying to update the object.
DataAccessException
IPojoSpace.write(Object,net.jini.core.transaction.Transaction,long)
public <T> LeaseContext<T> write(T entry, long lease) throws DataAccessException
GigaSpace
LeaseContext
.
By default uses the UpdateModifiers.UPDATE_OR_WRITE
modifier (see GigaSpace.write(Object,long,long,int)
. In order to force the operation
to perform "write" only (a bit more performant), the UpdateModifiers.WRITE_ONLY
modifier can be used resulting in an EntryAlreadyInSpaceException
if the entry already exists in the space (it must have an id for this exception to be raised).
If the object has a primary key that isn't auto - generated, and the modifiers value is one of
UpdateModifiers.UPDATE_OR_WRITE
,
UpdateModifiers.UPDATE_ONLY
or
UpdateModifiers.PARTIAL_UPDATE
, it will call to the update method,
returning a LeaseContext holder. This lease is unknown to the grantor, unless an actual 'write' was performed.
write
in interface GigaSpace
entry
- The entry to write to the spacelease
- The lease the entry will be written with, in milliseconds.
Lease
on a successful write, or null
if performed
with the proxy configured with NoWriteLease flag.
when UpdateModifiers.UPDATE_OR_WRITE
modifier is applied,
LeaseContext.getObject()
returns null
on a successful write
or the previous value - on successful update. UpdateOperationTimeoutException
is thrown if timeout occurred while trying to update the object.
DataAccessException
IPojoSpace.write(Object,net.jini.core.transaction.Transaction,long)
public <T> LeaseContext<T> write(T entry, long lease, long timeout, int modifiers) throws DataAccessException
GigaSpace
LeaseContext
.
By default uses the UpdateModifiers.UPDATE_OR_WRITE
modifier (see GigaSpace.write(Object,long,long,int)
. In order to force the operation
to perform "write" only (a bit more performant), the UpdateModifiers.WRITE_ONLY
modifier can be used resulting in an EntryAlreadyInSpaceException
if the entry already exists in the space (it must have an id for this exception to be raised).
If the object has a primary key that isn't auto - generated, and the modifiers value is one of
UpdateModifiers.UPDATE_OR_WRITE
,
UpdateModifiers.UPDATE_ONLY
or
UpdateModifiers.PARTIAL_UPDATE
, it will call to the update method,
returning a LeaseContext holder. This lease is unknown to the grantor, unless an actual 'write' was performed.
write
in interface GigaSpace
entry
- The entry to write to the spacelease
- The lease the entry will be written with, in milliseconds.
Lease
on a successful write, or null
if performed
with the proxy configured with NoWriteLease flag.
when UpdateModifiers.UPDATE_OR_WRITE
modifier is applied,
LeaseContext.getObject()
returns null
on a successful write
or the previous value - on successful update. UpdateOperationTimeoutException
is thrown if timeout occurred while trying to update the object.
DataAccessException
IPojoSpace.write(Object,net.jini.core.transaction.Transaction,long)
public <T> LeaseContext<T>[] writeMultiple(T[] entries) throws DataAccessException
GigaSpace
The entry will be written using the default lease this interface is configured with
(using the its factory). In order to explicitly define the lease, please use
GigaSpace.writeMultiple(Object[],long)
.
writeMultiple
in interface GigaSpace
entries
- The entries to write to the space.
DataAccessException
- In the event of a write error, DataAccessException will
wrap a WriteMultipleException, accessible via DataAccessException.getRootCause().IPojoSpace.writeMultiple(Object[],net.jini.core.transaction.Transaction,long)
public <T> LeaseContext<T>[] writeMultiple(T[] entries, long lease) throws DataAccessException
GigaSpace
writeMultiple
in interface GigaSpace
entries
- The entries to write to the space.lease
- The lease the entry will be written with, in milliseconds.
DataAccessException
- In the event of a write error, DataAccessException will
wrap a WriteMultipleException, accessible via DataAccessException.getRootCause().IPojoSpace.writeMultiple(Object[],net.jini.core.transaction.Transaction,long)
public <T> LeaseContext<T>[] writeMultiple(T[] entries, long lease, int updateModifiers) throws DataAccessException
GigaSpace
'returns'
for possible return values.
writeMultiple
in interface GigaSpace
entries
- the entries to write.lease
- the requested lease time, in millisecondsupdateModifiers
- operation modifiers, values from UpdateModifiers
.
Lease
on a successful write, or null
if performed with NoWriteLease attribute.
when UpdateModifiers.UPDATE_OR_WRITE
modifier is applied,
LeaseContext.getObject()
returns:
DataAccessException
- In the event of a write error, DataAccessException will
wrap a WriteMultipleException, accessible via DataAccessException.getRootCause().public <T> LeaseContext<T>[] writeMultiple(T[] entries, long[] leases, int updateModifiers) throws DataAccessException
GigaSpace
'returns'
for possible return values.
writeMultiple
in interface GigaSpace
entries
- the entries to write.leases
- the requested lease time per entry, in millisecondsupdateModifiers
- operation modifiers, values from UpdateModifiers
.
Lease
on a successful write, or null
if performed with NoWriteLease attribute.
when UpdateModifiers.UPDATE_OR_WRITE
modifier is applied,
LeaseContext.getObject()
returns:
DataAccessException
- In the event of a write error, DataAccessException will
wrap a WriteMultipleException, accessible via DataAccessException.getRootCause().public <T> Object[] updateMultiple(T[] entries, long[] leases) throws DataAccessException
updateMultiple
in interface GigaSpace
DataAccessException
public <T> Object[] updateMultiple(T[] entries, long[] leases, int updateModifiers) throws DataAccessException
GigaSpace
Modifiers.NONE
).
The semantics of a single update and a batch update are similar - the return
value for each corresponds to it's cell in the returned array.
see 'returns'
for possible return values.
updateMultiple
in interface GigaSpace
entries
- the array of objects containing the new values,
each entry must contain its UID.leases
- The lease time of the updated objects, 0 means retain the original lease.updateModifiers
- operation modifiers, values from UpdateModifiers
.
null
- if timeout occurred after waiting for a transactional proper matching entry
EntryNotInSpaceException
- in case the entry does not exist
SpaceOptimisticLockingFailureException
- in case updating with non-latest version
UpdateModifiers.UPDATE_OR_WRITE
modifier is applied,
null
- if write was successful,
DataAccessException
public IteratorBuilder iterator()
GigaSpace
GSIterator
over the Space.
iterator
in interface GigaSpace
public <T extends Serializable> AsyncFuture<T> execute(Task<T> task)
GigaSpace
SpaceRouting
.
In order to control the routing externally, use GigaSpace.execute(org.openspaces.core.executor.Task, Object)
.
The space that the task is executed within can be accessible by marking a field with type GigaSpace
using the TaskGigaSpace
annotation. Another option is by implementing
the TaskGigaSpaceAware
interface.
Resource injection can be enabled by marking the task with AutowireTask
or with AutowireTaskMarker
. Resources defined within processing unit
(space node) the task is executed on are accessible by using either the Autowired
or
javax.annotation.Resource annotations (assuming they are enabled using context:annotation-config
).
Bean life cycle methods, such as ClusterInfoAware
and
ApplicationContextAware
are also available.
execute
in interface GigaSpace
task
- The task to execute
get()
method will return the task value upon completion.public <T extends Serializable> AsyncFuture<T> execute(Task<T> task, AsyncFutureListener<T> listener)
GigaSpace
SpaceRouting
.
In order to control the routing externally, use GigaSpace.execute(org.openspaces.core.executor.Task, Object)
.
The space that the task is executed within can be accessible by marking a field with type GigaSpace
using the TaskGigaSpace
annotation. Another option is by implementing
the TaskGigaSpaceAware
interface.
Resource injection can be enabled by marking the task with AutowireTask
or with AutowireTaskMarker
. Resources defined within processing unit
(space node) the task is executed on are accessible by using either the Autowired
or
javax.annotation.Resource annotations (assuming they are enabled using context:annotation-config
).
Bean life cycle methods, such as ClusterInfoAware
and
ApplicationContextAware
are also available.
execute
in interface GigaSpace
task
- The task to executelistener
- A listener to be notified when execution completes
get()
method will return the task value upon completion.public <T extends Serializable> AsyncFuture<T> execute(Task<T> task, Object routing)
GigaSpace
The routing object itself does not have to be the actual routing value, but can be a POJO
that defined a method annotated with @SpaceRouting
annotation (this works well
when wanting to use entries as the routing parameters).
In order to control the using the Task itself, use GigaSpace.execute(org.openspaces.core.executor.Task)
.
The space that the task is executed within can be accessible by marking a field with type GigaSpace
using the TaskGigaSpace
annotation. Another option is by implementing
the TaskGigaSpaceAware
interface.
Resource injection can be enabled by marking the task with AutowireTask
or with AutowireTaskMarker
. Resources defined within processing unit
(space node) the task is executed on are accessible by using either the Autowired
or
javax.annotation.Resource annotations (assuming they are enabled using context:annotation-config
).
Bean life cycle methods, such as ClusterInfoAware
and
ApplicationContextAware
are also available.
execute
in interface GigaSpace
task
- The task to executerouting
- The routing value that will control on which node the task will be executed on
get()
method will return the task value upon completion.public <T extends Serializable> AsyncFuture<T> execute(Task<T> task, Object routing, AsyncFutureListener<T> listener)
GigaSpace
The routing object itself does not have to be the actual routing value, but can be a POJO
that defined a method annotated with @SpaceRouting
annotation (this works well
when wanting to use entries as the routing parameters).
In order to control the using the Task itself, use GigaSpace.execute(org.openspaces.core.executor.Task)
.
The space that the task is executed within can be accessible by marking a field with type GigaSpace
using the TaskGigaSpace
annotation. Another option is by implementing
the TaskGigaSpaceAware
interface.
Resource injection can be enabled by marking the task with AutowireTask
or with AutowireTaskMarker
. Resources defined within processing unit
(space node) the task is executed on are accessible by using either the Autowired
or
javax.annotation.Resource annotations (assuming they are enabled using context:annotation-config
).
Bean life cycle methods, such as ClusterInfoAware
and
ApplicationContextAware
are also available.
execute
in interface GigaSpace
task
- The task to executerouting
- The routing value that will control on which node the task will be executed onlistener
- A listener to be notified when execution completes
get()
method will return the task value upon completion.public <T extends Serializable,R> AsyncFuture<R> execute(DistributedTask<T,R> task, Object... routings)
GigaSpace
AsyncResultsReducer.reduce(java.util.List)
operation.
The routing object itself does not have to be the actual routing value, but can be a POJO
that defined a method annotated with @SpaceRouting
annotation (this works well
when wanting to use entries as the routing parameters).
The task can optionally implement AsyncResultFilter
that can control
if tasks should continue to accumulate or it should break and execute the reduce operation on the
results received so far.
The future actual result will be the reduced result of the execution, or the exception thrown during during the reduce operation. The moderator can be used as a mechanism to listen for results as they arrive.
The last parameter can be of type AsyncFutureListener
which, this case,
it will be used to register a listener to be notified of the result.
The space that the task is executed within can be accessible by marking a field with type GigaSpace
using the TaskGigaSpace
annotation. Another option is by implementing
the TaskGigaSpaceAware
interface.
Resource injection can be enabled by marking the task with AutowireTask
or with AutowireTaskMarker
. Resources defined within processing unit
(space node) the task is executed on are accessible by using either the Autowired
or
javax.annotation.Resource annotations (assuming they are enabled using context:annotation-config
).
Bean life cycle methods, such as ClusterInfoAware
and
ApplicationContextAware
are also available.
execute
in interface GigaSpace
task
- The task to executeroutings
- A list of routing values, each resulting in an execution of the task on the space node
it corresponds to
get()
method will return the task value upon completion.public <T extends Serializable,R> AsyncFuture<R> execute(DistributedTask<T,R> task)
GigaSpace
AsyncResultsReducer.reduce(java.util.List)
operation.
The task can optionally implement AsyncResultFilter
that can control
if tasks should continue to accumulate or it should break and execute the reduce operation on the
results received so far.
The future actual result will be the reduced result of the execution, or the exception thrown during during the reduce operation. The moderator can be used as a mechanism to listen for results as they arrive.
The space that the task is executed within can be accessible by marking a field with type GigaSpace
using the TaskGigaSpace
annotation. Another option is by implementing
the TaskGigaSpaceAware
interface.
Resource injection can be enabled by marking the task with AutowireTask
or with AutowireTaskMarker
. Resources defined within processing unit
(space node) the task is executed on are accessible by using either the Autowired
or
javax.annotation.Resource annotations (assuming they are enabled using context:annotation-config
).
Bean life cycle methods, such as ClusterInfoAware
and
ApplicationContextAware
are also available.
execute
in interface GigaSpace
task
- The task to execute
get()
method will return the task value upon completion.public <T extends Serializable,R> AsyncFuture<R> execute(DistributedTask<T,R> task, AsyncFutureListener<R> listener)
public <T extends Serializable,R> AsyncFuture<R> distExecute(DistributedTask<T,R> task, AsyncFutureListener<R> listener)
public <T extends Serializable,R> ExecutorBuilder<T,R> executorBuilder(AsyncResultsReducer<T,R> reducer)
GigaSpace
The reducer can optionally implement AsyncResultFilter
that can control
if tasks should continue to accumulate or it should break and execute the reduce operation on the
results received so far.
The space that the task is executed within can be accessible by marking a field with type GigaSpace
using the TaskGigaSpace
annotation. Another option is by implementing
the TaskGigaSpaceAware
interface.
Resource injection can be enabled by marking the task with AutowireTask
or with AutowireTaskMarker
. Resources defined within processing unit
(space node) the task is executed on are accessible by using either the Autowired
or
javax.annotation.Resource annotations (assuming they are enabled using context:annotation-config
).
Bean life cycle methods, such as ClusterInfoAware
and
ApplicationContextAware
are also available.
executorBuilder
in interface GigaSpace
reducer
- The reducer to reduce the results of all the different tasks added.
public Transaction getCurrentTransaction()
GigaSpace
null
if no transaction is in progress.
getCurrentTransaction
in interface GigaSpace
public int getModifiersForIsolationLevel()
TransactionDefinition.ISOLATION_DEFAULT
will use the
default isolation level associated with this class.
getModifiersForIsolationLevel
in interface GigaSpace
public String toString()
toString
in class Object
public <T> AsyncFutureListener<T> wrapListener(AsyncFutureListener<T> listener, Transaction tx)
public <T> AsyncFuture<T> wrapFuture(AsyncFuture<T> future, Transaction tx)
wrapFuture
in interface org.openspaces.core.internal.InternalGigaSpace
public <T> ReadByIdsResult<T> readByIds(Class<T> clazz, Object[] ids)
GigaSpace
Note, if the space is partitioned and the Class defines a specific property
for its routing value (which means that the ID property is not used for routing),
the operation will broadcast to all partitions. The GigaSpace.readByIds(Class, Object[], Object)
overload
can be used to specify the routing explicitly.
readByIds
in interface GigaSpace
clazz
- The class.ids
- The object IDs array.
public <T> ReadByIdsResult<T> readByIds(Class<T> clazz, Object[] ids, int modifiers)
GigaSpace
ReadModifiers
.
Note, if the space is partitioned and the Class defines a specific property
for its routing value (which means that the ID property is not used for routing),
the operation will broadcast to all partitions. The GigaSpace.readByIds(Class, Object[], Object)
overload
can be used to specify the routing explicitly.
ReadModifiers.FIFO
is not supported by this operation -
the results are always ordered in correlation with the input IDs array.
readByIds
in interface GigaSpace
clazz
- The class.ids
- The object IDs array.modifiers
- The read modifiers to use (One or several of ReadModifiers
).
public <T> ReadByIdsResult<T> readByIds(Class<T> clazz, Object[] ids, Object routing, int modifiers)
GigaSpace
ReadModifiers
.
Note, if routing key is null and the cluster is partitioned, the operation will broadcast to all of the partitions.
ReadModifiers.FIFO
is not supported by this operation -
the results are always ordered in correlation with the input IDs array.
readByIds
in interface GigaSpace
clazz
- The class.ids
- The object IDs array.routing
- The routing of the provided object IDs.modifiers
- The read modifier to use (One or several of ReadModifiers
).
public <T> ReadByIdsResult<T> readByIds(Class<T> clazz, Object[] ids, Object[] routings, int modifiers)
GigaSpace
ReadModifiers
.
Note, the IDs array and routing keys array are correlated and should be of the same size.
The routing key of ID i in the IDs array is the element at position i in the routing keys array.
If routingKeys is null
and the cluster is partitioned, the operation will broadcast to
all of the partitions.
ReadModifiers.FIFO
is not supported by this operation -
the results are always ordered in correlation with the input IDs array.
readByIds
in interface GigaSpace
clazz
- The class type.ids
- The objects\ IDs array.routings
- The object routing keys array.modifiers
- The read modifier to use (One or several of ReadModifiers
).
public <T> ReadByIdsResult<T> readByIds(Class<T> clazz, Object[] ids, Object routing)
GigaSpace
Note, if routing key is null and the cluster is partitioned, the operation will broadcast to all of the partitions.
readByIds
in interface GigaSpace
clazz
- The class.ids
- The object IDs array.routing
- The routing of the provided object IDs.
public <T> ReadByIdsResult<T> readByIds(Class<T> clazz, Object[] ids, Object[] routings)
GigaSpace
Note, the IDs array and routing keys array are correlated and should be of the same size.
The routing key of ID i in the IDs array is the element at position i in the routing keys array.
If routingKeys is null
and the cluster is partitioned, the operation will broadcast to
all of the partitions.
readByIds
in interface GigaSpace
clazz
- The class.ids
- The object IDs array.routings
- The object routing keys array.
public <T> ReadByIdsResult<T> readByIds(IdsQuery<T> query) throws DataAccessException
GigaSpace
readByIds
in interface GigaSpace
query
- Query to search by.
DataAccessException
public <T> ReadByIdsResult<T> readByIds(IdsQuery<T> query, int modifiers) throws DataAccessException
GigaSpace
ReadModifiers
.
readByIds
in interface GigaSpace
query
- Query to search by.modifiers
- The read modifier to use (One or several of ReadModifiers
).
DataAccessException
public <T> TakeByIdsResult<T> takeByIds(Class<T> clazz, Object[] ids, int modifiers)
GigaSpace
ReadModifiers
.
Note, if the space is partitioned, or the Class defines a specific property
for its routing value (which means that the ID property is not used for routing),
the operation will broadcast to all partitions. The GigaSpace.takeByIds(Class, Object[], Object)
overload
can be used to specify the routing explicitly.
ReadModifiers.FIFO
is not supported by this operation -
the results are always ordered in correlation with the input IDs array.
takeByIds
in interface GigaSpace
clazz
- The class.ids
- The object IDs array.modifiers
- The read modifiers to use (One or several of ReadModifiers
).
public <T> TakeByIdsResult<T> takeByIds(Class<T> clazz, Object[] ids, Object routing, int modifiers)
GigaSpace
ReadModifiers
.
Note, if routing key is null and the cluster is partitioned, the operation will broadcast to all of the partitions.
ReadModifiers.FIFO
is not supported by this operation -
the results are always ordered in correlation with the input IDs array.
takeByIds
in interface GigaSpace
clazz
- The class.ids
- The object IDs array.routing
- The routing of the provided object IDs.modifiers
- The read modifier to use (One or several of ReadModifiers
).
public <T> TakeByIdsResult<T> takeByIds(Class<T> clazz, Object[] ids, Object[] routings, int modifiers)
GigaSpace
ReadModifiers
.
Note, the IDs array and routing keys array are correlated and should be of the same size.
The routing key of ID i in the IDs array is the element at position i in the routing keys array.
If routingKeys is null
and the cluster is partitioned, the operation will broadcast to
all of the partitions.
ReadModifiers.FIFO
is not supported by this operation -
the results are always ordered in correlation with the input IDs array.
takeByIds
in interface GigaSpace
clazz
- The class type.ids
- The objects\ IDs array.routings
- The object routing keys array.modifiers
- The read modifier to use (One or several of ReadModifiers
).
public <T> TakeByIdsResult<T> takeByIds(Class<T> clazz, Object[] ids)
GigaSpace
Note, if the space is partitioned, or the Class defines a specific property
for its routing value (which means that the ID property is not used for routing),
the operation will broadcast to all partitions. The GigaSpace.takeByIds(Class, Object[], Object)
overload
can be used to specify the routing explicitly.
takeByIds
in interface GigaSpace
clazz
- The class.ids
- The object IDs array.
public <T> TakeByIdsResult<T> takeByIds(Class<T> clazz, Object[] ids, Object routing)
GigaSpace
Note, if routing key is null and the cluster is partitioned, the operation will broadcast to all of the partitions.
takeByIds
in interface GigaSpace
clazz
- The class.ids
- The object IDs array.routing
- The routing of the provided object IDs.
public <T> TakeByIdsResult<T> takeByIds(Class<T> clazz, Object[] ids, Object[] routings)
GigaSpace
Note, the IDs array and routing keys array are correlated and should be of the same size.
The routing key of ID i in the IDs array is the element at position i in the routing keys array.
If routingKeys is null
and the cluster is partitioned, the operation will broadcast to
all of the partitions.
takeByIds
in interface GigaSpace
clazz
- The class.ids
- The object IDs array.routings
- The object routing keys array.
public <T> TakeByIdsResult<T> takeByIds(IdsQuery<T> query) throws DataAccessException
GigaSpace
takeByIds
in interface GigaSpace
query
- Query to search by.
DataAccessException
public <T> TakeByIdsResult<T> takeByIds(IdsQuery<T> query, int modifiers) throws DataAccessException
GigaSpace
ReadModifiers
.
takeByIds
in interface GigaSpace
query
- Query to search by.modifiers
- The read modifier to use (One or several of ReadModifiers
).
DataAccessException
public GigaSpaceTypeManager getTypeManager()
GigaSpace
getTypeManager
in interface GigaSpace
GigaSpaceTypeManager
|
GigaSpaces XAP 8.0 API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |