|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.esotericsoftware.kryo.util.ListReferenceResolver
public class ListReferenceResolver
Uses an ArrayList
to track objects that have already been written. This is more efficient than
MapReferenceResolver
for graphs with few objects, providing an approximate 15% increase in deserialization speed. This
should not be used for graphs with many objects because it uses a linear look up to find objects that have already been
written.
Field Summary | |
---|---|
protected Kryo |
kryo
|
protected java.util.ArrayList |
seenObjects
|
Constructor Summary | |
---|---|
ListReferenceResolver()
|
Method Summary | |
---|---|
void |
addReadObject(int id,
java.lang.Object object)
Adds an object that has been read for the first time. |
int |
addWrittenObject(java.lang.Object object)
Returns a new ID for an object that is being written for the first time. |
java.lang.Object |
getReadObject(java.lang.Class type,
int id)
Returns the object for the specified ID. |
int |
getWrittenId(java.lang.Object object)
Returns an ID for the object if it has been written previously, otherwise returns -1. |
int |
nextReadId(java.lang.Class type)
Returns the ID for the next object that will be read. |
void |
reset()
Called by Kryo.reset() . |
void |
setKryo(Kryo kryo)
Sets the Kryo instance that this ClassResolver will be used for. |
boolean |
useReferences(java.lang.Class type)
Returns false for Boolean, Byte, Character, and Short. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected Kryo kryo
protected final java.util.ArrayList seenObjects
Constructor Detail |
---|
public ListReferenceResolver()
Method Detail |
---|
public void setKryo(Kryo kryo)
ReferenceResolver
setKryo
in interface ReferenceResolver
public int addWrittenObject(java.lang.Object object)
ReferenceResolver
addWrittenObject
in interface ReferenceResolver
public int getWrittenId(java.lang.Object object)
ReferenceResolver
getWrittenId
in interface ReferenceResolver
public int nextReadId(java.lang.Class type)
ReferenceResolver
nextReadId
in interface ReferenceResolver
type
- The type of object that will be read.
public void addReadObject(int id, java.lang.Object object)
ReferenceResolver
addReadObject
in interface ReferenceResolver
id
- The ID from ReferenceResolver.nextReadId(Class)
.public java.lang.Object getReadObject(java.lang.Class type, int id)
ReferenceResolver
ReferenceResolver.addReadObject(int, Object)
.
getReadObject
in interface ReferenceResolver
public void reset()
ReferenceResolver
Kryo.reset()
.
reset
in interface ReferenceResolver
public boolean useReferences(java.lang.Class type)
useReferences
in interface ReferenceResolver
type
- Will never be a primitive type, but may be a primitive type wrapper.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |