package rose;

import com.linar.jintegra.*;
/**
 * Proxy for COM Interface 'IRosePathMap'. Generated 31/01/2002 11:44:14 AM
 * from 'C:|Program Files|Rational|Rose|rationalrose.tlb'<P>
 * Generated using version 1.5 of <B>J-Integra[tm]</B> -- pure Java/COM integration technology from Intrinsyc Software Inc.
 * See  <A HREF="http://www.intrinsyc.com/">http://www.intrinsyc.com/</A><P>
 *
 * Generator Options:
 * PromptForTypeLibraries = False
 * AttemptNonDual = True
 * ClashPrefix = zz_
 * LowerCaseMemberNames = True
 * IDispatchOnly = False
 * RetryOnReject = False
 * AwtForOcxs = False
 * GenerateDeprecatedConstructors = True
 * ArraysAsObjects = False
 * DontGenerateDisp = False
 * DontRenameSameMethods = False
 * IgnoreConflictingInterfaces = True
 * MakeSerializable = True
 */
public class IRosePathMapProxy extends com.linar.jintegra.Dispatch implements IRosePathMap, java.io.Serializable {

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

  static { JIntegraInit.init(); }

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

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

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

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

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

  public IRosePathMapProxy(String CLSID, String host, boolean deferred) throws java.net.UnknownHostException, java.io.IOException{
    super(CLSID, IRosePathMap.IID, host, null);
  }

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

  /**
   * deleteEntry. 
   *
   * @param     symbol The symbol (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 deleteEntry  (
              String symbol) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("symbol", 8, symbol),};
    return invoke("deleteEntry", 50, 1, parameters).getBOOL();
  }

  /**
   * getActualPath. 
   *
   * @param     virtualPath The virtualPath (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 getActualPath  (
              String virtualPath) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("virtualPath", 8, virtualPath),};
    return invoke("getActualPath", 51, 1, parameters).getBSTR();
  }

  /**
   * getVirtualPath. 
   *
   * @param     actualPath The actualPath (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 getVirtualPath  (
              String actualPath) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("actualPath", 8, actualPath),};
    return invoke("getVirtualPath", 52, 1, parameters).getBSTR();
  }

  /**
   * hasEntry. 
   *
   * @param     symbol The symbol (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 hasEntry  (
              String symbol) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("symbol", 8, symbol),};
    return invoke("hasEntry", 53, 1, parameters).getBOOL();
  }

  /**
   * addEntry. 
   *
   * @param     symbol The symbol (in)
   * @param     path The path (in)
   * @param     comment The comment (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 addEntry  (
              String symbol,
              String path,
              String comment) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("symbol", 8, symbol),
                                         new Variant("path", 8, path),
                                         new Variant("comment", 8, comment),};
    return invoke("addEntry", 54, 1, parameters).getBOOL();
  }

  /**
   * getActualPathWithContext. 
   *
   * @param     virtualPath The virtualPath (in)
   * @param     context The context (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 getActualPathWithContext  (
              String virtualPath,
              String context) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("virtualPath", 8, virtualPath),
                                         new Variant("context", 8, context),};
    return invoke("getActualPathWithContext", 12674, 1, parameters).getBSTR();
  }

  /**
   * getVirtualPathWithContext. 
   *
   * @param     actualPath The actualPath (in)
   * @param     context The context (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 getVirtualPathWithContext  (
              String actualPath,
              String context) throws java.io.IOException, com.linar.jintegra.AutomationException{
    com.linar.jintegra.Variant[] parameters = {new Variant("actualPath", 8, actualPath),
                                         new Variant("context", 8, context),};
    return invoke("getVirtualPathWithContext", 12675, 1, parameters).getBSTR();
  }

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

  static {
    com.linar.jintegra.InterfaceDesc.add("4c9e2241-84c5-11d0-a214-444553540000", IRosePathMapProxy.class, null, 0, null );
  }
}
