1 package net.sourceforge.phpdt.externaltools.internal.registry;
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
10 **********************************************************************/
12 import net.sourceforge.phpdt.externaltools.variable.ExpandVariableContext;
13 import net.sourceforge.phpdt.externaltools.variable.IVariableResourceExpander;
15 import org.eclipse.core.resources.IResource;
16 import org.eclipse.core.runtime.IConfigurationElement;
19 * Represents the variable for a refresh scope.
21 public final class RefreshScopeVariable extends ExternalToolVariable {
22 private static final DefaultResourceExpander defaultExpander = new DefaultResourceExpander();
24 private IVariableResourceExpander expander = null;
27 * Creates a refresh scope variable
32 * a short description of what the variable will expand to
34 * the configuration element
36 /* package */RefreshScopeVariable(String tag, String description,
37 IConfigurationElement element) {
38 super(tag, description, element);
42 * Returns the object that can expand the variable as resources.
44 public IVariableResourceExpander getExpander() {
45 if (expander == null) {
46 expander = (IVariableResourceExpander) createObject(ExternalToolVariableRegistry.TAG_EXPANDER_CLASS);
48 expander = defaultExpander;
54 * Default variable resource expander implementation which does not expand
55 * variables, but just returns <code>null</code>.
57 private static final class DefaultResourceExpander implements
58 IVariableResourceExpander {
60 * (non-Javadoc) Method declared on IVariableResourceExpander.
62 public IResource[] getResources(String varTag, String varValue,
63 ExpandVariableContext context) {