Copyright (c) 2000, 2008 IBM Corporation and others. This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-2.0/ SPDX-License-Identifier: EPL-2.0 Contributors: IBM Corporation - initial API and implementation
/******************************************************************************* * Copyright (c) 2000, 2008 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/
package org.eclipse.core.internal.expressions; import org.eclipse.core.expressions.IEvaluationContext; import org.eclipse.core.runtime.Assert; import org.eclipse.core.runtime.CoreException;
An evaluation context that can be used to add a new default variable to a hierarchy of evaluation contexts.
Since:3.0
/** * An evaluation context that can be used to add a new default variable * to a hierarchy of evaluation contexts. * * @since 3.0 */
public final class DefaultVariable implements IEvaluationContext { private Object fDefaultVariable; private IEvaluationContext fParent; private IEvaluationContext fManagedPool;
Constructs a new variable pool for a single default variable.
Params:
  • parent – the parent context for the default variable. Must not be null.
  • defaultVariable – the default variable
/** * Constructs a new variable pool for a single default variable. * * @param parent the parent context for the default variable. Must not * be <code>null</code>. * @param defaultVariable the default variable */
public DefaultVariable(IEvaluationContext parent, Object defaultVariable) { Assert.isNotNull(parent); Assert.isNotNull(defaultVariable); fParent= parent; while (parent instanceof DefaultVariable) { parent= parent.getParent(); } fManagedPool= parent; fDefaultVariable= defaultVariable; } @Override public IEvaluationContext getParent() { return fParent; } @Override public IEvaluationContext getRoot() { return fParent.getRoot(); } @Override public Object getDefaultVariable() { return fDefaultVariable; } @Override public void setAllowPluginActivation(boolean value) { fParent.setAllowPluginActivation(value); } @Override public boolean getAllowPluginActivation() { return fParent.getAllowPluginActivation(); } @Override public void addVariable(String name, Object value) { fManagedPool.addVariable(name, value); } @Override public Object removeVariable(String name) { return fManagedPool.removeVariable(name); } @Override public Object getVariable(String name) { return fManagedPool.getVariable(name); } @Override public Object resolveVariable(String name, Object[] args) throws CoreException { return fManagedPool.resolveVariable(name, args); } }