// This software is released into the Public Domain. See copying.txt for details. package org.openstreetmap.osmosis.core.store; /** * An object reader and writer factory providing object serialisation * capabilities where only a single class type will be stored. * * @author Brett Henderson */ public class SingleClassObjectSerializationFactory implements ObjectSerializationFactory { private Class<?> storeableType; /** * Creates a new instance. * * @param storeableType * The class type to be supported. */ public SingleClassObjectSerializationFactory(Class<?> storeableType) { this.storeableType = storeableType; } /** * {@inheritDoc} */ @Override public ObjectReader createObjectReader(StoreReader storeReader, StoreClassRegister storeClassRegister) { return new SingleClassObjectReader(storeReader, storeClassRegister, storeableType); } /** * {@inheritDoc} */ @Override public ObjectWriter createObjectWriter(StoreWriter storeWriter, StoreClassRegister storeClassRegister) { return new SingleClassObjectWriter(storeWriter, storeClassRegister, storeableType); } }