public abstract class JRAbstractLRUVirtualizer extends Object implements JRVirtualizer
| Modifier and Type | Class and Description |
|---|---|
protected class |
JRAbstractLRUVirtualizer.Cache
This class keeps track of how many objects are currently in memory, and
when there are too many, it pushes the last touched one to disk.
|
protected static class |
JRAbstractLRUVirtualizer.CacheReference |
| Modifier and Type | Field and Description |
|---|---|
protected org.apache.commons.collections.map.ReferenceMap |
lastObjectMap |
protected WeakReference<JRVirtualizable> |
lastObjectRef |
protected org.apache.commons.collections.map.ReferenceMap |
lastObjectSet |
protected VirtualizationSerializer |
serializer |
| Modifier | Constructor and Description |
|---|---|
protected |
JRAbstractLRUVirtualizer(int maxSize) |
| Modifier and Type | Method and Description |
|---|---|
void |
clearData(JRVirtualizable o)
Called when the virtual object paged-out data should be freed.
|
void |
deregisterObject(JRVirtualizable o)
Lets this virtualizer know that it no longer must track the
object.
|
protected void |
dispose(JRVirtualizable o) |
protected abstract void |
dispose(String virtualId)
Removes the external data associated with a virtualizable object.
|
protected void |
disposeAll() |
protected void |
evict() |
protected void |
finalize() |
protected boolean |
isEvictable(JRVirtualizable value) |
protected boolean |
isPagedOut(String id) |
protected boolean |
isPagedOutAndTouch(JRVirtualizable o,
String uid) |
boolean |
isReadOnly()
Determines whether the virtualizer is in read-only mode.
|
protected boolean |
isReadOnly(JRVirtualizable o) |
protected JRVirtualizable |
lastObject() |
protected abstract void |
pageIn(JRVirtualizable o)
Reads a virtualizable object's data from an external storage.
|
protected abstract void |
pageOut(JRVirtualizable o)
Writes a virtualizable object's data to an external storage.
|
protected void |
readData(JRVirtualizable o,
InputStream in)
Reads serialized identity and virtual data for a virtualizable object
from a stream.
|
void |
registerObject(JRVirtualizable o)
Lets this virtualizer know that it must track the object.
|
void |
requestData(JRVirtualizable o)
Called when the virtual object must be paged-in.
|
protected void |
reset() |
protected void |
setLastObject(JRVirtualizable o) |
void |
setReadOnly(boolean ro)
Sets the read only mode for the virtualizer.
|
void |
touch(JRVirtualizable o)
Lets the virtualizer know that this object is still being used.
|
void |
virtualizeData(JRVirtualizable o)
Called when the virtual object should be paged-out.
|
protected void |
writeData(JRVirtualizable o,
OutputStream out)
Writes serialized indentity and virtual data of a virtualizable object to a stream.
|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcleanupprotected final VirtualizationSerializer serializer
protected volatile WeakReference<JRVirtualizable> lastObjectRef
protected org.apache.commons.collections.map.ReferenceMap lastObjectMap
protected org.apache.commons.collections.map.ReferenceMap lastObjectSet
protected JRAbstractLRUVirtualizer(int maxSize)
maxSize - the maximum size (in JRVirtualizable objects) of the paged in
cache.protected final boolean isPagedOut(String id)
protected boolean isPagedOutAndTouch(JRVirtualizable o, String uid)
protected JRVirtualizable lastObject()
protected final void setLastObject(JRVirtualizable o)
public void setReadOnly(boolean ro)
JRVirtualizationContext.setReadOnly(boolean)
to set the read-only mode for one specific context.ro - the read-only mode to setpublic boolean isReadOnly()
setReadOnly(boolean)protected final boolean isReadOnly(JRVirtualizable o)
public void registerObject(JRVirtualizable o)
JRVirtualizerAll virtualizable object must register with their virtualizer upon construction.
registerObject in interface JRVirtualizerprotected boolean isEvictable(JRVirtualizable value)
protected void evict()
public void deregisterObject(JRVirtualizable o)
JRVirtualizerderegisterObject in interface JRVirtualizerpublic void touch(JRVirtualizable o)
JRVirtualizerThe virtualizer gets to decide what type of caching strategy it will use.
touch in interface JRVirtualizerpublic void requestData(JRVirtualizable o)
JRVirtualizer
If the object's virtual data is not paged-out, the object will only be
touched.
requestData in interface JRVirtualizerpublic void clearData(JRVirtualizable o)
JRVirtualizer
If the object's virtual data is not paged-out, the object will only be
touched.
clearData in interface JRVirtualizerpublic void virtualizeData(JRVirtualizable o)
JRVirtualizervirtualizeData in interface JRVirtualizerprotected void finalize()
throws Throwable
protected final void writeData(JRVirtualizable o, OutputStream out) throws JRRuntimeException
o - the serialized objectout - the output streamJRRuntimeExceptionprotected final void readData(JRVirtualizable o, InputStream in) throws JRRuntimeException
o - the virtualizable objectin - the input streamJRRuntimeExceptionprotected void reset()
protected final void disposeAll()
protected abstract void pageOut(JRVirtualizable o) throws IOException
o - a virtualizable objectIOExceptionprotected abstract void pageIn(JRVirtualizable o) throws IOException
o - a virtualizable objectIOExceptionprotected void dispose(JRVirtualizable o)
protected abstract void dispose(String virtualId)
virtualId - the ID of the virtualizable objectCopyright © 2017. All rights reserved.