org.jboss.cache.marshall
Class VersionAwareMarshaller

java.lang.Object
  extended by org.jboss.cache.marshall.AbstractMarshaller
      extended by org.jboss.cache.marshall.VersionAwareMarshaller
All Implemented Interfaces:
Marshaller, org.jgroups.blocks.RpcDispatcher.Marshaller

public class VersionAwareMarshaller
extends AbstractMarshaller

A delegate to various other marshallers like CacheMarshaller200. This delegating marshaller adds versioning information to the stream when marshalling objects and is able to pick the appropriate marshaller to delegate to based on the versioning information when unmarshalling objects.

Author:
Manik Surtani (manik@jboss.org), Galder Zamarreno

Field Summary
 
Fields inherited from class org.jboss.cache.marshall.AbstractMarshaller
regionManager
 
Constructor Summary
VersionAwareMarshaller(RegionManager manager, boolean defaultInactive, boolean useRegionBasedMarshalling, java.lang.String version)
           
VersionAwareMarshaller(RegionManager regionManager, Configuration configuration)
           
 
Method Summary
 java.lang.Object objectFromByteBuffer(byte[] buf)
           
 java.lang.Object objectFromObjectStream(java.io.ObjectInputStream in)
          Unmarshalls an object from an ObjectInputStream
 java.lang.Object objectFromStream(java.io.InputStream is)
          Unmarshalls an object from an InputStream
 byte[] objectToByteBuffer(java.lang.Object obj)
           
 void objectToObjectStream(java.lang.Object obj, java.io.ObjectOutputStream out)
          Marshalls an object to a given ObjectOutputStream
 void objectToObjectStream(java.lang.Object obj, java.io.ObjectOutputStream out, Fqn region)
          Overloaded form of Marshaller.objectToObjectStream(Object,java.io.ObjectOutputStream) which adds a hint to the Fqn region
 
Methods inherited from class org.jboss.cache.marshall.AbstractMarshaller
extractFqn, extractFqnFromListOfMethodCall, extractFqnFromMethodCall, getRegion, init
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VersionAwareMarshaller

public VersionAwareMarshaller(RegionManager manager,
                              boolean defaultInactive,
                              boolean useRegionBasedMarshalling,
                              java.lang.String version)

VersionAwareMarshaller

public VersionAwareMarshaller(RegionManager regionManager,
                              Configuration configuration)
Method Detail

objectToByteBuffer

public byte[] objectToByteBuffer(java.lang.Object obj)
                          throws java.lang.Exception
Specified by:
objectToByteBuffer in interface org.jgroups.blocks.RpcDispatcher.Marshaller
Overrides:
objectToByteBuffer in class AbstractMarshaller
Throws:
java.lang.Exception

objectFromByteBuffer

public java.lang.Object objectFromByteBuffer(byte[] buf)
                                      throws java.lang.Exception
Specified by:
objectFromByteBuffer in interface org.jgroups.blocks.RpcDispatcher.Marshaller
Overrides:
objectFromByteBuffer in class AbstractMarshaller
Throws:
java.lang.Exception

objectFromStream

public java.lang.Object objectFromStream(java.io.InputStream is)
                                  throws java.lang.Exception
Description copied from interface: Marshaller
Unmarshalls an object from an InputStream

Specified by:
objectFromStream in interface Marshaller
Overrides:
objectFromStream in class AbstractMarshaller
Parameters:
is - stream to unmarshall from
Returns:
Object from stream passed in.
Throws:
java.lang.Exception

objectToObjectStream

public void objectToObjectStream(java.lang.Object obj,
                                 java.io.ObjectOutputStream out,
                                 Fqn region)
                          throws java.lang.Exception
Description copied from interface: Marshaller
Overloaded form of Marshaller.objectToObjectStream(Object,java.io.ObjectOutputStream) which adds a hint to the Fqn region

Parameters:
obj - object to marshall
out - stream to marshall to
region - fqn that this object pertains to
Throws:
java.lang.Exception

objectToObjectStream

public void objectToObjectStream(java.lang.Object obj,
                                 java.io.ObjectOutputStream out)
                          throws java.lang.Exception
Description copied from interface: Marshaller
Marshalls an object to a given ObjectOutputStream

Parameters:
obj - object to marshall
out - stream to marshall to
Throws:
java.lang.Exception

objectFromObjectStream

public java.lang.Object objectFromObjectStream(java.io.ObjectInputStream in)
                                        throws java.lang.Exception
Description copied from interface: Marshaller
Unmarshalls an object from an ObjectInputStream

Parameters:
in - stream to unmarshall from
Throws:
java.lang.Exception