## org.jgroups
Class MergeView

    java.lang.Object
      org.jgroups.View
          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<View>` `subgroups`

Fields inherited from class org.jgroups.View
`members, payload, vid`

Constructor Summary
`MergeView()` Used by externalization
`MergeView(Address creator, long id, java.util.Vector<Address> members, java.util.Vector<View> subgroups)` Creates a new view
`MergeView(ViewId vid, java.util.Vector<Address> members, java.util.Vector<View> subgroups)` Creates a new view

Method Summary
`java.lang.Object` `clone()` creates a copy of this view
`View` `copy()`
`java.util.Vector<View>` `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
`addPayload, containsMember, equals, getCreator, getMembers, getPayload, getVid, getViewId, hashCode, printDetails, removePayload, size`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### subgroups

    protected java.util.Vector<View> subgroups

Constructor Detail

### MergeView

    public MergeView()

  Used by externalization

### MergeView

    public MergeView(ViewId vid,
                     java.util.Vector<Address> members,
                     java.util.Vector<View> 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<Address> members,
                     java.util.Vector<View> 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<View> getSubgroups()

### clone

    public java.lang.Object clone()

  creates a copy of this view

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

### copy

    public View copy()

  Overrides:
    `copy` in class `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-2009 Bela Ban / Red Hat. All Rights Reserved.