/**
  * File: DomainNarrower.java
  * Content: Utility class performing narrow operations for Domain middleware objects
  * Author: LuisM Pena
  * Date:    27th October 2001
  * Version: 0.51.00
  * Last change:
  *
  **/

package sensei.middleware.domains;

/**
  * Utility class performing narrow operations for Domain middleware objects
  **/
public class DomainsNarrower
{

  public final static boolean isObjectNotExistException(Exception ex)
  {
    return ex instanceof java.rmi.NoSuchObjectException;
  }

  public final static DomainGroupHandler toDomainGroupHandler(Object object)
  {
    return object instanceof DomainGroupHandler? (DomainGroupHandler) object : null;
  }

  public final static Checkpointable toCheckpointable(Object object)
  {
    return object instanceof Checkpointable? (Checkpointable) object : null;
  }

  public final static ExtendedCheckpointable toExtendedCheckpointable(Object object)
  {
    return object instanceof ExtendedCheckpointable? (ExtendedCheckpointable) object : null;
  }

  public final static StateHandler toStateHandler(Object object)
  {
    return object instanceof StateHandler? (StateHandler) object : null;
  }

  public final static BasicStateHandler toBasicStateHandler(Object object)
  {
    return object instanceof BasicStateHandler? (BasicStateHandler) object : null;
  }

};