/**
  * File: 		SubgroupsHandlerExceptionReason.java
  * Content: 	part of the RMI specification of sensei domains
  *           Defines an enumeration for the exceptions reason in case of a SubgroupHandlerException
  * Author: 	LuisM Pena
  * Date:    27th October 2001
  * Version: 0.51.00
  * Last change:
  *
  **/


package sensei.middleware.domains;

/**
 * Defines an enumeration for the exceptions reason in case of a SubgroupHandlerException
 */
final public class SubgroupsHandlerExceptionReason implements java.io.Serializable
{
    private static SubgroupsHandlerExceptionReason [] values_ = new SubgroupsHandlerExceptionReason[4];
    private int value_;

    public final static int _SubgroupIdAlreadyInUse = 0;
    public final static SubgroupsHandlerExceptionReason SubgroupIdAlreadyInUse = new SubgroupsHandlerExceptionReason(_SubgroupIdAlreadyInUse);
    public final static int _InvalidStaticSubgroupId = 1;
    public final static SubgroupsHandlerExceptionReason InvalidStaticSubgroupId = new SubgroupsHandlerExceptionReason(_InvalidStaticSubgroupId);
    public final static int _InvalidDynamicSubgroupId = 2;
    public final static SubgroupsHandlerExceptionReason InvalidDynamicSubgroupId = new SubgroupsHandlerExceptionReason(_InvalidDynamicSubgroupId);
    public final static int _DynamicBehaviourNotRegistered = 3;
    public final static SubgroupsHandlerExceptionReason DynamicBehaviourNotRegistered = new SubgroupsHandlerExceptionReason(_DynamicBehaviourNotRegistered);

    protected
    SubgroupsHandlerExceptionReason(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 SubgroupsHandlerExceptionReason
    from_int(int value)
    {
        return values_[value];
    }
}