org.apache.geode.cache

## Class MembershipAttributes

- java.lang.Object
- - org.apache.geode.cache.MembershipAttributes

- All Implemented Interfaces:
    java.io.Externalizable, java.io.Serializable, DataSerializable

  Deprecated.
  this feature is scheduled to be removed

      public class MembershipAttributes
      extends java.lang.Object
      implements DataSerializable, java.io.Externalizable

  Configuration attributes for defining reliability requirements and behavior for a `Region`.

  `MembershipAttributes` provides options for configuring a `Region` to require one or more membership roles to be present in the system for reliable access to the `Region`. Each `Role` is a user defined string name, such as Producer or Backup or FooProducer.

  The `LossAction` defines the behavior when one or more required roles are missing.

  The `ResumptionAction` specifies the action to be taken when reliability resumes.

  `MembershipAttributes` have no effect unless one or more required roles are specified. These attributes are immutable after the `Region` has been created.

  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.apache.geode.DataSerializable

      `DataSerializable.Replaceable`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MembershipAttributes()` Deprecated. Creates a new `MembershipAttributes` with the default configuration of no required roles.
    `MembershipAttributes(java.lang.String[] requiredRoles)` Deprecated. Creates a new `MembershipAttributes` with the specified required role names.
    `MembershipAttributes(java.lang.String[] requiredRoles, LossAction lossAction, ResumptionAction resumptionAction)` Deprecated. Creates a new `MembershipAttributes` with the specified required role names, reliability policy, and resumption action.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(java.lang.Object other)` Deprecated. Indicates whether some other object is "equal to" this one.
    `void` | `fromData(java.io.DataInput in)` Deprecated. Reads the state of this object as primitive data from the given `DataInput`.
    `LossAction` | `getLossAction()` Deprecated. Returns the reliability policy that describes behavior if any required roles are missing.
    `java.util.Set<Role>` | `getRequiredRoles()` Deprecated. Returns the set of Roles that are required for the reliability of this region.
    `ResumptionAction` | `getResumptionAction()` Deprecated. Returns the resumption action that describes behavior when
    `int` | `hashCode()` Deprecated. Returns a hash code for the object.
    `boolean` | `hasRequiredRoles()` Deprecated. Returns true if there are one or more required roles specified.
    `void` | `readExternal(java.io.ObjectInput in)` Deprecated.
    `void` | `toData(java.io.DataOutput out)` Deprecated. Writes the state of this object as primitive data to the given `DataOutput`.
    `java.lang.String` | `toString()` Deprecated. Returns a string representation of the object.
    `void` | `writeExternal(java.io.ObjectOutput out)` Deprecated.

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### MembershipAttributes

          public MembershipAttributes()

      Deprecated.
      Creates a new `MembershipAttributes` with the default configuration of no required roles.

    - #### MembershipAttributes

          public MembershipAttributes(java.lang.String[] requiredRoles)

      Deprecated.
      Creates a new `MembershipAttributes` with the specified required role names. Reliability policy will default to NO_ACCESS, and resumption action will default to REINITIALIZE.
      Parameters:
        `requiredRoles` - array of role names required by this process for reliable access to the region
      Throws:
        `java.lang.IllegalArgumentException` - if no requiredRoles are specified

    - #### MembershipAttributes

          public MembershipAttributes(java.lang.String[] requiredRoles,
                                      LossAction lossAction,
                                      ResumptionAction resumptionAction)

      Deprecated.
      Creates a new `MembershipAttributes` with the specified required role names, reliability policy, and resumption action.
      Parameters:
        `requiredRoles` - array of role names required by this process for reliable access to the region
        `lossAction` - the configuration defining how this process behaves when there are missing required roles
        `resumptionAction` - the action to take when missing required roles return to the system
      Throws:
        `java.lang.IllegalArgumentException` - if the resumptionAction is incompatible with the lossAction or if no requiredRoles are specified

  - ### Method Detail

    - #### getRequiredRoles

          public java.util.Set<Role> getRequiredRoles()

      Deprecated.
      Returns the set of Roles that are required for the reliability of this region.

    - #### hasRequiredRoles

          public boolean hasRequiredRoles()

      Deprecated.
      Returns true if there are one or more required roles specified.

    - #### getLossAction

          public LossAction getLossAction()

      Deprecated.
      Returns the reliability policy that describes behavior if any required roles are missing.

    - #### getResumptionAction

          public ResumptionAction getResumptionAction()

      Deprecated.
      Returns the resumption action that describes behavior when

    - #### equals

          public boolean equals(java.lang.Object other)

      Deprecated.
      Indicates whether some other object is "equal to" this one.
      Overrides:
        `equals` in class `java.lang.Object`
      Parameters:
        `other` - the reference object with which to compare.
      Returns:
        true if this object is the same as the obj argument; false otherwise.

    - #### hashCode

          public int hashCode()

      Deprecated.
      Returns a hash code for the object. This method is supported for the benefit of hashtables such as those provided by java.util.Hashtable.
      Overrides:
        `hashCode` in class `java.lang.Object`
      Returns:
        the integer 0 if description is null; otherwise a unique integer.

    - #### toString

          public java.lang.String toString()

      Deprecated.
      Returns a string representation of the object.
      Overrides:
        `toString` in class `java.lang.Object`
      Returns:
        a string representation of the object

    - #### toData

          public void toData(java.io.DataOutput out)
                      throws java.io.IOException

      Deprecated.
      Description copied from interface: `DataSerializable`
      Writes the state of this object as primitive data to the given `DataOutput`.

      Since 5.7 it is possible for any method call to the specified `DataOutput` to throw `GemFireRethrowable`. It should not be caught by user code. If it is it must be rethrown.

      Specified by:
        `toData` in interface `DataSerializable`
      Throws:
        `java.io.IOException` - A problem occurs while writing to `out`

    - #### fromData

          public void fromData(java.io.DataInput in)
                        throws java.io.IOException,
                               java.lang.ClassNotFoundException

      Deprecated.
      Description copied from interface: `DataSerializable`
      Reads the state of this object as primitive data from the given `DataInput`.
      Specified by:
        `fromData` in interface `DataSerializable`
      Throws:
        `java.io.IOException` - A problem occurs while reading from `in`
        `java.lang.ClassNotFoundException` - A class could not be loaded while reading from `in`

    - #### writeExternal

          public void writeExternal(java.io.ObjectOutput out)
                             throws java.io.IOException

      Deprecated.
      Specified by:
        `writeExternal` in interface `java.io.Externalizable`
      Throws:
        `java.io.IOException`

    - #### readExternal

          public void readExternal(java.io.ObjectInput in)
                            throws java.io.IOException,
                                   java.lang.ClassNotFoundException

      Deprecated.
      Specified by:
        `readExternal` in interface `java.io.Externalizable`
      Throws:
        `java.io.IOException`
        `java.lang.ClassNotFoundException`