package rose;

import com.linar.jintegra.*;
/**
 * Proxy for COM Interface 'IRoseModel'. Generated 30/01/2002 3:46:15 PM
 * from 'C:\Program Files\Rational\Rose\rationalrose.tlb'<P>
 * Generated using version 1.3.1  of <B>J-Integra[tm]</B> -- pure Java/COM integration technology from Linar Ltd.
 * See  <A HREF="http://www.linar.com/">http://www.linar.com/</A><P>
 */
public class IRoseModelProxy extends com.linar.jintegra.Dispatch implements IRoseModel {

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

  public static final Class targetClass = rose.IRoseModel.class;

  public IRoseModelProxy(String CLSID, String host, AuthInfo authInfo) throws java.net.UnknownHostException, java.io.IOException{
    super(CLSID, IRoseModel.IID, host, authInfo);
  }

  /** For internal use only */
  public IRoseModelProxy() {}

  public IRoseModelProxy(Object obj) throws java.io.IOException {
    super(obj, IRoseModel.IID);
  }

  protected IRoseModelProxy(Object obj, String iid) throws java.io.IOException {
    super(obj, iid);
  }

  protected IRoseModelProxy(String CLSID, String iid, String host, AuthInfo authInfo) throws java.io.IOException {
    super(CLSID, iid, host, authInfo);
  }

  public void addListener(String iidStr, Object theListener, Object theSource) throws java.io.IOException {
    super.addListener(iidStr, theListener, theSource);
  }

  public void removeListener(String iidStr, Object theListener) throws java.io.IOException {
    super.removeListener(iidStr, theListener);
  }

  /**
   * 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 {
    com.linar.jintegra.Variant parameters[] = {};
    return super.invoke(name, super.getDispatchIdOfName(name), 2, parameters).getVARIANT();
  }

  /**
   * getPropertyByName. Get the value of a property dynamically at run-time, based on its name and a parameter value
   *
   * @return    return value.  The value of the property.
   * @param     name. The name of the property to get.
   * @param     rhs. Parameter used when getting the property.
   * @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 {
    com.linar.jintegra.Variant parameters[] = {rhs == null ? new Variant("rhs", 10, 0x80020004L) : new Variant("rhs", 12, rhs)};
    return super.invoke(name, super.getDispatchIdOfName(name), 2, parameters).getVARIANT();
  }

  /**
   * 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 {
    com.linar.jintegra.Variant variantParameters[] = new com.linar.jintegra.Variant[parameters.length];
    for(int i = 0; i < parameters.length; i++) {
      variantParameters[i] = parameters[i] == null ? new Variant("p" + i, 10, 0x80020004L) :
	                                                   new Variant("p" + i, 12, parameters[i]);
    }
    try {
      return super.invoke(name, super.getDispatchIdOfName(name), 1, variantParameters).getVARIANT();
    } catch(NoSuchFieldException nsfe) {
      throw new NoSuchMethodException("There is no method called " + name);
    }
  }

  /**
   * getName. 
   *
   * @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 getName  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("getName", 100, 2, parameters).getBSTR();
  }

  /**
   * setName. 
   *
   * @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 setName  (
              String rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 8, rhs),};
    invoke("setName", 100, 4, parameters);
    return;
  }

  /**
   * getDocumentation. 
   *
   * @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 getDocumentation  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("getDocumentation", 203, 2, parameters).getBSTR();
  }

  /**
   * setDocumentation. 
   *
   * @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 setDocumentation  (
              String rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 8, rhs),};
    invoke("setDocumentation", 203, 4, parameters);
    return;
  }

  /**
   * getStereotype. 
   *
   * @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 getStereotype  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("getStereotype", 212, 2, parameters).getBSTR();
  }

  /**
   * setStereotype. 
   *
   * @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 setStereotype  (
              String rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 8, rhs),};
    invoke("setStereotype", 212, 4, parameters);
    return;
  }

  /**
   * getExternalDocuments. 
   *
   * @return    return value.  An reference to a IRoseExternalDocumentCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseExternalDocumentCollection getExternalDocuments  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getExternalDocuments", 213, 2, parameters).getDISPATCH();
    return res == null ? null : new IRoseExternalDocumentCollectionProxy(res);
  }

  /**
   * setExternalDocuments. 
   *
   * @param     rhs An reference to a IRoseExternalDocumentCollection)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setExternalDocuments  (
              rose.IRoseExternalDocumentCollection rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 9, rhs),};
    invoke("setExternalDocuments", 213, 4, parameters);
    return;
  }

  /**
   * getRootCategory. 
   *
   * @return    return value.  An reference to a IRoseCategory
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseCategory getRootCategory  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getRootCategory", 417, 2, parameters).getDISPATCH();
    return res == null ? null : new IRoseCategoryProxy(res);
  }

  /**
   * setRootCategory. 
   *
   * @param     rhs An reference to a IRoseCategory)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setRootCategory  (
              rose.IRoseCategory rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 9, rhs),};
    invoke("setRootCategory", 417, 4, parameters);
    return;
  }

  /**
   * getRootSubsystem. 
   *
   * @return    return value.  An reference to a IRoseSubsystem
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseSubsystem getRootSubsystem  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getRootSubsystem", 418, 2, parameters).getDISPATCH();
    return res == null ? null : new IRoseSubsystemProxy(res);
  }

  /**
   * setRootSubsystem. 
   *
   * @param     rhs An reference to a IRoseSubsystem)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setRootSubsystem  (
              rose.IRoseSubsystem rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 9, rhs),};
    invoke("setRootSubsystem", 418, 4, parameters);
    return;
  }

  /**
   * getDeploymentDiagram. 
   *
   * @return    return value.  An reference to a IRoseDeploymentDiagram
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseDeploymentDiagram getDeploymentDiagram  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getDeploymentDiagram", 420, 2, parameters).getDISPATCH();
    return res == null ? null : new IRoseDeploymentDiagramProxy(res);
  }

  /**
   * setDeploymentDiagram. 
   *
   * @param     rhs An reference to a IRoseDeploymentDiagram)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setDeploymentDiagram  (
              rose.IRoseDeploymentDiagram rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 9, rhs),};
    invoke("setDeploymentDiagram", 420, 4, parameters);
    return;
  }

  /**
   * getUseCases. 
   *
   * @return    return value.  An reference to a IRoseUseCaseCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseUseCaseCollection getUseCases  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getUseCases", 421, 2, parameters).getDISPATCH();
    return res == null ? null : new IRoseUseCaseCollectionProxy(res);
  }

  /**
   * setUseCases. 
   *
   * @param     rhs An reference to a IRoseUseCaseCollection)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setUseCases  (
              rose.IRoseUseCaseCollection rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 9, rhs),};
    invoke("setUseCases", 421, 4, parameters);
    return;
  }

  /**
   * getRootUseCaseCategory. 
   *
   * @return    return value.  An reference to a IRoseCategory
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseCategory getRootUseCaseCategory  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getRootUseCaseCategory", 422, 2, parameters).getDISPATCH();
    return res == null ? null : new IRoseCategoryProxy(res);
  }

  /**
   * setRootUseCaseCategory. 
   *
   * @param     rhs An reference to a IRoseCategory)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setRootUseCaseCategory  (
              rose.IRoseCategory rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 9, rhs),};
    invoke("setRootUseCaseCategory", 422, 4, parameters);
    return;
  }

  /**
   * getDefaultProperties. 
   *
   * @return    return value.  An reference to a IRoseDefaultModelProperties
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseDefaultModelProperties getDefaultProperties  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getDefaultProperties", 12471, 2, parameters).getDISPATCH();
    return res == null ? null : new IRoseDefaultModelPropertiesProxy(res);
  }

  /**
   * setDefaultProperties. 
   *
   * @param     rhs An reference to a IRoseDefaultModelProperties)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setDefaultProperties  (
              rose.IRoseDefaultModelProperties rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 9, rhs),};
    invoke("setDefaultProperties", 12471, 4, parameters);
    return;
  }

  /**
   * getApplication. 
   *
   * @return    return value.  A reference to another Automation Object (IDispatch)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public Object getApplication  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("getApplication", 12523, 2, parameters).getDISPATCH();
  }

  /**
   * setApplication. 
   *
   * @param     rhs A reference to another Automation Object (IDispatch))
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setApplication  (
              Object rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 9, rhs),};
    invoke("setApplication", 12523, 4, parameters);
    return;
  }

  /**
   * getModel. 
   *
   * @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 getModel  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getModel", 12524, 2, parameters).getDISPATCH();
    return res == null ? null : new IRoseModelProxy(res);
  }

  /**
   * setModel. 
   *
   * @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 setModel  (
              rose.IRoseModel rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 9, rhs),};
    invoke("setModel", 12524, 4, parameters);
    return;
  }

  /**
   * getLocalizedStereotype. 
   *
   * @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 getLocalizedStereotype  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("getLocalizedStereotype", 12554, 2, parameters).getBSTR();
  }

  /**
   * setLocalizedStereotype. 
   *
   * @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 setLocalizedStereotype  (
              String rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 8, rhs),};
    invoke("setLocalizedStereotype", 12554, 4, parameters);
    return;
  }

  /**
   * getDeploymentUnit. 
   *
   * @return    return value.  An reference to a IRoseDeploymentUnit
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseDeploymentUnit getDeploymentUnit  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getDeploymentUnit", 12676, 2, parameters).getDISPATCH();
    return res == null ? null : new IRoseDeploymentUnitProxy(res);
  }

  /**
   * setDeploymentUnit. 
   *
   * @param     rhs An reference to a IRoseDeploymentUnit)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setDeploymentUnit  (
              rose.IRoseDeploymentUnit rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 9, rhs),};
    invoke("setDeploymentUnit", 12676, 4, parameters);
    return;
  }

  /**
   * getDefaultLanguage. 
   *
   * @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 getDefaultLanguage  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("getDefaultLanguage", 12680, 2, parameters).getBSTR();
  }

  /**
   * setDefaultLanguage. 
   *
   * @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 setDefaultLanguage  (
              String rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 8, rhs),};
    invoke("setDefaultLanguage", 12680, 4, parameters);
    return;
  }

  /**
   * getNotation. 
   *
   * @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 getNotation  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("getNotation", 12691, 2, parameters).getI2();
  }

  /**
   * setNotation. 
   *
   * @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 setNotation  (
              short rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 2, rhs),};
    invoke("setNotation", 12691, 4, parameters);
    return;
  }

  /**
   * getStateMachineOwner. 
   *
   * @return    return value.  An reference to a IRoseStateMachineOwner
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseStateMachineOwner getStateMachineOwner  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getStateMachineOwner", 12790, 2, parameters).getDISPATCH();
    return res == null ? null : new IRoseStateMachineOwnerProxy(res);
  }

  /**
   * setStateMachineOwner. 
   *
   * @param     rhs An reference to a IRoseStateMachineOwner)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setStateMachineOwner  (
              rose.IRoseStateMachineOwner rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 9, rhs),};
    invoke("setStateMachineOwner", 12790, 4, parameters);
    return;
  }

  /**
   * getUniqueID. 
   *
   * @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 getUniqueID  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("getUniqueID", 102, 1, parameters).getBSTR();
  }

  /**
   * getCurrentPropertySetName. 
   *
   * @param     ToolName The ToolName (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 getCurrentPropertySetName  (
              String ToolName) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("ToolName", 8, ToolName),};
    return invoke("getCurrentPropertySetName", 109, 1, parameters).getBSTR();
  }

  /**
   * overrideProperty. 
   *
   * @param     theToolName The theToolName (in)
   * @param     thePropName The thePropName (in)
   * @param     theValue The theValue (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 overrideProperty  (
              String theToolName,
              String thePropName,
              String theValue) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("theToolName", 8, theToolName),
                                         new Variant("thePropName", 8, thePropName),
                                         new Variant("theValue", 8, theValue),};
    return invoke("overrideProperty", 110, 1, parameters).getBOOL();
  }

  /**
   * inheritProperty. 
   *
   * @param     theToolName The theToolName (in)
   * @param     thePropName The thePropName (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 inheritProperty  (
              String theToolName,
              String thePropName) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("theToolName", 8, theToolName),
                                         new Variant("thePropName", 8, thePropName),};
    return invoke("inheritProperty", 111, 1, parameters).getBOOL();
  }

  /**
   * getPropertyValue. 
   *
   * @param     theToolName The theToolName (in)
   * @param     thePropName The thePropName (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 getPropertyValue  (
              String theToolName,
              String thePropName) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("theToolName", 8, theToolName),
                                         new Variant("thePropName", 8, thePropName),};
    return invoke("getPropertyValue", 119, 1, parameters).getBSTR();
  }

  /**
   * getDefaultPropertyValue. 
   *
   * @param     theToolName The theToolName (in)
   * @param     thePropName The thePropName (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 getDefaultPropertyValue  (
              String theToolName,
              String thePropName) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("theToolName", 8, theToolName),
                                         new Variant("thePropName", 8, thePropName),};
    return invoke("getDefaultPropertyValue", 120, 1, parameters).getBSTR();
  }

  /**
   * findProperty. 
   *
   * @param     theToolName The theToolName (in)
   * @param     thePropName The thePropName (in)
   * @return    return value.  An reference to a IRoseProperty
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseProperty findProperty  (
              String theToolName,
              String thePropName) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("theToolName", 8, theToolName),
                                         new Variant("thePropName", 8, thePropName),};
    Object res = invoke("findProperty", 121, 1, parameters).getDISPATCH();
    return res == null ? null : new IRosePropertyProxy(res);
  }

  /**
   * getAllProperties. 
   *
   * @return    return value.  An reference to a IRosePropertyCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRosePropertyCollection getAllProperties  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getAllProperties", 122, 1, parameters).getDISPATCH();
    return res == null ? null : new IRosePropertyCollectionProxy(res);
  }

  /**
   * getToolProperties. 
   *
   * @param     theToolName The theToolName (in)
   * @return    return value.  An reference to a IRosePropertyCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRosePropertyCollection getToolProperties  (
              String theToolName) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("theToolName", 8, theToolName),};
    Object res = invoke("getToolProperties", 123, 1, parameters).getDISPATCH();
    return res == null ? null : new IRosePropertyCollectionProxy(res);
  }

  /**
   * isOverriddenProperty. 
   *
   * @param     theToolName The theToolName (in)
   * @param     thePropName The thePropName (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 isOverriddenProperty  (
              String theToolName,
              String thePropName) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("theToolName", 8, theToolName),
                                         new Variant("thePropName", 8, thePropName),};
    return invoke("isOverriddenProperty", 124, 1, parameters).getBOOL();
  }

  /**
   * isDefaultProperty. 
   *
   * @param     theToolName The theToolName (in)
   * @param     thePropName The thePropName (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 isDefaultProperty  (
              String theToolName,
              String thePropName) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("theToolName", 8, theToolName),
                                         new Variant("thePropName", 8, thePropName),};
    return invoke("isDefaultProperty", 125, 1, parameters).getBOOL();
  }

  /**
   * findDefaultProperty. 
   *
   * @param     theToolName The theToolName (in)
   * @param     thePropName The thePropName (in)
   * @return    return value.  An reference to a IRoseProperty
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseProperty findDefaultProperty  (
              String theToolName,
              String thePropName) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("theToolName", 8, theToolName),
                                         new Variant("thePropName", 8, thePropName),};
    Object res = invoke("findDefaultProperty", 126, 1, parameters).getDISPATCH();
    return res == null ? null : new IRosePropertyProxy(res);
  }

  /**
   * createProperty. 
   *
   * @param     theToolName The theToolName (in)
   * @param     thePropName The thePropName (in)
   * @param     theValue The theValue (in)
   * @param     theType The theType (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 createProperty  (
              String theToolName,
              String thePropName,
              String theValue,
              String theType) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("theToolName", 8, theToolName),
                                         new Variant("thePropName", 8, thePropName),
                                         new Variant("theValue", 8, theValue),
                                         new Variant("theType", 8, theType),};
    return invoke("createProperty", 127, 1, parameters).getBOOL();
  }

  /**
   * getPropertyClassName. 
   *
   * @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 getPropertyClassName  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("getPropertyClassName", 128, 1, parameters).getBSTR();
  }

  /**
   * getDefaultSetNames. 
   *
   * @param     ToolName The ToolName (in)
   * @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 getDefaultSetNames  (
              String ToolName) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("ToolName", 8, ToolName),};
    Object res = invoke("getDefaultSetNames", 129, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseStringCollectionProxy(res);
  }

  /**
   * getToolNames. 
   *
   * @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 getToolNames  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getToolNames", 130, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseStringCollectionProxy(res);
  }

  /**
   * setCurrentPropertySetName. 
   *
   * @param     ToolName The ToolName (in)
   * @param     SetName The SetName (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 setCurrentPropertySetName  (
              String ToolName,
              String SetName) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("ToolName", 8, ToolName),
                                         new Variant("SetName", 8, SetName),};
    return invoke("setCurrentPropertySetName", 131, 1, parameters).getBOOL();
  }

  /**
   * getRoseItem. 
   *
   * @return    return value.  An reference to a IRoseItem
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseItem getRoseItem  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getRoseItem", 207, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseItemProxy(res);
  }

  /**
   * addExternalDocument. 
   *
   * @param     szName The szName (in)
   * @param     iType The iType (in)
   * @return    return value.  An reference to a IRoseExternalDocument
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseExternalDocument addExternalDocument  (
              String szName,
              short iType) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("szName", 8, szName),
                                         new Variant("iType", 2, iType),};
    Object res = invoke("addExternalDocument", 214, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseExternalDocumentProxy(res);
  }

  /**
   * deleteExternalDocument. 
   *
   * @param     pIDispatch 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 deleteExternalDocument  (
              rose.IRoseExternalDocument pIDispatch) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("pIDispatch", 9, pIDispatch),};
    return invoke("deleteExternalDocument", 215, 1, parameters).getBOOL();
  }

  /**
   * openSpecification. 
   *
   * @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 openSpecification  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("openSpecification", 216, 1, parameters).getBOOL();
  }

  /**
   * getAllAssociations. 
   *
   * @return    return value.  An reference to a IRoseAssociationCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseAssociationCollection getAllAssociations  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getAllAssociations", 412, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseAssociationCollectionProxy(res);
  }

  /**
   * addProcessor. 
   *
   * @param     pName The pName (in)
   * @return    return value.  An reference to a IRoseProcessor
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseProcessor addProcessor  (
              String pName) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("pName", 8, pName),};
    Object res = invoke("addProcessor", 424, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseProcessorProxy(res);
  }

  /**
   * deleteProcessor. 
   *
   * @param     pProcessor An reference to a IRoseProcessor (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 deleteProcessor  (
              rose.IRoseProcessor pProcessor) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("pProcessor", 9, pProcessor),};
    return invoke("deleteProcessor", 425, 1, parameters).getBOOL();
  }

  /**
   * addDevice. 
   *
   * @param     pName The pName (in)
   * @return    return value.  An reference to a IRoseDevice
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseDevice addDevice  (
              String pName) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("pName", 8, pName),};
    Object res = invoke("addDevice", 426, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseDeviceProxy(res);
  }

  /**
   * deleteDevice. 
   *
   * @param     pDevice An reference to a IRoseDevice (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 deleteDevice  (
              rose.IRoseDevice pDevice) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("pDevice", 9, pDevice),};
    return invoke("deleteDevice", 427, 1, parameters).getBOOL();
  }

  /**
   * getSelectedClasses. 
   *
   * @return    return value.  An reference to a IRoseClassCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseClassCollection getSelectedClasses  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getSelectedClasses", 428, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseClassCollectionProxy(res);
  }

  /**
   * getSelectedCategories. 
   *
   * @return    return value.  An reference to a IRoseCategoryCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseCategoryCollection getSelectedCategories  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getSelectedCategories", 429, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseCategoryCollectionProxy(res);
  }

  /**
   * getSelectedModules. 
   *
   * @return    return value.  An reference to a IRoseModuleCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseModuleCollection getSelectedModules  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getSelectedModules", 430, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseModuleCollectionProxy(res);
  }

  /**
   * getSelectedSubsystems. 
   *
   * @return    return value.  An reference to a IRoseSubsystemCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseSubsystemCollection getSelectedSubsystems  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getSelectedSubsystems", 431, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseSubsystemCollectionProxy(res);
  }

  /**
   * getAllClasses. 
   *
   * @return    return value.  An reference to a IRoseClassCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseClassCollection getAllClasses  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getAllClasses", 432, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseClassCollectionProxy(res);
  }

  /**
   * getAllCategories. 
   *
   * @return    return value.  An reference to a IRoseCategoryCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseCategoryCollection getAllCategories  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getAllCategories", 433, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseCategoryCollectionProxy(res);
  }

  /**
   * getAllModules. 
   *
   * @return    return value.  An reference to a IRoseModuleCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseModuleCollection getAllModules  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getAllModules", 434, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseModuleCollectionProxy(res);
  }

  /**
   * getAllSubsystems. 
   *
   * @return    return value.  An reference to a IRoseSubsystemCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseSubsystemCollection getAllSubsystems  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getAllSubsystems", 435, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseSubsystemCollectionProxy(res);
  }

  /**
   * getAllProcessors. 
   *
   * @return    return value.  An reference to a IRoseProcessorCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseProcessorCollection getAllProcessors  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getAllProcessors", 436, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseProcessorCollectionProxy(res);
  }

  /**
   * getAllDevices. 
   *
   * @return    return value.  An reference to a IRoseDeviceCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseDeviceCollection getAllDevices  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getAllDevices", 437, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseDeviceCollectionProxy(res);
  }

  /**
   * getSelectedUseCases. 
   *
   * @return    return value.  An reference to a IRoseUseCaseCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseUseCaseCollection getSelectedUseCases  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getSelectedUseCases", 438, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseUseCaseCollectionProxy(res);
  }

  /**
   * getAllUseCases. 
   *
   * @return    return value.  An reference to a IRoseUseCaseCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseUseCaseCollection getAllUseCases  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getAllUseCases", 439, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseUseCaseCollectionProxy(res);
  }

  /**
   * isRootPackage. 
   *
   * @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 isRootPackage  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("isRootPackage", 621, 1, parameters).getBOOL();
  }

  /**
   * isControlled. 
   *
   * @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 isControlled  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("isControlled", 12433, 1, parameters).getBOOL();
  }

  /**
   * control. 
   *
   * @param     Path The Path (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 control  (
              String Path) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("Path", 8, Path),};
    return invoke("control", 12434, 1, parameters).getBOOL();
  }

  /**
   * isLoaded. 
   *
   * @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 isLoaded  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("isLoaded", 12435, 1, parameters).getBOOL();
  }

  /**
   * load. 
   *
   * @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 load  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("load", 12436, 1, parameters).getBOOL();
  }

  /**
   * isModifiable. 
   *
   * @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 isModifiable  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("isModifiable", 12438, 1, parameters).getBOOL();
  }

  /**
   * unload. 
   *
   * @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 unload  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("unload", 12439, 1, parameters).getBOOL();
  }

  /**
   * modifiable. 
   *
   * @param     Modifiable The Modifiable (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 modifiable  (
              boolean Modifiable) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("Modifiable", 11, Modifiable),};
    return invoke("modifiable", 12440, 1, parameters).getBOOL();
  }

  /**
   * getFileName. 
   *
   * @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 getFileName  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("getFileName", 12441, 1, parameters).getBSTR();
  }

  /**
   * save. 
   *
   * @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 save  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("save", 12442, 1, parameters).getBOOL();
  }

  /**
   * saveAs. 
   *
   * @param     Path The Path (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 saveAs  (
              String Path) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("Path", 8, Path),};
    return invoke("saveAs", 12443, 1, parameters).getBOOL();
  }

  /**
   * findItems. 
   *
   * @param     ItemName The ItemName (in)
   * @return    return value.  An reference to a IRoseItemCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseItemCollection findItems  (
              String ItemName) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("ItemName", 8, ItemName),};
    Object res = invoke("findItems", 12472, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseItemCollectionProxy(res);
  }

  /**
   * findItemWithID. 
   *
   * @param     UniqueID The UniqueID (in)
   * @return    return value.  An reference to a IRoseItem
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseItem findItemWithID  (
              String UniqueID) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("UniqueID", 8, UniqueID),};
    Object res = invoke("findItemWithID", 12473, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseItemProxy(res);
  }

  /**
   * findClasses. 
   *
   * @param     ClassName The ClassName (in)
   * @return    return value.  An reference to a IRoseClassCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseClassCollection findClasses  (
              String ClassName) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("ClassName", 8, ClassName),};
    Object res = invoke("findClasses", 12474, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseClassCollectionProxy(res);
  }

  /**
   * findClassWithID. 
   *
   * @param     UniqueID The UniqueID (in)
   * @return    return value.  An reference to a IRoseClass
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseClass findClassWithID  (
              String UniqueID) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("UniqueID", 8, UniqueID),};
    Object res = invoke("findClassWithID", 12475, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseClassProxy(res);
  }

  /**
   * findCategories. 
   *
   * @param     CategoryName The CategoryName (in)
   * @return    return value.  An reference to a IRoseCategoryCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseCategoryCollection findCategories  (
              String CategoryName) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("CategoryName", 8, CategoryName),};
    Object res = invoke("findCategories", 12476, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseCategoryCollectionProxy(res);
  }

  /**
   * findCategoryWithID. 
   *
   * @param     UniqueID The UniqueID (in)
   * @return    return value.  An reference to a IRoseCategory
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseCategory findCategoryWithID  (
              String UniqueID) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("UniqueID", 8, UniqueID),};
    Object res = invoke("findCategoryWithID", 12477, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseCategoryProxy(res);
  }

  /**
   * getActiveDiagram. 
   *
   * @return    return value.  An reference to a IRoseDiagram
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseDiagram getActiveDiagram  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getActiveDiagram", 12527, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseDiagramProxy(res);
  }

  /**
   * getQualifiedName. 
   *
   * @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 getQualifiedName  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("getQualifiedName", 12555, 1, parameters).getBSTR();
  }

  /**
   * isModified. 
   *
   * @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 isModified  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("isModified", 12654, 1, parameters).getBOOL();
  }

  /**
   * uncontrol. 
   *
   * @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 uncontrol  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("uncontrol", 12655, 1, parameters).getBOOL();
  }

  /**
   * identifyClass. 
   *
   * @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 identifyClass  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("identifyClass", 12668, 1, parameters).getBSTR();
  }

  /**
   * isClass. 
   *
   * @param     theClassName The theClassName (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 isClass  (
              String theClassName) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("theClassName", 8, theClassName),};
    return invoke("isClass", 12669, 1, parameters).getBOOL();
  }

  /**
   * getSelectedItems. 
   *
   * @return    return value.  An reference to a IRoseItemCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseItemCollection getSelectedItems  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getSelectedItems", 12681, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseItemCollectionProxy(res);
  }

  /**
   * refresh. 
   *
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void refresh  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    invoke("refresh", 12701, 1, parameters);
    return;
  }

  /**
   * getSubUnitItems. 
   *
   * @return    return value.  An reference to a IRoseControllableUnitCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseControllableUnitCollection getSubUnitItems  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getSubUnitItems", 12702, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseControllableUnitCollectionProxy(res);
  }

  /**
   * isLocked. 
   *
   * @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 isLocked  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("isLocked", 12703, 1, parameters).getBOOL();
  }

  /**
   * needsRefreshing. 
   *
   * @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 needsRefreshing  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("needsRefreshing", 12704, 1, parameters).getBOOL();
  }

  /**
   * getAllSubUnitItems. 
   *
   * @return    return value.  An reference to a IRoseControllableUnitCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseControllableUnitCollection getAllSubUnitItems  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getAllSubUnitItems", 12707, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseControllableUnitCollectionProxy(res);
  }

  /**
   * lock. 
   *
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void lock  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    invoke("lock", 12708, 1, parameters);
    return;
  }

  /**
   * unlock. 
   *
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void unlock  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    invoke("unlock", 12709, 1, parameters);
    return;
  }

  /**
   * resolveReferences. 
   *
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void resolveReferences  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    invoke("resolveReferences", 12710, 1, parameters);
    return;
  }

  /**
   * openCustomSpecification. 
   *
   * @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 openCustomSpecification  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("openCustomSpecification", 12728, 1, parameters).getBOOL();
  }

  /**
   * getSelectedExternalDocuments. 
   *
   * @return    return value.  An reference to a IRoseExternalDocumentCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseExternalDocumentCollection getSelectedExternalDocuments  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getSelectedExternalDocuments", 12788, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseExternalDocumentCollectionProxy(res);
  }

  /**
   * findDiagramWithID. 
   *
   * @param     UniqueID The UniqueID (in)
   * @return    return value.  An reference to a IRoseDiagram
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseDiagram findDiagramWithID  (
              String UniqueID) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("UniqueID", 8, UniqueID),};
    Object res = invoke("findDiagramWithID", 12817, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseDiagramProxy(res);
  }

  /**
   * renderIconToClipboard. 
   *
   * @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 renderIconToClipboard  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("renderIconToClipboard", 12820, 1, parameters).getBOOL();
  }

  /**
   * getIconIndex. 
   *
   * @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 getIconIndex  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("getIconIndex", 12824, 1, parameters).getI2();
  }

  /**
   * loadControlledUnits. 
   *
   * @param     theControlledUnits An reference to a IRoseControllableUnitCollection (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 loadControlledUnits  (
              rose.IRoseControllableUnitCollection theControlledUnits) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("theControlledUnits", 9, theControlledUnits),};
    return invoke("loadControlledUnits", 12828, 1, parameters).getBOOL();
  }

  /**
   * getSelectedDiagrams. 
   *
   * @return    return value.  An reference to a IRoseDiagramCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseDiagramCollection getSelectedDiagrams  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getSelectedDiagrams", 12831, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseDiagramCollectionProxy(res);
  }

  /**
   * zz_import. 
   *
   * @param     theName The theName (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 zz_import  (
              String theName) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("theName", 8, theName),};
    return invoke("zz_import", 12835, 1, parameters).getBOOL();
  }

  /**
   * getAllClassesEx. 
   *
   * @param     Recursive The Recursive (in)
   * @param     Nested The Nested (in)
   * @return    return value.  An reference to a IRoseClassCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseClassCollection getAllClassesEx  (
              boolean Recursive,
              boolean Nested) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("Recursive", 11, Recursive),
                                         new Variant("Nested", 11, Nested),};
    Object res = invoke("getAllClassesEx", 12858, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseClassCollectionProxy(res);
  }

  /**
   * getContext. 
   *
   * @return    return value.  An reference to a IRoseItem
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseItem getContext  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getContext", 12872, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseItemProxy(res);
  }

  /** Dummy reference from interface to proxy to make sure proxy gets compiled */
  static final int xxDummy = 0;
}
