/**
  * File: 		MemberStateExceptionReasonanges.java
  * Content: 	part of the RMI specification of sensei domains
  *           Defines an enumeration for the reasons to throw a MemberStateException
  * Author: 	LuisM Pena
  * Date: 		27th October 2001
  * Version:  0.51.00
  * Last change:
  *
  **/


package sensei.middleware.domains;

final public class MemberStateExceptionReason implements java.io.Serializable
{
  private static MemberStateExceptionReason [] values_ = new MemberStateExceptionReason[4];
  private int value_;

  public final static int _MemberNotJoined = 0;
  public final static MemberStateExceptionReason MemberNotJoined = new MemberStateExceptionReason(_MemberNotJoined);
  public final static int _MemberJoined = 1;
  public final static MemberStateExceptionReason MemberJoined = new MemberStateExceptionReason(_MemberJoined);
  public final static int _MemberWithoutState = 2;
  public final static MemberStateExceptionReason MemberWithoutState = new MemberStateExceptionReason(_MemberWithoutState);
  public final static int _MemberExcluded = 3;
  public final static MemberStateExceptionReason MemberExcluded = new MemberStateExceptionReason(_MemberExcluded);

  protected
  MemberStateExceptionReason(int value)
  {
    values_[value] = this;
    value_ = value;
  }

  public int
  value()
  {
    return value_;
  }

  public int
  hash()
  {
      return value_;
  }

  protected Object readResolve() throws java.io.ObjectStreamException
  {
    return values_[value_];
  }

  public static MemberStateExceptionReason
  from_int(int value)
  {
    return values_[value];
  }
}