|
From: <caw...@us...> - 2007-01-19 18:36:16
|
Revision: 1811
http://svn.sourceforge.net/rubyeclipse/?rev=1811&view=rev
Author: cawilliams
Date: 2007-01-19 10:36:08 -0800 (Fri, 19 Jan 2007)
Log Message:
-----------
new interfaces...
Added Paths:
-----------
trunk/org.rubypeople.rdt.launching/src/org/rubypeople/rdt/launching/IRuntimeLoadpathEntryResolver.java
Added: trunk/org.rubypeople.rdt.launching/src/org/rubypeople/rdt/launching/IRuntimeLoadpathEntryResolver.java
===================================================================
--- trunk/org.rubypeople.rdt.launching/src/org/rubypeople/rdt/launching/IRuntimeLoadpathEntryResolver.java (rev 0)
+++ trunk/org.rubypeople.rdt.launching/src/org/rubypeople/rdt/launching/IRuntimeLoadpathEntryResolver.java 2007-01-19 18:36:08 UTC (rev 1811)
@@ -0,0 +1,97 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.rubypeople.rdt.launching;
+
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.ILaunchConfiguration;
+import org.rubypeople.rdt.core.ILoadpathEntry;
+import org.rubypeople.rdt.core.IRubyProject;
+
+/**
+ * Resolves variable and/or container runtime classpath entries in
+ * the context of a launch configuration or Ruby project. A resolver can be declared
+ * as an extension (<code>org.eclipse.jdt.launching.runtimeLoadpathEntryResolver</code>),
+ * or be registered with the <code>RubyRuntime</code> programmatically.
+ * <p>
+ * A resolver is registered for a specific classpath
+ * <code>VARIABLE</code> and/or <code>CONTAINER</code>. A resolver is
+ * consulted when a runtime classpath entry is needs to be resolved.
+ * </p>
+ * A resolver extension is defined in <code>plugin.xml</code>.
+ * Following is an example definition of a runtime classpath entry
+ * resolver extension.
+ * <pre>
+ * <extension point="org.eclipse.jdt.launching.runtimeLoadpathEntryResolvers">
+ * <runtimeLoadpathEntryResolver
+ * id="com.example.ExampleResolver"
+ * class="com.example.ExampleResolverImpl"
+ * variable="VAR_NAME"
+ * container="CONTAINER_ID"
+ * </runtimeLoadpathEntryResolver>
+ * </extension>
+ * </pre>
+ * The attributes are specified as follows:
+ * <ul>
+ * <li><code>id</code> specifies a unique identifier for this extension.</li>
+ * <li><code>class</code> specifies the fully qualified name of the Ruby class
+ * that implements <code>IRuntimeLoadpathEntryResolver</code>.</li>
+ * <li><code>variable</code> name of the classpath variable this resolver
+ * is registered for.</li>
+ * <li><code>container</code> identifier of the classpath container this
+ * resolver is registered for.</li>
+ * </ul>
+ * At least one of <code>variable</code> or <code>container</code> must be
+ * specified.
+ * </p>
+ * <p>
+ * Clients may implement this interface.
+ * </p>
+ * @since 0.9.0
+ */
+public interface IRuntimeLoadpathEntryResolver {
+
+ /**
+ * Returns resolved runtime classpath entries for the given runtime classpath entry,
+ * in the context of the given launch configuration.
+ *
+ * @param entry runtime classpath entry to resolve, of type
+ * <code>VARIABLE</code> or <code>CONTAINTER</code>
+ * @param configuration the context in which the runtime classpath entry
+ * needs to be resolved
+ * @return resolved entries (zero or more)
+ * @exception CoreException if unable to resolve the entry
+ */
+ public IRuntimeLoadpathEntry[] resolveRuntimeLoadpathEntry(IRuntimeLoadpathEntry entry, ILaunchConfiguration configuration) throws CoreException;
+
+ /**
+ * Returns resolved runtime classpath entries for the given runtime classpath entry,
+ * in the context of the given Ruby project.
+ *
+ * @param entry runtime classpath entry to resolve, of type
+ * <code>VARIABLE</code> or <code>CONTAINTER</code>
+ * @param project context in which the runtime classpath entry
+ * needs to be resolved
+ * @return resolved entries (zero or more)
+ * @exception CoreException if unable to resolve the entry
+ */
+ public IRuntimeLoadpathEntry[] resolveRuntimeLoadpathEntry(IRuntimeLoadpathEntry entry, IRubyProject project) throws CoreException;
+
+ /**
+ * Returns a VM install associated with the given classpath entry,
+ * or <code>null</code> if none.
+ *
+ * @param entry classpath entry
+ * @return vm install associated with entry or <code>null</code> if none
+ * @exception CoreException if unable to resolve a VM
+ */
+ public IVMInstall resolveVMInstall(ILoadpathEntry entry) throws CoreException;
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|