package run;

import java.util.*;

import java.io.*;

import run.readers.FembicReader;

import uka.karmi.rmi.RemoteException;

import jp.sync.*;

import jp.lang.*;



import jp.lang.*;

public final class SmackCluster_class_impl extends jp.lang.RemoteObject_class_impl
  implements SmackCluster_class_intf
{

  /** Constructor for class implementation part of class SmackCluster. */
  public SmackCluster_class_impl(boolean isConstructor) throws uka.karmi.rmi.RemoteException {
    super(isConstructor);
  }

  /** Dummy method to achieve type conversion inside an expression 
      between the handle class 'SmackCluster' and the the class implementation 
      'SmackCluster_class_impl'. The argument is not needed. 
      This is only used by the transformation internally.
  */
  private static final SmackCluster_class_impl _ClassType_(SmackCluster x) {
    return null;
  }

  /** Replicated static constant '_class' */
  public static SmackCluster_class_intf _class;

  /** Remote static variable access: get SmackCluster._class */
  public final SmackCluster_class_intf run_SmackCluster__class_get_()  {
    return this._class;
  }

  /** Factory method to calls the constructor SmackCluster_instance_impl(nr_of_CPUs, client_nr) 
      on a remote node and passes the result back to the caller. This
      method is used during remote object instantiations on remote nodes.
  */
  public java.lang.Object _new(int nr_of_CPUs, int client_nr) throws uka.karmi.rmi.RemoteException {
    // remote object creation may throw a RemoteException
    // during object export
    SmackCluster_instance_impl _impl = new SmackCluster_instance_impl(nr_of_CPUs, client_nr);

    return (java.lang.Object) _impl._getRef();
  }

  /** Code of all static initializers of the class */
  protected void _init() {
  }

  static {
    int _location = RuntimeEnvironment.getMachineID();
    try {
      // Lookup class object for initialization
      // of replicated constants (if already present).
      _class = (SmackCluster_class_intf) RuntimeEnvironment.rm.getClassInitializer("run.SmackCluster", _location);
      if (_class == null) {
        // Class is not yet loaded, load and initialize locally.
        _class = (SmackCluster_class_intf) new SmackCluster_class_impl(false)._getStub();
        RuntimeEnvironment.rm.setClassObject("run.SmackCluster",_class);
      } else {
        // Class was loaded elsewhere, copy replicated constants (if any).
      }
    } catch (uka.karmi.rmi.RemoteException _e) {
      throw new jp.lang.RemoteError("SmackCluster_class_impl.<clinit>()", _e);
    } catch (Exception _e) {
      // ClassNotFoundException, IllegalAccessException, RuntimeException
      _e.printStackTrace();
      throw new InternalError("SmackCluster_class_impl.<clinit>(): " + _e);
    }
  }
}
