org.objectweb.medor.eval.prefetch.api
Interface PrefetchCache

All Known Implementing Classes:
PrefetchCacheImpl

public interface PrefetchCache

Caches a set of prefetched tuples as long as they are valid within the connection context within which they have been retrieved.

Author:
P. Dechamboux

Method Summary
 PrefetchBuffer createPrefetchBuffer(PrefetchBufferFactory pbf, java.lang.Object cat, java.lang.Object ctxt, int indexpos, boolean register)
          Allocates a prefetched buffer for the object category and the connection context in order to register prefetched tuples.
 PrefetchBuffer createPrefetchBuffer(PrefetchBufferFactory pbf, java.lang.Object cat, java.lang.Object ctxt, int indexpos, boolean multithread, boolean register)
          Allocates a prefetched buffer for the object category and the connection context in order to register prefetched tuples.
 Tuple getPrefetchTuple(java.lang.Object index, java.lang.Object cat, java.lang.Object ctxt)
          Retrieves the prefetched tuple from this cache associated with this index information, within the given caching context.
 TupleCollection getPrefetchTupleCollection(java.lang.Object index, java.lang.Object cat, java.lang.Object ctxt)
          Same as getPrefetchTuple, except it returns the TupleCollection.
 void invalidatePrefetchBuffer(java.lang.Object ctxt)
          Invalidates all the prefetched tuples that are associated with the given caching connection context.
 boolean registerPrefetchBuffer(PrefetchBuffer pb, java.lang.Object cat, java.lang.Object ctxt)
          Register the prefetched buffer pb for the object category and the connection context in order to register prefetched tuples.
 

Method Detail

getPrefetchTuple

public Tuple getPrefetchTuple(java.lang.Object index,
                              java.lang.Object cat,
                              java.lang.Object ctxt)
                       throws MedorException
Retrieves the prefetched tuple from this cache associated with this index information, within the given caching context. The prefetched tuple also belongs to the given object category.

Parameters:
index - The index that allows the yielded prefetched data item to be identified into the cache.
cat - The category (e.g., class) to which the objects, that can be built using the prefetched data, belong to.
ctxt - The caching context within which the data has been prefetched.
Returns:
The prefetched tuple.
Throws:
MedorException

getPrefetchTupleCollection

public TupleCollection getPrefetchTupleCollection(java.lang.Object index,
                                                  java.lang.Object cat,
                                                  java.lang.Object ctxt)
                                           throws MedorException
Same as getPrefetchTuple, except it returns the TupleCollection.

Throws:
MedorException

invalidatePrefetchBuffer

public void invalidatePrefetchBuffer(java.lang.Object ctxt)
Invalidates all the prefetched tuples that are associated with the given caching connection context.

Parameters:
ctxt - The invalid caching context.

createPrefetchBuffer

public PrefetchBuffer createPrefetchBuffer(PrefetchBufferFactory pbf,
                                           java.lang.Object cat,
                                           java.lang.Object ctxt,
                                           int indexpos,
                                           boolean register)
                                    throws MedorException
Allocates a prefetched buffer for the object category and the connection context in order to register prefetched tuples.

Parameters:
pbf - The factory for creating actual PrefetchBuffer
cat - The associated object category.
ctxt - The associated caching context.
indexpos - The position of the index field within the prefetched tuples.
register - if true, call the register method
Returns:
The allocated PrefetchBuffer.
Throws:
MedorException

createPrefetchBuffer

public PrefetchBuffer createPrefetchBuffer(PrefetchBufferFactory pbf,
                                           java.lang.Object cat,
                                           java.lang.Object ctxt,
                                           int indexpos,
                                           boolean multithread,
                                           boolean register)
                                    throws MedorException
Allocates a prefetched buffer for the object category and the connection context in order to register prefetched tuples.

Parameters:
pbf - The factory for creating actual PrefetchBuffer
cat - The associated object category.
ctxt - The associated caching context.
indexpos - The position of the index field within the prefetched
multithread - indicates if the context is used by several threads
register - if true, call the register method
Returns:
The allocated PrefetchBuffer.
Throws:
MedorException

registerPrefetchBuffer

public boolean registerPrefetchBuffer(PrefetchBuffer pb,
                                      java.lang.Object cat,
                                      java.lang.Object ctxt)
                               throws MedorException
Register the prefetched buffer pb for the object category and the connection context in order to register prefetched tuples.

Parameters:
cat - The associated object category.
ctxt - The associated caching context.
Returns:
true if the registration is done, false else
Throws:
MedorException