/******************************************************************************* * Copyright (c) 2016 Bruno Medeiros and other Contributors. * 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: * Bruno Medeiros - initial API and implementation *******************************************************************************/ package melnorme.lang.ide.core.utils; import static melnorme.utilbox.core.Assert.AssertNamespace.assertNotNull; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.variables.IDynamicVariable; import org.eclipse.core.variables.IStringVariable; import org.eclipse.core.variables.IStringVariableManager; import org.eclipse.core.variables.IValueVariable; import org.eclipse.core.variables.IValueVariableListener; import org.eclipse.core.variables.VariablesPlugin; public class ForwardingVariableManager implements IStringVariableManager { protected final IStringVariableManager parentVarMgr; public ForwardingVariableManager() { this(VariablesPlugin.getDefault().getStringVariableManager()); } public ForwardingVariableManager(IStringVariableManager parentVarMgr) { this.parentVarMgr = assertNotNull(parentVarMgr); } @Override public IStringVariable[] getVariables() { return parentVarMgr.getVariables(); } @Override public IValueVariable[] getValueVariables() { return parentVarMgr.getValueVariables(); } @Override public IValueVariable getValueVariable(String name) { return parentVarMgr.getValueVariable(name); } @Override public IDynamicVariable[] getDynamicVariables() { return parentVarMgr.getDynamicVariables(); } @Override public IDynamicVariable getDynamicVariable(String name) { return parentVarMgr.getDynamicVariable(name); } @Override public String getContributingPluginId(IStringVariable variable) { return parentVarMgr.getContributingPluginId(variable); } @Override public String performStringSubstitution(String expression) throws CoreException { return parentVarMgr.performStringSubstitution(expression); } @Override public String performStringSubstitution(String expression, boolean reportUndefinedVariables) throws CoreException { return parentVarMgr.performStringSubstitution(expression, reportUndefinedVariables); } @Override public void validateStringVariables(String expression) throws CoreException { parentVarMgr.validateStringVariables(expression); } @Override public IValueVariable newValueVariable(String name, String description) { return parentVarMgr.newValueVariable(name, description); } @Override public IValueVariable newValueVariable(String name, String description, boolean readOnly, String value) { return parentVarMgr.newValueVariable(name, description, readOnly, value); } @Override public void addVariables(IValueVariable[] variables) throws CoreException { parentVarMgr.addVariables(variables); } @Override public void removeVariables(IValueVariable[] variables) { parentVarMgr.removeVariables(variables); } @Override public void addValueVariableListener(IValueVariableListener listener) { parentVarMgr.addValueVariableListener(listener); } @Override public void removeValueVariableListener(IValueVariableListener listener) { parentVarMgr.removeValueVariableListener(listener); } @Override public String generateVariableExpression(String varName, String arg) { return parentVarMgr.generateVariableExpression(varName, arg); } }