package rose;

/**
 * COM Interface 'IRoseStateMachine'. Generated 30/01/2002 3:46:11 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 IRoseStateMachine {
  /**
   * 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;

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

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

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

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

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

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

  /**
   * setExternalDocuments. 
   *
   * @param     rhs An reference to a IRoseExternalDocumentCollection)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setExternalDocuments  (
              rose.IRoseExternalDocumentCollection rhs) throws java.io.IOException, com.linar.jintegra.AutomationException;

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

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

  /**
   * getStates. 
   *
   * @return    return value.  An reference to a IRoseStateCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseStateCollection getStates  () throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * setStates. 
   *
   * @param     rhs An reference to a IRoseStateCollection)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setStates  (
              rose.IRoseStateCollection rhs) throws java.io.IOException, com.linar.jintegra.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;

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

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

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

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

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

  /**
   * getSwimLanes. 
   *
   * @return    return value.  An reference to a IRoseSwimLaneCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseSwimLaneCollection getSwimLanes  () throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * setSwimLanes. 
   *
   * @param     rhs An reference to a IRoseSwimLaneCollection)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setSwimLanes  (
              rose.IRoseSwimLaneCollection rhs) throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * getActivities. 
   *
   * @return    return value.  An reference to a IRoseActivityCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseActivityCollection getActivities  () throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * setActivities. 
   *
   * @param     rhs An reference to a IRoseActivityCollection)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setActivities  (
              rose.IRoseActivityCollection rhs) throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * getAbstractStates. 
   *
   * @return    return value.  An reference to a IRoseAbstractStateCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseAbstractStateCollection getAbstractStates  () throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * setAbstractStates. 
   *
   * @param     rhs An reference to a IRoseAbstractStateCollection)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setAbstractStates  (
              rose.IRoseAbstractStateCollection rhs) throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * getDecisions. 
   *
   * @return    return value.  An reference to a IRoseDecisionCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseDecisionCollection getDecisions  () throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * setDecisions. 
   *
   * @param     rhs An reference to a IRoseDecisionCollection)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setDecisions  (
              rose.IRoseDecisionCollection rhs) throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * getStateVertices. 
   *
   * @return    return value.  An reference to a IRoseStateVertexCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseStateVertexCollection getStateVertices  () throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * setStateVertices. 
   *
   * @param     rhs An reference to a IRoseStateVertexCollection)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setStateVertices  (
              rose.IRoseStateVertexCollection rhs) throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * getDiagrams. 
   *
   * @return    return value.  An reference to a IRoseStateDiagramCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseStateDiagramCollection getDiagrams  () throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * setDiagrams. 
   *
   * @param     rhs An reference to a IRoseStateDiagramCollection)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setDiagrams  (
              rose.IRoseStateDiagramCollection rhs) throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * getSynchronizations. 
   *
   * @return    return value.  An reference to a IRoseSyncItemCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseSyncItemCollection getSynchronizations  () throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * setSynchronizations. 
   *
   * @param     rhs An reference to a IRoseSyncItemCollection)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setSynchronizations  (
              rose.IRoseSyncItemCollection rhs) throws java.io.IOException, com.linar.jintegra.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;

  /**
   * setStateMachineOwner. 
   *
   * @param     rhs An reference to a IRoseStateMachineOwner)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setStateMachineOwner  (
              rose.IRoseStateMachineOwner rhs) throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * getObjectInstances. 
   *
   * @return    return value.  An reference to a IRoseObjectInstanceCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseObjectInstanceCollection getObjectInstances  () throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * setObjectInstances. 
   *
   * @param     rhs An reference to a IRoseObjectInstanceCollection)
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public void setObjectInstances  (
              rose.IRoseObjectInstanceCollection rhs) throws java.io.IOException, com.linar.jintegra.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;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  /**
   * deleteState. 
   *
   * @param     State An reference to a IRoseState (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 deleteState  (
              rose.IRoseState State) throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * relocateState. 
   *
   * @param     State An reference to a IRoseState (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 relocateState  (
              rose.IRoseState State) throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * getAllStates. 
   *
   * @return    return value.  An reference to a IRoseStateCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseStateCollection getAllStates  () throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * getAllTransitions. 
   *
   * @return    return value.  An reference to a IRoseTransitionCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseTransitionCollection getAllTransitions  () throws java.io.IOException, com.linar.jintegra.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;

  /**
   * getTransitions. 
   *
   * @return    return value.  An reference to a IRoseTransitionCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseTransitionCollection getTransitions  () 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;

  /**
   * getAllActivities. 
   *
   * @return    return value.  An reference to a IRoseActivityCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseActivityCollection getAllActivities  () throws java.io.IOException, com.linar.jintegra.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;

  /**
   * getAllAbstractStates. 
   *
   * @return    return value.  An reference to a IRoseAbstractStateCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseAbstractStateCollection getAllAbstractStates  () throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * getAllDecisions. 
   *
   * @return    return value.  An reference to a IRoseDecisionCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseDecisionCollection getAllDecisions  () throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * getAllStateVertices. 
   *
   * @return    return value.  An reference to a IRoseStateVertexCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseStateVertexCollection getAllStateVertices  () throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * addActivity. 
   *
   * @param     theName The theName (in)
   * @return    return value.  An reference to a IRoseActivity
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseActivity addActivity  (
              String theName) throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * addDecision. 
   *
   * @param     theName The theName (in)
   * @return    return value.  An reference to a IRoseDecision
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseDecision addDecision  (
              String theName) throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * getAllDiagrams. 
   *
   * @return    return value.  An reference to a IRoseStateDiagramCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseStateDiagramCollection getAllDiagrams  () throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * addSwimLane. 
   *
   * @param     theName The theName (in)
   * @return    return value.  An reference to a IRoseSwimLane
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseSwimLane addSwimLane  (
              String theName) throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * deleteSwimLane. 
   *
   * @param     aSwimLane An reference to a IRoseSwimLane (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 deleteSwimLane  (
              rose.IRoseSwimLane aSwimLane) throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * deleteStateVertex. 
   *
   * @param     aStateVertex An reference to a IRoseStateVertex (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 deleteStateVertex  (
              rose.IRoseStateVertex aStateVertex) throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * getAllSynchronizations. 
   *
   * @return    return value.  An reference to a IRoseSyncItemCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseSyncItemCollection getAllSynchronizations  () throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * addSynchronization. 
   *
   * @param     aName The aName (in)
   * @return    return value.  An reference to a IRoseSyncItem
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseSyncItem addSynchronization  (
              String aName) throws java.io.IOException, com.linar.jintegra.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  (
              rose.IRoseExternalDocument pIDispatch) throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * addStateChartDiagram. 
   *
   * @param     theName The theName (in)
   * @return    return value.  An reference to a IRoseStateDiagram
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseStateDiagram addStateChartDiagram  (
              String theName) throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * addActivityDiagram. 
   *
   * @param     theName The theName (in)
   * @return    return value.  An reference to a IRoseStateDiagram
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseStateDiagram addActivityDiagram  (
              String theName) 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;

  /**
   * getAllObjectInstances. 
   *
   * @return    return value.  An reference to a IRoseObjectInstanceCollection
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseObjectInstanceCollection getAllObjectInstances  () throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * deleteObjectInstance. 
   *
   * @param     theObjectInstance An reference to a IRoseObjectInstance (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 deleteObjectInstance  (
              rose.IRoseObjectInstance theObjectInstance) throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * addObjectInstance. 
   *
   * @param     theName The theName (in)
   * @return    return value.  An reference to a IRoseObjectInstance
   * @exception java.io.IOException If there are communications problems.
   * @exception com.linar.jintegra.AutomationException If the remote server throws an exception.
   */
  public IRoseObjectInstance addObjectInstance  (
              String theName) throws java.io.IOException, com.linar.jintegra.AutomationException;

  /**
   * deleteStateDiagram. 
   *
   * @param     theDiagram An reference to a IRoseStateDiagram (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 deleteStateDiagram  (
              rose.IRoseStateDiagram theDiagram) 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 IIDa69cab21_9179_11d0_a214_00a024fffe40 = 1;
  /** Dummy reference to interface proxy to make sure it gets compiled */
  int xxDummy = IRoseStateMachineProxy.xxDummy;
  /** Used internally by J-Integra, please ignore */
  String IID = "00020400-0000-0000-C000-000000000046";
  String DISPID_100_GET_NAME = "getName";
  String DISPID_100_PUT_NAME = "setName";
  String DISPID_203_GET_NAME = "getDocumentation";
  String DISPID_203_PUT_NAME = "setDocumentation";
  String DISPID_212_GET_NAME = "getStereotype";
  String DISPID_212_PUT_NAME = "setStereotype";
  String DISPID_213_GET_NAME = "getExternalDocuments";
  String DISPID_213_PUT_NAME = "setExternalDocuments";
  String DISPID_215_GET_NAME = "getParentClass";
  String DISPID_215_PUT_NAME = "setParentClass";
  String DISPID_222_GET_NAME = "getStates";
  String DISPID_222_PUT_NAME = "setStates";
  String DISPID_12523_GET_NAME = "getApplication";
  String DISPID_12523_PUT_NAME = "setApplication";
  String DISPID_12524_GET_NAME = "getModel";
  String DISPID_12524_PUT_NAME = "setModel";
  String DISPID_12554_GET_NAME = "getLocalizedStereotype";
  String DISPID_12554_PUT_NAME = "setLocalizedStereotype";
  String DISPID_12729_GET_NAME = "getSwimLanes";
  String DISPID_12729_PUT_NAME = "setSwimLanes";
  String DISPID_12730_GET_NAME = "getActivities";
  String DISPID_12730_PUT_NAME = "setActivities";
  String DISPID_12731_GET_NAME = "getAbstractStates";
  String DISPID_12731_PUT_NAME = "setAbstractStates";
  String DISPID_12732_GET_NAME = "getDecisions";
  String DISPID_12732_PUT_NAME = "setDecisions";
  String DISPID_12733_GET_NAME = "getStateVertices";
  String DISPID_12733_PUT_NAME = "setStateVertices";
  String DISPID_12734_GET_NAME = "getDiagrams";
  String DISPID_12734_PUT_NAME = "setDiagrams";
  String DISPID_12778_GET_NAME = "getSynchronizations";
  String DISPID_12778_PUT_NAME = "setSynchronizations";
  String DISPID_12790_GET_NAME = "getStateMachineOwner";
  String DISPID_12790_PUT_NAME = "setStateMachineOwner";
  String DISPID_12849_GET_NAME = "getObjectInstances";
  String DISPID_12849_PUT_NAME = "setObjectInstances";
  String DISPID_102_NAME = "getUniqueID";
  String DISPID_109_NAME = "getCurrentPropertySetName";
  String DISPID_110_NAME = "overrideProperty";
  String DISPID_111_NAME = "inheritProperty";
  String DISPID_119_NAME = "getPropertyValue";
  String DISPID_120_NAME = "getDefaultPropertyValue";
  String DISPID_121_NAME = "findProperty";
  String DISPID_122_NAME = "getAllProperties";
  String DISPID_123_NAME = "getToolProperties";
  String DISPID_124_NAME = "isOverriddenProperty";
  String DISPID_125_NAME = "isDefaultProperty";
  String DISPID_126_NAME = "findDefaultProperty";
  String DISPID_127_NAME = "createProperty";
  String DISPID_128_NAME = "getPropertyClassName";
  String DISPID_129_NAME = "getDefaultSetNames";
  String DISPID_130_NAME = "getToolNames";
  String DISPID_131_NAME = "setCurrentPropertySetName";
  String DISPID_211_NAME = "openSpecification";
  String DISPID_214_NAME = "addExternalDocument";
  String DISPID_217_NAME = "addState";
  String DISPID_218_NAME = "deleteState";
  String DISPID_219_NAME = "relocateState";
  String DISPID_220_NAME = "getAllStates";
  String DISPID_221_NAME = "getAllTransitions";
  String DISPID_12555_NAME = "getQualifiedName";
  String DISPID_12665_NAME = "getTransitions";
  String DISPID_12668_NAME = "identifyClass";
  String DISPID_12669_NAME = "isClass";
  String DISPID_12711_NAME = "getAllActivities";
  String DISPID_12728_NAME = "openCustomSpecification";
  String DISPID_12735_NAME = "getAllAbstractStates";
  String DISPID_12736_NAME = "getAllDecisions";
  String DISPID_12737_NAME = "getAllStateVertices";
  String DISPID_12738_NAME = "addActivity";
  String DISPID_12739_NAME = "addDecision";
  String DISPID_12740_NAME = "getAllDiagrams";
  String DISPID_12779_NAME = "addSwimLane";
  String DISPID_12780_NAME = "deleteSwimLane";
  String DISPID_12781_NAME = "deleteStateVertex";
  String DISPID_12782_NAME = "getAllSynchronizations";
  String DISPID_12784_NAME = "addSynchronization";
  String DISPID_12797_NAME = "deleteExternalDocument";
  String DISPID_12800_NAME = "addStateChartDiagram";
  String DISPID_12801_NAME = "addActivityDiagram";
  String DISPID_12820_NAME = "renderIconToClipboard";
  String DISPID_12824_NAME = "getIconIndex";
  String DISPID_12850_NAME = "getAllObjectInstances";
  String DISPID_12851_NAME = "deleteObjectInstance";
  String DISPID_12852_NAME = "addObjectInstance";
  String DISPID_12867_NAME = "deleteStateDiagram";
}
