package rose;

import com.linar.jintegra.*;
/**
 * Proxy for COM Interface 'IRoseStateView'. Generated 30/01/2002 3:46:10 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 IRoseStateViewProxy extends com.linar.jintegra.Dispatch implements IRoseStateView {

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

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

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

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

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

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

  protected IRoseStateViewProxy(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;
  }

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

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

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

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

  /**
   * getHeight. 
   *
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public short getHeight  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("getHeight", 204, 2, parameters).getI2();
  }

  /**
   * setHeight. 
   *
   * @param     rhs The rhs)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setHeight  (
              short rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 2, rhs),};
    invoke("setHeight", 204, 4, parameters);
    return;
  }

  /**
   * getWidth. 
   *
   * @return    return value.  The return value
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public short getWidth  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    return invoke("getWidth", 205, 2, parameters).getI2();
  }

  /**
   * setWidth. 
   *
   * @param     rhs The rhs)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setWidth  (
              short rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 2, rhs),};
    invoke("setWidth", 205, 4, parameters);
    return;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

  /**
   * setFont. 
   *
   * @param     rhs An reference to a IRoseView_Font)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setFont  (
              rose.IRoseView_Font rhs) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("rhs", 9, rhs),};
    invoke("setFont", 12493, 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;
  }

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

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

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

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

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

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

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

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

  /**
   * setSelected. 
   *
   * @param     bSelect The bSelect (in)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setSelected  (
              boolean bSelect) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("bSelect", 11, bSelect),};
    invoke("setSelected", 213, 1, parameters);
    return;
  }

  /**
   * pointInView. 
   *
   * @param     x The x (in)
   * @param     y The y (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 pointInView  (
              short x,
              short y) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("x", 2, x),
                                         new Variant("y", 2, y),};
    return invoke("pointInView", 214, 1, parameters).getBOOL();
  }

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

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

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

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

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

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

  /**
   * getState. 
   *
   * @return    return value.  An reference to a IRoseState
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseState getState  () throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {};
    Object res = invoke("getState", 415, 1, parameters).getDISPATCH();
    return res == null ? null : new IRoseStateProxy(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();
  }

  /**
   * 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();
  }

  /**
   * 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();
  }

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

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