diff options
Diffstat (limited to 'org.eclipse.core.variables/src/org/eclipse/core/variables')
9 files changed, 0 insertions, 671 deletions
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java deleted file mode 100644 index b81fff749..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java +++ /dev/null @@ -1,60 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2008 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.eclipse.core.variables; - -import org.eclipse.core.runtime.CoreException; - -/** - * A dynamic variable is a variable whose value is computed dynamically - * by a resolver at the time a string substitution is performed. A dynamic - * variable is contributed by an extension. - * <p> - * The following is a definition of a dynamic variable that resolves to the name of the selected resource: - * <pre> - * <extension point="org.eclipse.core.variables.dynamicVariables"> - * <variable - * name="resource_name" - * resolver="com.example.ResourceNameResolver" - * description="The name of the selected resource" - * supportsArgument="false"> - * </variable> - * </extension> - * </pre> - * </p> - * <p> - * Clients contributing a dynamic variable provide an implementation of - * {@link org.eclipse.core.variables.IDynamicVariableResolver}. - * </p> - * @since 3.0 - * @noimplement This interface is not intended to be implemented by clients. - */ -public interface IDynamicVariable extends IStringVariable { - - /** - * Returns the value of this variable when referenced with the given - * argument, possibly <code>null</code>. - * - * @param argument argument present in variable expression or <code>null</code> - * if none - * @return value of this variable when referenced with the given argument, possibly - * <code>null</code> - * @throws CoreException if unable to resolve a value for this variable - */ - public String getValue(String argument) throws CoreException; - - /** - * Returns whether this variable supports an argument, as specified - * by this variable's extension definition in plug-in XML. - * - * @return whether this variable supports an argument - */ - public boolean supportsArgument(); -} diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java deleted file mode 100644 index b5cefaafb..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * 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.eclipse.core.variables; - -import org.eclipse.core.runtime.CoreException; - -/** - * Resolves the value for a dynamic variable. A dynamic variable extension - * contributes a resolver which must implement this interface. - * <p> - * Clients contributing a dynamic variable are intended to provide an implementation - * of this interface. - * </p> - * @since 3.0 - */ -public interface IDynamicVariableResolver { - - /** - * Resolves and returns a value for the specified variable when referenced - * with the given argument, possibly <code>null</code> - * - * @param variable variable to resolve a value for - * @param argument argument present in expression or <code>null</code> if none - * @return variable value, possibly <code>null</code> - * @throws CoreException if unable to resolve a value for the given variable - */ - public String resolveValue(IDynamicVariable variable, String argument) throws CoreException; -} diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java deleted file mode 100644 index 70c3e25f0..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2008 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.eclipse.core.variables; - - -/** - * A variable that can be referenced in an expression, which resolves to a string - * value. Variables are referenced in expressions via their name, in the following - * format. - * <pre> - * ${varname} or ${varname:argument} - * </pre> - * <p> - * A variable is identified by its name, and optionally accepts an argument. When an - * argument is present, a colon separates the variable name from its argument. - * </p> - * <p> - * Variables can be contributed by extensions or programmatically. There are two - * kinds of variables. - * <ul> - * <li><code>IValueVariable</code> - variables that have a value (with getter and setter), and - * accept no arguments. The value of this type of variable is resolved at the time - * its value is set via its setter API.</li> - * <li><code>IDynamicVariable</code> - variables whose value is resolved at the time - * a string substitution is performed by a contributed resolver. Dynamic variables - * may accept an argument.</li> - * </ul> - * </p> - * @since 3.0 - * @noimplement This interface is not intended to be implemented by clients. - */ -public interface IStringVariable { - - /** - * Returns the name of this variable. A variable is uniquely identified by - * its name. - * - * @return variable name - */ - public String getName(); - - /** - * Returns a human readable description of this variable, possibly <code>null</code> - * - * @return a description of this variable, or <code>null</code> if none - */ - public String getDescription(); - -} diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java deleted file mode 100644 index e3502e99b..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java +++ /dev/null @@ -1,191 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2008 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.eclipse.core.variables; - -import org.eclipse.core.runtime.CoreException; - -/** - * Registry for string variables. - * @since 3.0 - * @noimplement This interface is not intended to be implemented by clients. - */ -public interface IStringVariableManager { - - /** - * Simple identifier constant (value <code>"dynamicVariables"</code>) for the - * dynamic variables extension point. - */ - public static final String EXTENSION_POINT_DYNAMIC_VARIABLES = "dynamicVariables"; //$NON-NLS-1$ - - /** - * Simple identifier constant (value <code>"valueVariables"</code>) for the - * value variables extension point. - */ - public static final String EXTENSION_POINT_VALUE_VARIABLES = "valueVariables"; //$NON-NLS-1$ - - /** - * Returns all registered variables. - * - * @return a collection of all registered variables - */ - public IStringVariable[] getVariables(); - - /** - * Returns all registered value variables. - * - * @return a collection of all registered value variables - */ - public IValueVariable[] getValueVariables(); - - /** - * Returns the value variable with the given name, or <code>null</code> - * if none. - * - * @param name variable name - * @return the value variable with the given name, or <code>null</code> - * if none - */ - public IValueVariable getValueVariable(String name); - - /** - * Returns all registered dynamic variables. - * - * @return a collection of all registered dynamic variables - */ - public IDynamicVariable[] getDynamicVariables(); - - /** - * Returns the dynamic variable with the given name or <code>null</code> - * if none. - * - * @param name variable name - * @return the dynamic variable with the given name or <code>null</code> - * if none - */ - public IDynamicVariable getDynamicVariable(String name); - - /** - * Returns the plug-in identifier of the plug-in that contributed the - * given variable via extension or <code>null</code> if the given - * variable wasn't contributed via extension. - * - * @param variable the variable - * @return the plug-in identifier of the plug-in that contributed the - * given variable or <code>null</code> - * @since 3.1 - */ - public String getContributingPluginId(IStringVariable variable); - - /** - * Recursively resolves and replaces all variable references in the given - * expression with their corresponding values. Reports errors for references - * to undefined variables (equivalent to calling - * <code>performStringSubstitution(expression, true)</code>). - * - * @param expression expression referencing variables - * @return expression with variable references replaced with variable values - * @throws CoreException if unable to resolve the value of one or more variables - */ - public String performStringSubstitution(String expression) throws CoreException; - - /** - * Recursively resolves and replaces all variable references in the given - * expression with their corresponding values. Allows the client to control - * whether references to undefined variables are reported as an error (i.e. - * an exception is thrown). - * - * @param expression expression referencing variables - * @param reportUndefinedVariables whether a reference to an undefined variable - * is to be considered an error (i.e. throw an exception) - * @return expression with variable references replaced with variable values - * @throws CoreException if unable to resolve the value of one or more variables - */ - public String performStringSubstitution(String expression, boolean reportUndefinedVariables) throws CoreException; - - /** - * Validates variables references in the given expression and reports errors - * for references to undefined variables. - * - * @param expression expression referencing variables - * @throws CoreException if one or more referenced variables do not exist - */ - public void validateStringVariables(String expression) throws CoreException; - - /** - * Returns a new read-write value variable with the given name and description - * with a <code>null</code> value. - * - * @param name variable name, cannot be <code>null</code> - * @param description variable description, possibly <code>null</code> - * @return a new value variable - */ - public IValueVariable newValueVariable(String name, String description); - - /** - * Returns a new value variable with the given properties. - * - * @param name variable name, cannot be <code>null</code> - * @param description variable description, possibly <code>null</code> - * @param readOnly whether this variable is to be a read only variable - * @param value the string value to initialize this variable to - should - * not be <code>null</code> for read-only variables - * @return a new value variable - * @since 3.3 - */ - public IValueVariable newValueVariable(String name, String description, boolean readOnly, String value); - - /** - * Adds the given variables to the variable registry. - * - * @param variables the variables to add - * @throws CoreException if one or more variables to add has a name collision with - * an existing variable - */ - public void addVariables(IValueVariable[] variables) throws CoreException; - - /** - * Removes the given variables from the registry. Has no effect for unregistered - * variables. - * - * @param variables variables to remove - */ - public void removeVariables(IValueVariable[] variables); - - /** - * Registers the given listener for value variable notifications. Has no effect - * if an identical listener is already registered. - * - * @param listener value variable listener to add - */ - public void addValueVariableListener(IValueVariableListener listener); - - /** - * Removes the given listener from the list of registered value variable - * listeners. Has no effect if an identical listener is not already registered. - * - * @param listener value variable listener to remove - */ - public void removeValueVariableListener(IValueVariableListener listener); - - /** - * Convenience method that returns an expression referencing the given - * variable and optional argument. For example, calling the method with - * a <code>varName</code> of <code>my_var</code> and an <code>argument</code> - * of <code>my_arg</code> results in the string <code>$(my_var:my_arg}</code>. - * - * @param varName variable name - * @param arg argument text or <code>null</code> - * @return an expression referencing the given variable and - * optional argument - */ - public String generateVariableExpression(String varName, String arg); - -} diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java deleted file mode 100644 index 4b25138d0..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java +++ /dev/null @@ -1,91 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2008 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.eclipse.core.variables; - -/** - * A variable with a value that can be set and retrieved. The context in which - * a value variable is referenced does not effect the value of the variable. - * A value variable can be contributed by an extension or created programmatically. - * A contributor may optionally specify an initial value for a variable, or - * provide a delegate that will initialize the variable with a value. - * <p> - * Since 3.3, a variable can be specified as a "read only" preventing users from changing - * the value after it has been initialized. Furthermore, a read only variable that is - * contributed by an extension will always load the value from the extension. - * </p> - * <p> - * Example of a value variable contribution with an initial value, the specified - * variable is created with the initial value "/usr/local/foo". - * <pre> - * <extension point="org.eclipse.core.variables.valueVariables"> - * <variable - * name="FOO_HOME" - * initialValue="/usr/local/foo"> - * </variable> - * </extension> - * </pre> - * </p> - * <p> - * Example of a value variable contribution with an initializer class, the class - * "com.example.FooLocator" will be used to initialize the value the first time - * it's requested. - * <pre> - * <extension point="org.eclipse.core.variables.valueVariables"> - * <variable - * name="FOO_HOME" - * initializerClass="com.example.FooLocator"> - * </variable> - * </extension> - * </pre> - * </p> - * @since 3.0 - * @noimplement This interface is not intended to be implemented by clients. - */ -public interface IValueVariable extends IStringVariable { - - /** - * Sets the value of this variable to the given value. - * Since 3.3, this has no effect if this variable is read only. - * - * @param value variable value - */ - public void setValue(String value); - - /** - * Returns the value of this variable, or <code>null</code> if none. - * - * @return the value of this variable, or <code>null</code> if none - */ - public String getValue(); - - /** - * Returns whether this variable was contributed by an extension. - * - * @return whether this variable was contributed by an extension - */ - public boolean isContributed(); - - /** - * Returns whether this variable is read only. - * - * @return whether this variable is read only - * @since 3.3 - */ - public boolean isReadOnly(); - - /** - * Sets the description of this variable to the given value. - * - * @param description variable description, possibly <code>null</code> - */ - public void setDescription(String description); - -} diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java deleted file mode 100644 index 035a907db..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java +++ /dev/null @@ -1,30 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2006 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.eclipse.core.variables; - -/** - * Value variable initializers compute an initial value for a value - * variable contributed by an extension, which is not defined with an initial - * value. This provides a mechanism for programmatically computing the initial - * value of a value variable. - * <p> - * Clients may implement this interface. - * </p> - * @since 3.0 - */ -public interface IValueVariableInitializer { - /** - * Initializes the specified variable. - * - * @param variable variable to initialize - */ - public void initialize(IValueVariable variable); -} diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java deleted file mode 100644 index 37dac25df..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * 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.eclipse.core.variables; - -/** - * A string variable listener is notified of variables as they are added - * and removed from the string variable manager. As well, listeners are - * notified when a value variable changes value. - * <p> - * Clients may implement this interface. - * </p> - * @since 3.0 - */ -public interface IValueVariableListener { - - /** - * Notification the given variables have been added to the variable - * manager. - * - * @param variables added variables - */ - public void variablesAdded(IValueVariable[] variables); - - /** - * Notification the given variables have been removed from the variable - * manager. - * - * @param variables removed variables - */ - public void variablesRemoved(IValueVariable[] variables); - - /** - * Notification the given variables have been changed value. - * - * @param variables changed variables - */ - public void variablesChanged(IValueVariable[] variables); - -} diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java deleted file mode 100644 index 4fa1b74a5..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java +++ /dev/null @@ -1,114 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2008 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.eclipse.core.variables; - -import org.eclipse.core.internal.variables.StringVariableManager; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Plugin; -import org.eclipse.core.runtime.Status; - -/** - * The plug-in runtime class for the Core Variables plug-in. - * @since 3.0 - * @noinstantiate This class is not intended to be instantiated by clients. - * @noextend This class is not intended to be subclassed by clients. - */ -public class VariablesPlugin extends Plugin { - - /** - * Status code indicating an unexpected internal error. - */ - public static final int INTERNAL_ERROR = 120; - - /** - * Status code indicating a variable reference cycle error. - */ - public static final int REFERENCE_CYCLE_ERROR = 130; - - /** - * The single instance of this plug-in runtime class. - */ - private static VariablesPlugin plugin; - - /** - * Unique identifier constant (value <code>"org.eclipse.core.variables"</code>) - * for the Core Variables plug-in. - */ - public static final String PI_CORE_VARIABLES = "org.eclipse.core.variables"; //$NON-NLS-1$ - - - /** - * Constructs an instance of this plug-in runtime class. - * <p> - * An instance of this plug-in runtime class is automatically created - * when the facilities provided by the Variables plug-in are required. - * <b>Clients must never explicitly instantiate a plug-in runtime class.</b> - * </p> - */ - public VariablesPlugin() { - super(); - plugin = this; - } - - /** - * Returns this plug-in instance. - * - * @return the single instance of this plug-in runtime class - */ - public static VariablesPlugin getDefault() { - return plugin; - } - - /** - * Logs the specified throwable with this plug-in's log. - * - * @param t throwable to log - */ - public static void log(Throwable t) { - log(new Status(IStatus.ERROR, PI_CORE_VARIABLES, INTERNAL_ERROR, "Error logged from Core Variables: ", t)); //$NON-NLS-1$ - } - - /** - * Logs the given message with this plug-in's log and the given - * throwable or <code>null</code> if none. - * @param message the message to log - * @param throwable the exception that occurred or <code>null</code> if none - */ - public static void logMessage(String message, Throwable throwable) { - log(new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, message, throwable)); - } - - /** - * Logs the specified status with this plug-in's log. - * - * @param status status to log - */ - public static void log(IStatus status) { - getDefault().getLog().log(status); - } - - /** - * Convenience method which returns the unique identifier of this plug-in. - */ - public static String getUniqueIdentifier() { - return PI_CORE_VARIABLES; - } - - /** - * Returns the string variable manager. - * - * @return the string variable manager - */ - public IStringVariableManager getStringVariableManager() { - return StringVariableManager.getDefault(); - } -} diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/package.html b/org.eclipse.core.variables/src/org/eclipse/core/variables/package.html deleted file mode 100644 index 0d27de0b3..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/variables/package.html +++ /dev/null @@ -1,45 +0,0 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> -<html> - -<head> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -<title>Eclipse Debug Platform</title> -</head> - -<body bgcolor="#FFFFFF"> - -<p>Provides support for defining and contributing variables for the purpose of - string substitution.</p> - -<h2>Package Specification</h2> - -<p>This package provides classes and interfaces to support the definition and - contribution of variables for the purpose of string substitution. The plug-in - supports the recursive replacement of variables referenced by name in arbitrary - strings with the value of the variable. Two types of variables are provided - - value variables (<code>IValueVariable</code>) and dynamic variables (<code>IDynamicVariable</code>). - A value variable has a simple setter and getter for its current value. A dynamic - variable has an associated resolver that provides a variable's value each time - it is referenced (replaced) in a string substitution. A dynamic variable may - also provide an argument in its reference that can be used by its resolver to - determine its substitution value.</p> -<p>A variable manager (<code>IStringVariableManager</code>) is provided to manage - the set of defined variables. Value variables may be created via API on the - variable manager, or contributed via the <code>valueVariables</code> extension - point. Dynamic variables must be contributed via the <code>dynamicVariables</code> - extension point. The variable manager also provides change notification for - value variables. The variable manager also provides an API for performing string - substitution, which accepts a string, and returns a string with all variable - references replaced by associated variable values.</p> -<p>Variables are referenced in strings by enclosing them in braces, preceded with - a dollar sign. For example, consider a variable defined with the name <code>foo</code>, - and referenced in the following string: <code>"abc${foo}ghi"</code>. - If the value of <code>foo</code> is <code>"def"</code>, the result - of a string substitution would be <code>"abcdefghi"</code>. In the - case of a dynamic variable, an (optional) argument is supplied by appending - a colon and argument value after the variable name. For example <code>"${foo:bar}"</code>. - In this case, the resolver associated with <code>foo</code> would be provided - with the referenced argument (<code>bar</code>) when asked to resolve a value - for the variable <code>foo</code>. </p> -</body> -</html> |