package rose;

/**
 * COM Interface 'IRoseAbstractState'. 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 IRoseAbstractState {
  /**
   * 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;

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

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

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

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

  /**
   * setSubStates. 
   *
   * @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 setSubStates  (
              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;

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

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

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

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

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

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

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

  /**
   * setSubSynchronizations. 
   *
   * @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 setSubSynchronizations  (
              rose.IRoseSyncItemCollection 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;

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

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

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

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

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

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

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

  /**
   * deleteAction. 
   *
   * @param     theAction An reference to a IRoseAction (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 deleteAction  (
              rose.IRoseAction theAction) 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;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


  // 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 IIDbeaed5ec_578d_11d2_92aa_004005141253 = 1;
  /** Dummy reference to interface proxy to make sure it gets compiled */
  int xxDummy = IRoseAbstractStateProxy.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_413_GET_NAME = "getParentStateMachine";
  String DISPID_413_PUT_NAME = "setParentStateMachine";
  String DISPID_422_GET_NAME = "getTransitions";
  String DISPID_422_PUT_NAME = "setTransitions";
  String DISPID_444_GET_NAME = "getSubStates";
  String DISPID_444_PUT_NAME = "setSubStates";
  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_12747_GET_NAME = "getParent";
  String DISPID_12747_PUT_NAME = "setParent";
  String DISPID_12790_GET_NAME = "getStateMachineOwner";
  String DISPID_12790_PUT_NAME = "setStateMachineOwner";
  String DISPID_12802_GET_NAME = "getSubActivities";
  String DISPID_12802_PUT_NAME = "setSubActivities";
  String DISPID_12803_GET_NAME = "getSubDecisions";
  String DISPID_12803_PUT_NAME = "setSubDecisions";
  String DISPID_12804_GET_NAME = "getSubSynchronizations";
  String DISPID_12804_PUT_NAME = "setSubSynchronizations";
  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_207_NAME = "getRoseItem";
  String DISPID_214_NAME = "addExternalDocument";
  String DISPID_215_NAME = "deleteExternalDocument";
  String DISPID_216_NAME = "openSpecification";
  String DISPID_425_NAME = "getAllSubStates";
  String DISPID_426_NAME = "addTransition";
  String DISPID_427_NAME = "deleteTransition";
  String DISPID_446_NAME = "deleteAction";
  String DISPID_12555_NAME = "getQualifiedName";
  String DISPID_12623_NAME = "getUserDefinedEvents";
  String DISPID_12625_NAME = "getEntryActions";
  String DISPID_12626_NAME = "getExitActions";
  String DISPID_12627_NAME = "getDoActions";
  String DISPID_12635_NAME = "addUserDefinedEvent";
  String DISPID_12636_NAME = "deleteUserDefinedEvent";
  String DISPID_12637_NAME = "addEntryAction";
  String DISPID_12638_NAME = "addExitAction";
  String DISPID_12639_NAME = "addDoAction";
  String DISPID_12668_NAME = "identifyClass";
  String DISPID_12669_NAME = "isClass";
  String DISPID_12728_NAME = "openCustomSpecification";
  String DISPID_12748_NAME = "getSwimLanes";
  String DISPID_12767_NAME = "getActions";
  String DISPID_12768_NAME = "getStateMachines";
  String DISPID_12774_NAME = "addStateMachine";
  String DISPID_12775_NAME = "deleteStateMachine";
  String DISPID_12805_NAME = "getAllSubActivities";
  String DISPID_12806_NAME = "getAllSubDecisions";
  String DISPID_12807_NAME = "getAllSubSynchronizations";
  String DISPID_12814_NAME = "addTransitionToVertex";
  String DISPID_12820_NAME = "renderIconToClipboard";
  String DISPID_12824_NAME = "getIconIndex";
  String DISPID_12872_NAME = "getContext";
}
