package rose;

import com.linar.jintegra.*;

/**
 * COM Class 'RoseObjectInstance'. Generated 31/01/2002 11:44:16 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 RoseObjectInstance implements com.linar.jintegra.RemoteObjRef, IRoseObjectInstance {

  private static final String CLSID = "4782fba1-ecd5-11d0-bff0-00aa003def5b";

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

  // Interface delagates
  private IRoseObjectInstanceProxy d_IRoseObjectInstanceProxy = null;

  /** Access this COM class's IRoseObjectInstance interface */
  public IRoseObjectInstance getAsIRoseObjectInstance() { return d_IRoseObjectInstanceProxy; }

  /** 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 RoseObjectInstance getActiveObject() throws com.linar.jintegra.AutomationException, java.io.IOException {
    return new RoseObjectInstance(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 RoseObjectInstance bindUsingMoniker(String moniker) throws com.linar.jintegra.AutomationException, java.io.IOException {
    return new RoseObjectInstance(com.linar.jintegra.Dispatch.bindUsingMoniker(moniker));
  }

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

  /**
   * Constructs a RoseObjectInstance 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 RoseObjectInstance() throws java.io.IOException, java.net.UnknownHostException {
    this("localhost", null);
  }

  /**
   * Construct a RoseObjectInstance 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 RoseObjectInstance(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 RoseObjectInstance(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 RoseObjectInstance(String host, AuthInfo authInfo) throws java.io.IOException, java.net.UnknownHostException {
    d_IRoseObjectInstanceProxy = new IRoseObjectInstanceProxy(CLSID, host, authInfo);
  }

  /**
   * Construct a RoseObjectInstance 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 RoseObjectInstance(Object obj) throws java.io.IOException {
    d_IRoseObjectInstanceProxy = new IRoseObjectInstanceProxy(obj);
  }

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

  /**
   * 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_IRoseObjectInstanceProxy.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_IRoseObjectInstanceProxy.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_IRoseObjectInstanceProxy.invokeMethodByName(name, parameters);
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.getName();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      d_IRoseObjectInstanceProxy.setName(rhs);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.getDocumentation();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      d_IRoseObjectInstanceProxy.setDocumentation(rhs);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.getStereotype();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      d_IRoseObjectInstanceProxy.setStereotype(rhs);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.getExternalDocuments();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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  (
              IRoseExternalDocumentCollection rhs) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseObjectInstanceProxy.setExternalDocuments(rhs);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * getClassName. 
   *
   * @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 getClassName  () throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseObjectInstanceProxy.getClassName();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * setClassName. 
   *
   * @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 setClassName  (
              String rhs) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseObjectInstanceProxy.setClassName(rhs);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * getMultipleInstances. 
   *
   * @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 getMultipleInstances  () throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseObjectInstanceProxy.getMultipleInstances();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * setMultipleInstances. 
   *
   * @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 setMultipleInstances  (
              boolean rhs) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseObjectInstanceProxy.setMultipleInstances(rhs);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

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

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

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.getApplication();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      d_IRoseObjectInstanceProxy.setApplication(rhs);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.getModel();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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  (
              IRoseModel rhs) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseObjectInstanceProxy.setModel(rhs);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.getLocalizedStereotype();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      d_IRoseObjectInstanceProxy.setLocalizedStereotype(rhs);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * getPersistence. 
   *
   * @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 getPersistence  () throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseObjectInstanceProxy.getPersistence();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * setPersistence. 
   *
   * @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 setPersistence  (
              short rhs) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseObjectInstanceProxy.setPersistence(rhs);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.getStateMachineOwner();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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  (
              IRoseStateMachineOwner rhs) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      d_IRoseObjectInstanceProxy.setStateMachineOwner(rhs);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.getUniqueID();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.getCurrentPropertySetName(toolName);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.overrideProperty(theToolName,thePropName,theValue);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.inheritProperty(theToolName,thePropName);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.getPropertyValue(theToolName,thePropName);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.getDefaultPropertyValue(theToolName,thePropName);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.findProperty(theToolName,thePropName);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.getAllProperties();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.getToolProperties(theToolName);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.isOverriddenProperty(theToolName,thePropName);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.isDefaultProperty(theToolName,thePropName);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.findDefaultProperty(theToolName,thePropName);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.createProperty(theToolName,thePropName,theValue,theType);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.getPropertyClassName();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.getDefaultSetNames(toolName);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.getToolNames();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.setCurrentPropertySetName(toolName,setName);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.getRoseItem();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.addExternalDocument(szName,iType);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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  (
              IRoseExternalDocument pIDispatch) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseObjectInstanceProxy.deleteExternalDocument(pIDispatch);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.openSpecification();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * isClass. 
   *
   * @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  () throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseObjectInstanceProxy.isClass();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * zz_getClass. 
   *
   * @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 zz_getClass  () throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseObjectInstanceProxy.zz_getClass();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

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

  /**
   * deleteLink. 
   *
   * @param     aLink An reference to a IRoseLink (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 deleteLink  (
              IRoseLink aLink) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseObjectInstanceProxy.deleteLink(aLink);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.getQualifiedName();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.identifyClass();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.openCustomSpecification();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.renderIconToClipboard();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.getIconIndex();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

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

  /**
   * deleteObjectFlow. 
   *
   * @param     theObjectFlow An reference to a IRoseObjectFlow (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 deleteObjectFlow  (
              IRoseObjectFlow theObjectFlow) throws java.io.IOException, com.linar.jintegra.AutomationException {
    try {
      return d_IRoseObjectInstanceProxy.deleteObjectFlow(theObjectFlow);
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

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

  /**
   * 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 {
    try {
      return d_IRoseObjectInstanceProxy.getContext();
    } catch(com.linar.jintegra.AutomationException automationException) {
      automationException.fillInStackTrace();
      throw automationException;
    }
  }

}
