|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.threerings.export.Importer
com.threerings.export.BinaryImporter
public class BinaryImporter
Imports from the compact binary format generated by BinaryExporter.
| Nested Class Summary | |
|---|---|
protected class |
BinaryImporter.ClassData
Contains information on an exportable class. |
protected class |
BinaryImporter.ClassWrapper
Contains information on a class in the stream, which may or may not be resolvable. |
protected class |
BinaryImporter.IDReader
Reads in integer identifiers using a width that depends on the highest value read so far. |
| Field Summary | |
|---|---|
protected InputStream |
_base
The underlying input stream. |
protected HashMap<BinaryImporter.ClassWrapper,BinaryImporter.ClassData> |
_classData
Class |
protected HashIntMap<BinaryImporter.ClassWrapper> |
_classes
Maps ids to classes read. |
protected BinaryImporter.IDReader |
_classIdReader
Used to read class ids. |
protected HashMap<String,Object> |
_fields
Field values associated with the current object. |
protected DataInputStream |
_in
The stream that we use for reading data. |
protected BinaryImporter.ClassWrapper |
_objectClass
The wrapper for the object class. |
protected BinaryImporter.IDReader |
_objectIdReader
Used to read object ids. |
protected HashIntMap<Object> |
_objects
Maps ids to objects read. |
protected BinaryImporter.ClassWrapper |
_stringClass
The wrapper for the String class. |
protected HashMap<Class<?>,BinaryImporter.ClassWrapper> |
_wrappersByClass
Maps class objects to wrapper objects (for classes identified by reference). |
protected HashMap<String,BinaryImporter.ClassWrapper> |
_wrappersByName
Maps class names to wrapper objects (for classes identified in the stream). |
protected static Object |
NULL
Signifies a null entry in the object map. |
| Fields inherited from class com.threerings.export.Importer |
|---|
_marshaller, _object |
| Constructor Summary | |
|---|---|
BinaryImporter(InputStream in)
Creates an importer to read from the specified stream. |
|
| Method Summary | ||
|---|---|---|
void |
close()
Closes the underlying stream. |
|
protected BinaryImporter.ClassWrapper |
getClassWrapper(Class<?> clazz)
Returns a shared class wrapper instance. |
|
protected BinaryImporter.ClassWrapper |
getClassWrapper(String name,
byte flags)
Returns a shared class wrapper instance. |
|
protected Object |
read(BinaryImporter.ClassWrapper clazz)
Reads in an object of the specified class. |
|
protected Object |
read(Class<?> clazz)
Reads in an object of the specified class. |
|
boolean |
read(String name,
boolean defvalue)
Reads a boolean value associated with the current object. |
|
byte |
read(String name,
byte defvalue)
Reads a byte value associated with the current object. |
|
char |
read(String name,
char defvalue)
Reads a character value associated with the current object. |
|
double |
read(String name,
double defvalue)
Reads a double value associated with the current object. |
|
float |
read(String name,
float defvalue)
Reads a float value associated with the current object. |
|
int |
read(String name,
int defvalue)
Reads an integer value associated with the current object. |
|
long |
read(String name,
long defvalue)
Reads a long value associated with the current object. |
|
short |
read(String name,
short defvalue)
Reads a short value associated with the current object. |
|
|
read(String name,
T defvalue,
Class<T> clazz)
Reads an object value associated with the current object. |
|
protected BinaryImporter.ClassWrapper |
readClass()
Reads in a class reference. |
|
protected Collection<Object> |
readEntries(Collection<Object> collection)
Populates the supplied collection with the entries under the current element. |
|
protected Map<Object,Object> |
readEntries(Map<Object,Object> map)
Populates the supplied map with the entries under the current element. |
|
protected void |
readEntries(Object[] array,
BinaryImporter.ClassWrapper cclazz)
Populates the supplied array with the entries under the current element. |
|
Object |
readObject()
Imports an object from the underlying stream. |
|
protected Object |
readValue(BinaryImporter.ClassWrapper clazz,
int objectId)
Reads in an object of the specified class. |
|
| Methods inherited from class com.threerings.export.Importer |
|---|
defaultReadFields, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, read, readFields |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected InputStream _base
protected DataInputStream _in
protected HashIntMap<Object> _objects
protected BinaryImporter.IDReader _objectIdReader
protected HashMap<String,Object> _fields
protected HashMap<String,BinaryImporter.ClassWrapper> _wrappersByName
protected HashMap<Class<?>,BinaryImporter.ClassWrapper> _wrappersByClass
protected BinaryImporter.ClassWrapper _objectClass
protected BinaryImporter.ClassWrapper _stringClass
protected HashIntMap<BinaryImporter.ClassWrapper> _classes
protected BinaryImporter.IDReader _classIdReader
protected HashMap<BinaryImporter.ClassWrapper,BinaryImporter.ClassData> _classData
protected static final Object NULL
| Constructor Detail |
|---|
public BinaryImporter(InputStream in)
| Method Detail |
|---|
public Object readObject()
throws IOException
Importer
readObject in class ImporterIOException
public boolean read(String name,
boolean defvalue)
throws IOException
Importer
read in class ImporterIOException
public byte read(String name,
byte defvalue)
throws IOException
Importer
read in class ImporterIOException
public char read(String name,
char defvalue)
throws IOException
Importer
read in class ImporterIOException
public double read(String name,
double defvalue)
throws IOException
Importer
read in class ImporterIOException
public float read(String name,
float defvalue)
throws IOException
Importer
read in class ImporterIOException
public int read(String name,
int defvalue)
throws IOException
Importer
read in class ImporterIOException
public long read(String name,
long defvalue)
throws IOException
Importer
read in class ImporterIOException
public short read(String name,
short defvalue)
throws IOException
Importer
read in class ImporterIOException
public <T> T read(String name,
T defvalue,
Class<T> clazz)
throws IOException
Importer
read in class ImporterIOException
public void close()
throws IOException
Importer
close in interface Closeableclose in class ImporterIOException
protected Object read(Class<?> clazz)
throws IOException
IOException
protected Object read(BinaryImporter.ClassWrapper clazz)
throws IOException
IOException
protected Object readValue(BinaryImporter.ClassWrapper clazz,
int objectId)
throws IOException
IOException
protected BinaryImporter.ClassWrapper readClass()
throws IOException
IOException
protected void readEntries(Object[] array,
BinaryImporter.ClassWrapper cclazz)
throws IOException
IOException
protected Collection<Object> readEntries(Collection<Object> collection)
throws IOException
IOException
protected Map<Object,Object> readEntries(Map<Object,Object> map)
throws IOException
IOException
protected BinaryImporter.ClassWrapper getClassWrapper(String name,
byte flags)
protected BinaryImporter.ClassWrapper getClassWrapper(Class<?> clazz)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||