org.openstreetmap.osmosis.core.store
Class BaseObjectReader

java.lang.Object
  extended by org.openstreetmap.osmosis.core.store.BaseObjectReader
All Implemented Interfaces:
ObjectReader
Direct Known Subclasses:
GenericObjectReader, SingleClassObjectReader

public abstract class BaseObjectReader
extends java.lang.Object
implements ObjectReader

Provides functionality common to all object reader implementations.

Author:
Brett Henderson

Constructor Summary
BaseObjectReader(StoreReader storeReader, StoreClassRegister storeClassRegister)
          Creates a new instance.
 
Method Summary
protected abstract  java.lang.Class<?> readClassFromIdentifier(StoreReader sr, StoreClassRegister scr)
          Identifies the class using data from the underlying stream.
 Storeable readObject()
          Reads an object from storage using identifiers embedded in the stream to determine the correct class type to instantiate.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BaseObjectReader

public BaseObjectReader(StoreReader storeReader,
                        StoreClassRegister storeClassRegister)
Creates a new instance.

Parameters:
storeReader - The store writer to read all serialised data from.
storeClassRegister - The register for class to identifier mappings.
Method Detail

readClassFromIdentifier

protected abstract java.lang.Class<?> readClassFromIdentifier(StoreReader sr,
                                                              StoreClassRegister scr)
Identifies the class using data from the underlying stream.

Parameters:
sr - The store reader to read all serialised data from.
scr - The register for class to identifier mappings.
Returns:
The next class type in the data stream.

readObject

public Storeable readObject()
Reads an object from storage using identifiers embedded in the stream to determine the correct class type to instantiate.

Specified by:
readObject in interface ObjectReader
Returns:
The re-instantiated object.