org.jgroups
Class MergeView

java.lang.Object
  extended by org.jgroups.View
      extended by org.jgroups.MergeView
All Implemented Interfaces:
java.io.Externalizable, java.io.Serializable, java.lang.Cloneable, Streamable

public class MergeView
extends View

A view that is sent as a result of a merge. Whenever a group splits into subgroups, e.g., due to a network partition, and later the subgroups merge back together, a MergeView instead of a View will be received by the application. The MergeView class is a subclass of View and contains as additional instance variable: the list of views that were merged. For example, if the group denoted by view V1:(p,q,r,s,t) splits into subgroups V2:(p,q,r) and V2:(s,t), the merged view might be V3:(p,q,r,s,t). In this case the MergeView would contain a list of 2 views: V2:(p,q,r) and V2:(s,t).

See Also:
Serialized Form

Field Summary
protected  java.util.Vector subgroups
          Vector
 
Fields inherited from class org.jgroups.View
members, vid
 
Constructor Summary
MergeView()
          Used by externalization
MergeView(Address creator, long id, java.util.Vector members, java.util.Vector subgroups)
          Creates a new view
MergeView(ViewId vid, java.util.Vector members, java.util.Vector subgroups)
          Creates a new view
 
Method Summary
 java.lang.Object clone()
          creates a copy of this view
 java.util.Vector getSubgroups()
           
 void readExternal(java.io.ObjectInput in)
           
 void readFrom(java.io.DataInputStream in)
          Read the state of the current object (including superclasses) from instream Note that the input stream must not be closed
 int serializedSize()
           
 java.lang.String toString()
           
 void writeExternal(java.io.ObjectOutput out)
           
 void writeTo(java.io.DataOutputStream out)
          Write the entire state of the current object (including superclasses) to outstream.
 
Methods inherited from class org.jgroups.View
containsMember, equals, getCreator, getMembers, getVid, printDetails, size
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

subgroups

protected java.util.Vector subgroups
Vector

Constructor Detail

MergeView

public MergeView()
Used by externalization


MergeView

public MergeView(ViewId vid,
                 java.util.Vector members,
                 java.util.Vector subgroups)
Creates a new view

Parameters:
vid - The view id of this view (can not be null)
members - Contains a list of all the members in the view, can be empty but not null.
subgroups - A list of Views representing the former subgroups

MergeView

public MergeView(Address creator,
                 long id,
                 java.util.Vector members,
                 java.util.Vector subgroups)
Creates a new view

Parameters:
creator - The creator of this view (can not be null)
id - The lamport timestamp of this view
members - Contains a list of all the members in the view, can be empty but not null.
subgroups - A list of Views representing the former subgroups
Method Detail

getSubgroups

public java.util.Vector getSubgroups()

clone

public java.lang.Object clone()
creates a copy of this view

Overrides:
clone in class View
Returns:
a copy of this view

toString

public java.lang.String toString()
Overrides:
toString in class View

writeExternal

public void writeExternal(java.io.ObjectOutput out)
                   throws java.io.IOException
Specified by:
writeExternal in interface java.io.Externalizable
Overrides:
writeExternal in class View
Throws:
java.io.IOException

readExternal

public void readExternal(java.io.ObjectInput in)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
Specified by:
readExternal in interface java.io.Externalizable
Overrides:
readExternal in class View
Throws:
java.io.IOException
java.lang.ClassNotFoundException

writeTo

public void writeTo(java.io.DataOutputStream out)
             throws java.io.IOException
Description copied from interface: Streamable
Write the entire state of the current object (including superclasses) to outstream. Note that the output stream must not be closed

Specified by:
writeTo in interface Streamable
Overrides:
writeTo in class View
Throws:
java.io.IOException

readFrom

public void readFrom(java.io.DataInputStream in)
              throws java.io.IOException,
                     java.lang.IllegalAccessException,
                     java.lang.InstantiationException
Description copied from interface: Streamable
Read the state of the current object (including superclasses) from instream Note that the input stream must not be closed

Specified by:
readFrom in interface Streamable
Overrides:
readFrom in class View
Throws:
java.io.IOException
java.lang.IllegalAccessException
java.lang.InstantiationException

serializedSize

public int serializedSize()
Overrides:
serializedSize in class View


Copyright ? 1998-2006 Bela Ban. All Rights Reserved.