org.objectweb.medor.eval.prefetch.api

Interface PrefetchCache

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, Object cat, Object ctxt, int indexpos)
Allocates a prefetched buffer for the object category and the connection context in order to register prefetched tuples.
PrefetchBuffer
createPrefetchBuffer(PrefetchBufferFactory pbf, Object cat, Object ctxt, int indexpos, boolean multithread)
Allocates a prefetched buffer for the object category and the connection context in order to register prefetched tuples.
Tuple
getPrefetchTuple(Object index, Object cat, Object ctxt)
Retrieves the prefetched tuple from this cache associated with this index information, within the given caching context.
void
invalidatePrefetchBuffer(Object ctxt)
Invalidates all the prefetched tuples that are associated with the given caching connection context.

Method Details

createPrefetchBuffer

public PrefetchBuffer createPrefetchBuffer(PrefetchBufferFactory pbf,
                                           Object cat,
                                           Object ctxt,
                                           int indexpos)
            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.

Returns:
The allocated PrefetchBuffer.


createPrefetchBuffer

public PrefetchBuffer createPrefetchBuffer(PrefetchBufferFactory pbf,
                                           Object cat,
                                           Object ctxt,
                                           int indexpos,
                                           boolean multithread)
            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

Returns:
The allocated PrefetchBuffer.


getPrefetchTuple

public Tuple getPrefetchTuple(Object index,
                              Object cat,
                              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.


invalidatePrefetchBuffer

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

Parameters:
ctxt - The invalid caching context.