package rose;

import com.linar.jintegra.*;

/**
 * COM Class 'RoseApplication'. Generated 31/01/2002 11:44:18 AM
 * from 'C:|Program Files|Rational|Rose|rationalrose.tlb'<P>
 * Generated using version 1.5 of <B>J-Integra[tm]</B> -- pure Java/COM integration technology from Intrinsyc Software Inc.
 * See  <A HREF="http://www.intrinsyc.com/">http://www.intrinsyc.com/</A><P>
 *
 * Generator Options:
 * PromptForTypeLibraries = False
 * AttemptNonDual = True
 * ClashPrefix = zz_
 * LowerCaseMemberNames = True
 * IDispatchOnly = False
 * RetryOnReject = False
 * AwtForOcxs = False
 * GenerateDeprecatedConstructors = True
 * ArraysAsObjects = False
 * DontGenerateDisp = False
 * DontRenameSameMethods = False
 * IgnoreConflictingInterfaces = True
 * MakeSerializable = True
 */
public class RoseApplication implements com.linar.jintegra.RemoteObjRef, IRoseApplication {

  private static final String CLSID = "d7bc1b41-8618-11cf-b3d4-00a0241db1d0";

  protected String getJintegraVersion() { return "1.5"; }

  // Interface delagates
  private IRoseApplicationProxy d_IRoseApplicationProxy = null;

  /** Access this COM class's IRoseApplication interface */
  public IRoseApplication getAsIRoseApplication() { return d_IRoseApplicationProxy; }

  /** Compare this object with another */
  public boolean equals(Object o) { return getJintegraDispatch() == null ? false : getJintegraDispatch().equals(o); }


  /** the hashcode for this object */
  public int hashCode() { return getJintegraDispatch() == null ? 0 : getJintegraDispatch().hashCode(); }

   /**
   * getActiveObject. Get a reference to a running instance of this class on the current machine using native code.
   *                  <B>Uses native code (See GetActiveObject() in MS doc) and thus can only be used on MS Windows</B>
   *
   * @return    return value.  A reference to the running object.
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If there was an error attaching to the instance.
   */
  public static RoseApplication getActiveObject() throws com.linar.jintegra.AutomationException, java.io.IOException {
    return new RoseApplication(com.linar.jintegra.Dispatch.getActiveObject(CLSID));
  }

  /**
   * bindUsingMoniker. Bind to a running instance of this class using the supplied ObjRef moniker
   *
   * @return    return value.  A reference to the running object.
   * @param     moniker. The ObjRef Moniker (Created using Windows CreateObjrefMoniker() and IMoniker->GetDisplayName)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If there was an error attaching to the instance.
   */
  public static RoseApplication bindUsingMoniker(String moniker) throws com.linar.jintegra.AutomationException, java.io.IOException {
    return new RoseApplication(com.linar.jintegra.Dispatch.bindUsingMoniker(moniker));
  }

  /** J-Integra internal method */
  public com.linar.jintegra.Dispatch getJintegraDispatch() {  return d_IRoseApplicationProxy; }

  /**
   * Constructs a RoseApplication on the local host.
   * @exception java.io.IOException if there are problems communicating via DCOM 
   * @exception java.net.UnknownHostException if the host can not be found 
   */
  public RoseApplication() throws java.io.IOException, java.net.UnknownHostException {
    this("localhost", null);
  }

  /**
   * Construct a RoseApplication on specified host.
   * @param     host  the host on which the object should be created
   * @exception java.io.IOException if there are problems communicating via DCOM 
   * @exception java.net.UnknownHostException if the host can not be found 
   */
  public RoseApplication(String host) throws java.io.IOException, java.net.UnknownHostException {
    this(host, null);
  }

  /**
   * @deprecated use AuthInfo.setDefault(...) or AuthInfo.setThreadDefault(...)
   * See Security section in the J-Integra documentation
   * @see com.linar.jintegra.AuthInfo.setDefault(..)
   */
  public RoseApplication(AuthInfo authInfo) throws java.io.IOException, java.net.UnknownHostException {
    this("localhost", authInfo);
  }

  /**
   * @deprecated use AuthInfo.setDefault(...) or AuthInfo.setThreadDefault(...)
   * See Security section in the J-Integra documentation
   * @see com.linar.jintegra.AuthInfo.setDefault(..)
   */
  public RoseApplication(String host, AuthInfo authInfo) throws java.io.IOException, java.net.UnknownHostException {
    d_IRoseApplicationProxy = new IRoseApplicationProxy(CLSID, host, authInfo);
  }

  /**
   * Construct a RoseApplication using a reference to such an object returned from a COM server
   * @param     obj an object returned from a COM server
   * @exception java.io.IOException if there are problems communicating via DCOM 
   */
  public RoseApplication(Object obj) throws java.io.IOException {
    d_IRoseApplicationProxy = new IRoseApplicationProxy(obj);
  }

  /**
   * Release a RoseApplication.
   */
  public void release() {
    com.linar.jintegra.Cleaner.release(d_IRoseApplicationProxy);
  }

  /**
   * getPropertyByName. Get the value of a property dynamically at run-time, based on its name
   *
   * @return    return value.  The value of the property.
   * @param     name. The name of the property to get.
   * @exception java.lang.NoSuchFieldException If the property does not exit.
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public Object getPropertyByName(String name) throws NoSuchFieldException, java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.getPropertyByName(name);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    } catch(NoSuchFieldException noSuchFieldException) {
      noSuchFieldException.fillInStackTrace();
      throw noSuchFieldException;
    }
  }

  /**
   * getPropertyByName. Get the value of a property dynamically at run-time, based on its name and a parameter
   *
   * @return    return value.  The value of the property.
   * @param     name. The name of the property to get.
   * @param     rhs. A parameter used when getting the proxy
   * @exception java.lang.NoSuchFieldException If the property does not exit.
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public Object getPropertyByName(String name, Object rhs) throws NoSuchFieldException, java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.getPropertyByName(name, rhs);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    } catch(NoSuchFieldException noSuchFieldException) {
      noSuchFieldException.fillInStackTrace();
      throw noSuchFieldException;
    }
  }

  /**
   * invokeMethodByName. Invoke a method dynamically at run-time
   *
   * @return    return value.  The value returned by the method (null if none).
   * @param     name. The name of the method to be invoked
   * @param     parameters.  One element for each parameter.  Use primitive type wrappers
   *            to pass primitive types (eg Integer to pass an int).
   * @exception java.lang.NoSuchMethodException If the method does not exit.
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public Object invokeMethodByName(String name, Object[] parameters) throws NoSuchMethodException, java.io.IOException, com.linar.jintegra.AutomationException {
    return d_IRoseApplicationProxy.invokeMethodByName(name, parameters);
  }

  /**
   * getVisible. 
   *
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean getVisible  () throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.getVisible();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * setVisible. 
   *
   * @param     rhs The rhs)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setVisible  (
              boolean rhs) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseApplicationProxy.setVisible(rhs);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * getTop. 
   *
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public short getTop  () throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.getTop();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * setTop. 
   *
   * @param     rhs The rhs)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setTop  (
              short rhs) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseApplicationProxy.setTop(rhs);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * getLeft. 
   *
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public short getLeft  () throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.getLeft();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * setLeft. 
   *
   * @param     rhs The rhs)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setLeft  (
              short rhs) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseApplicationProxy.setLeft(rhs);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * getHeight. 
   *
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public short getHeight  () throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.getHeight();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * setHeight. 
   *
   * @param     rhs The rhs)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setHeight  (
              short rhs) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseApplicationProxy.setHeight(rhs);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * getWidth. 
   *
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public short getWidth  () throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.getWidth();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * setWidth. 
   *
   * @param     rhs The rhs)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setWidth  (
              short rhs) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseApplicationProxy.setWidth(rhs);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * getCurrentModel. 
   *
   * @return    return value.  An reference to a IRoseModel
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseModel getCurrentModel  () throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.getCurrentModel();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * setCurrentModel. 
   *
   * @param     rhs An reference to a IRoseModel)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setCurrentModel  (
              IRoseModel rhs) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseApplicationProxy.setCurrentModel(rhs);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * getPathMap. 
   *
   * @return    return value.  An reference to a IRosePathMap
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRosePathMap getPathMap  () throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.getPathMap();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * setPathMap. 
   *
   * @param     rhs An reference to a IRosePathMap)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setPathMap  (
              IRosePathMap rhs) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseApplicationProxy.setPathMap(rhs);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * getVersion. 
   *
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public String getVersion  () throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.getVersion();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * setVersion. 
   *
   * @param     rhs The rhs)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setVersion  (
              String rhs) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseApplicationProxy.setVersion(rhs);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * getProductName. 
   *
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public String getProductName  () throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.getProductName();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * setProductName. 
   *
   * @param     rhs The rhs)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setProductName  (
              String rhs) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseApplicationProxy.setProductName(rhs);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * getApplicationPath. 
   *
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public String getApplicationPath  () throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.getApplicationPath();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * setApplicationPath. 
   *
   * @param     rhs The rhs)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setApplicationPath  (
              String rhs) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseApplicationProxy.setApplicationPath(rhs);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * getAddInManager. 
   *
   * @return    return value.  An reference to a IRoseAddInManager
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseAddInManager getAddInManager  () throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.getAddInManager();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * setAddInManager. 
   *
   * @param     rhs An reference to a IRoseAddInManager)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setAddInManager  (
              IRoseAddInManager rhs) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseApplicationProxy.setAddInManager(rhs);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * getCommandLine. 
   *
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public String getCommandLine  () throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.getCommandLine();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * setCommandLine. 
   *
   * @param     rhs The rhs)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setCommandLine  (
              String rhs) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseApplicationProxy.setCommandLine(rhs);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * getIsInitialized. 
   *
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean getIsInitialized  () throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.getIsInitialized();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * setIsInitialized. 
   *
   * @param     rhs The rhs)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setIsInitialized  (
              boolean rhs) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseApplicationProxy.setIsInitialized(rhs);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * openModel. 
   *
   * @param     theModel The theModel (in)
   * @return    return value.  An reference to a IRoseModel
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseModel openModel  (
              String theModel) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.openModel(theModel);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * newModel. 
   *
   * @return    return value.  An reference to a IRoseModel
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseModel newModel  () throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.newModel();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * exit. 
   *
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void exit  () throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseApplicationProxy.exit();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * writeErrorLog. 
   *
   * @param     theMsg The theMsg (in)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void writeErrorLog  (
              String theMsg) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseApplicationProxy.writeErrorLog(theMsg);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * save. 
   *
   * @param     bSaveUnits The bSaveUnits (in)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void save  (
              boolean bSaveUnits) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseApplicationProxy.save(bSaveUnits);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * saveAs. 
   *
   * @param     theFile The theFile (in)
   * @param     bSaveUnits The bSaveUnits (in)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void saveAs  (
              String theFile,
              boolean bSaveUnits) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseApplicationProxy.saveAs(theFile,bSaveUnits);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * compileScriptFile. 
   *
   * @param     fileName The fileName (in)
   * @param     binaryName The binaryName (in)
   * @param     bDebug The bDebug (in)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void compileScriptFile  (
              String fileName,
              String binaryName,
              boolean bDebug) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseApplicationProxy.compileScriptFile(fileName,binaryName,bDebug);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * selectObjectInBrowser. 
   *
   * @param     theRoseObject An reference to a IRoseObject (in)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void selectObjectInBrowser  (
              IRoseObject theRoseObject) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseApplicationProxy.selectObjectInBrowser(theRoseObject);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * openModelAsTemplate. 
   *
   * @param     szFileName The szFileName (in)
   * @return    return value.  An reference to a IRoseModel
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseModel openModelAsTemplate  (
              String szFileName) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.openModelAsTemplate(szFileName);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * openScript. 
   *
   * @param     fileName The fileName (in)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void openScript  (
              String fileName) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseApplicationProxy.openScript(fileName);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * newScript. 
   *
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void newScript  () throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseApplicationProxy.newScript();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * getLicensedApplication. 
   *
   * @param     theKey The theKey (in)
   * @return    return value.  An reference to a IRoseApplication
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseApplication getLicensedApplication  (
              String theKey) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.getLicensedApplication(theKey);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * executeScript. 
   *
   * @param     pFileName The pFileName (in)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void executeScript  (
              String pFileName) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseApplicationProxy.executeScript(pFileName);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * openURL. 
   *
   * @param     theURL The theURL (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean openURL  (
              String theURL) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.openURL(theURL);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * openExternalDocument. 
   *
   * @param     fileName The fileName (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean openExternalDocument  (
              String fileName) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.openExternalDocument(fileName);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * getProfileString. 
   *
   * @param     section The section (in)
   * @param     entry The entry (in)
   * @param     zz_default The zz_default (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public String getProfileString  (
              String section,
              String entry,
              String zz_default) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.getProfileString(section,entry,zz_default);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * writeProfileString. 
   *
   * @param     section The section (in)
   * @param     entry The entry (in)
   * @param     value The value (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean writeProfileString  (
              String section,
              String entry,
              String value) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.writeProfileString(section,entry,value);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * updateBrowserOverlayImage. 
   *
   * @param     theItem An reference to a IRoseItem (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean updateBrowserOverlayImage  (
              IRoseItem theItem) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.updateBrowserOverlayImage(theItem);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * updateBrowserDocOverlayImage. 
   *
   * @param     theDocument An reference to a IRoseExternalDocument (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean updateBrowserDocOverlayImage  (
              IRoseExternalDocument theDocument) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.updateBrowserDocOverlayImage(theDocument);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * openRoseModel. 
   *
   * @param     theModel The theModel (in)
   * @param     promptSubUnits The promptSubUnits (in)
   * @return    return value.  An reference to a IRoseModel
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseModel openRoseModel  (
              String theModel,
              boolean promptSubUnits) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.openRoseModel(theModel,promptSubUnits);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * getRoseIniPath. 
   *
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public String getRoseIniPath  () throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.getRoseIniPath();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * saveModel. 
   *
   * @param     bSaveUnits The bSaveUnits (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public int saveModel  (
              boolean bSaveUnits) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.saveModel(bSaveUnits);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * enableUserEditOfItem. 
   *
   * @param     theItem An reference to a IRoseItem (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean enableUserEditOfItem  (
              IRoseItem theItem) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.enableUserEditOfItem(theItem);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * enableUserEditOfDiagram. 
   *
   * @param     theDiagram An reference to a IRoseDiagram (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean enableUserEditOfDiagram  (
              IRoseDiagram theDiagram) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.enableUserEditOfDiagram(theDiagram);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * editorOpenFile. 
   *
   * @param     fileName The fileName (in)
   * @param     fileDomain The fileDomain (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean editorOpenFile  (
              String fileName,
              String fileDomain) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.editorOpenFile(fileName,fileDomain);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * editorDomainOf. 
   *
   * @param     fileName The fileName (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public String editorDomainOf  (
              String fileName) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.editorDomainOf(fileName);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * editorGetOpenFiles. 
   *
   * @return    return value.  An reference to a IRoseStringCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseStringCollection editorGetOpenFiles  () throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.editorGetOpenFiles();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * editorIsDirty. 
   *
   * @param     fileName The fileName (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean editorIsDirty  (
              String fileName) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.editorIsDirty(fileName);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * editorIsVisible. 
   *
   * @param     fileName The fileName (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean editorIsVisible  (
              String fileName) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.editorIsVisible(fileName);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * editorRefreshFile. 
   *
   * @param     fileName The fileName (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean editorRefreshFile  (
              String fileName) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.editorRefreshFile(fileName);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * editorDisplayFile. 
   *
   * @param     fileName The fileName (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean editorDisplayFile  (
              String fileName) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.editorDisplayFile(fileName);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * logCreateTab. 
   *
   * @param     tabName The tabName (in)
   * @param     domain The domain (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean logCreateTab  (
              String tabName,
              String domain) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.logCreateTab(tabName,domain);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * logCloseTab. 
   *
   * @param     tabName The tabName (in)
   * @param     domain The domain (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean logCloseTab  (
              String tabName,
              String domain) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.logCloseTab(tabName,domain);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * logClearTab. 
   *
   * @param     tabName The tabName (in)
   * @param     domain The domain (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean logClearTab  (
              String tabName,
              String domain) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.logClearTab(tabName,domain);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * logSetActiveTab. 
   *
   * @param     tabName The tabName (in)
   * @param     domain The domain (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean logSetActiveTab  (
              String tabName,
              String domain) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.logSetActiveTab(tabName,domain);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * logWriteTab. 
   *
   * @param     tabName The tabName (in)
   * @param     domain The domain (in)
   * @param     text The text (in)
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public boolean logWriteTab  (
              String tabName,
              String domain,
              String text) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseApplicationProxy.logWriteTab(tabName,domain,text);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

}
