package rose;

/**
 * COM Interface 'IRoseExternalDocument'. 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 interface IRoseExternalDocument {
  /**
   * getPath. 
   *
   * @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 getPath  () throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * setPath. 
   *
   * @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 setPath  (
              String rhs) throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * getURL. 
   *
   * @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 getURL  () throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * setURL. 
   *
   * @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 setURL  (
              String rhs) throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * getParentCategory. 
   *
   * @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 getParentCategory  () throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * setParentCategory. 
   *
   * @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 setParentCategory  (
              rose.IRoseCategory rhs) throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * getParentItem. 
   *
   * @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 getParentItem  () throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * setParentItem. 
   *
   * @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 setParentItem  (
              rose.IRoseItem rhs) throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * 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;

  /**
   * 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;

  /**
   * isURL. 
   *
   * @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 isURL  () throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * open. 
   *
   * @param     szAppPath The szAppPath (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 open  (
              String szAppPath) throws java.io.IOException, com.linar.jintegra.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;

  /**
   * 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;

  /**
   * 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;

  /**
   * 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;


  // Constants to help J-Integra dynamically map DCOM invocations to
  // interface members.  Don't worry, you will never need to explicitly use these constants.
  int IID906ff583_276b_11d0_8980_00a024774419 = 1;
  /** Dummy reference to interface proxy to make sure it gets compiled */
  int xxDummy = IRoseExternalDocumentProxy.xxDummy;
  /** Used internally by J-Integra, please ignore */
  String IID = "00020400-0000-0000-C000-000000000046";
  String DISPID_1_GET_NAME = "getPath";
  String DISPID_1_PUT_NAME = "setPath";
  String DISPID_2_GET_NAME = "getURL";
  String DISPID_2_PUT_NAME = "setURL";
  String DISPID_3_GET_NAME = "getParentCategory";
  String DISPID_3_PUT_NAME = "setParentCategory";
  String DISPID_12810_GET_NAME = "getParentItem";
  String DISPID_12810_PUT_NAME = "setParentItem";
  String DISPID_12811_GET_NAME = "getParentDiagram";
  String DISPID_12811_PUT_NAME = "setParentDiagram";
  String DISPID_4_NAME = "isURL";
  String DISPID_5_NAME = "open";
  String DISPID_12668_NAME = "identifyClass";
  String DISPID_12669_NAME = "isClass";
  String DISPID_12820_NAME = "renderIconToClipboard";
  String DISPID_12824_NAME = "getIconIndex";
}
