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

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.util.Vector<View>` | `subgroups`

    - ### Fields inherited from class org.jgroups.View

      `members, payload, vid`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.