+++ /dev/null
-package net.sourceforge.phpdt.externaltools.variable;
-
-/**********************************************************************
-Copyright (c) 2002 IBM Corp. and others. All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-
-Contributors:
-**********************************************************************/
-
-import net.sourceforge.phpdt.externaltools.model.IExternalToolConstants;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-
-/**
- * Represents the context the external tool is running in
- * that a variable uses to expand itself.
- */
-public final class ExpandVariableContext {
- public static final ExpandVariableContext EMPTY_CONTEXT = new ExpandVariableContext(null);
-
- private IProject project = null;
- private IResource selectedResource = null;
- private String buildType = IExternalToolConstants.BUILD_TYPE_NONE;
-
- /**
- * Create a context for an external tool running
- * as a builder on the given project.
- *
- * @param project the <code>IProject</code> being built.
- * @param buildKind the kind of build being performed
- * (see <code>IncrementalProjectBuilder</code>).
- */
- public ExpandVariableContext(IProject project, int buildKind) {
- super();
- this.project = project;
- switch (buildKind) {
- case IncrementalProjectBuilder.INCREMENTAL_BUILD :
- this.buildType = IExternalToolConstants.BUILD_TYPE_INCREMENTAL;
- break;
- case IncrementalProjectBuilder.FULL_BUILD :
- this.buildType = IExternalToolConstants.BUILD_TYPE_FULL;
- break;
- case IncrementalProjectBuilder.AUTO_BUILD :
- this.buildType = IExternalToolConstants.BUILD_TYPE_AUTO;
- break;
- default :
- this.buildType = IExternalToolConstants.BUILD_TYPE_NONE;
- break;
- }
- }
-
- /**
- * Create a context for an external tool running
- * with the given resource selected.
- *
- * @param selectedResource the <code>IResource</code> selected
- * or <code>null</code> if none.
- */
- public ExpandVariableContext(IResource selectedResource) {
- super();
- if (selectedResource != null) {
- this.selectedResource = selectedResource;
- this.project = selectedResource.getProject();
- }
- }
-
- /**
- * Returns the build type being performed if the
- * external tool is being run as a project builder.
- *
- * @return one of the <code>IExternalToolConstants.BUILD_TYPE_*</code> constants.
- */
- public String getBuildType() {
- return buildType;
- }
-
- /**
- * Returns the project which the variable can use. This
- * will the the project being built if the tool is being
- * run as a builder. Otherwise, it is the project of the
- * selected resource, or <code>null</code> if none.
- *
- * @return the <code>IProject</code> or <code>null</code> if none
- */
- public IProject getProject() {
- return project;
- }
-
- /**
- * Returns the resource selected at the time the tool
- * is run, or <code>null</code> if none selected.
- *
- * @return the <code>IResource</code> selected, or <code>null</code> if none
- */
- public IResource getSelectedResource() {
- return selectedResource;
- }
-}