Change Eclipse-LazyStart: true to Bundle-ActivationPolicy: lazy (upgrade to The Equin...
[phpeclipse.git] / net.sourceforge.phpeclipse.externaltools / src / net / sourceforge / phpdt / externaltools / variable / IVariableLocationExpander.java
1 package net.sourceforge.phpdt.externaltools.variable;
2
3 /**********************************************************************
4  Copyright (c) 2002 IBM Corp. and others. All rights reserved.
5  This file is made available under the terms of the Common Public License v1.0
6  which accompanies this distribution, and is available at
7  http://www.eclipse.org/legal/cpl-v10.html
8  �
9  Contributors:
10  **********************************************************************/
11
12 import org.eclipse.core.runtime.IPath;
13
14 /**
15  * Responsible for expanding a variable into the location path of a file or
16  * directory.
17  * <p>
18  * Implementation of this interface will be treated like a singleton. That is,
19  * only one instance will be created per variable extension.
20  * </p>
21  * <p>
22  * This interface is not to be extended by clients. Clients may implement this
23  * interface.
24  * </p>
25  */
26 public interface IVariableLocationExpander {
27         /**
28          * Returns the path location to a file or directory for the given variable
29          * tag and value. The path does not need to exist.
30          * 
31          * @param varTag
32          *            the variable tag name
33          * @param varValue
34          *            the value for the variable
35          * @param context
36          *            the context the variable should use to expand itself
37          * @return the <code>IPath</code> to a file/directory or <code>null</code>
38          *         if not possible
39          */
40         public IPath getPath(String varTag, String varValue,
41                         ExpandVariableContext context);
42 }