org.objectweb.medor.eval.prefetch.lib

Class PrefetchCacheImpl

Implemented Interfaces:
PrefetchCache

public class PrefetchCacheImpl
extends java.lang.Object
implements PrefetchCache

Author:
P. Dechamboux

Constructor Summary

PrefetchCacheImpl()
PrefetchCacheImpl(Logger logger)

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.
Logger
getLogger()
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.
static String
printTuple(Tuple t)
void
setLogger(Logger logger)

Constructor Details

PrefetchCacheImpl

public PrefetchCacheImpl()


PrefetchCacheImpl

public PrefetchCacheImpl(Logger logger)

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.
Specified by:
createPrefetchBuffer in interface PrefetchCache

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.
Specified by:
createPrefetchBuffer in interface PrefetchCache

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.


getLogger

public Logger getLogger()


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.
Specified by:
getPrefetchTuple in interface PrefetchCache

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.
Specified by:
invalidatePrefetchBuffer in interface PrefetchCache

Parameters:
ctxt - The invalid caching context.


printTuple

public static String printTuple(Tuple t)


setLogger

public void setLogger(Logger logger)