package org.nodeclipse.enide.gradle.util; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.variables.IStringVariableManager; import org.eclipse.core.variables.VariablesPlugin; /** * copied from org.nodeclipse.debug.util.VariablesUtil */ public class VariablesUtil { public static String resolveValue(String expression) throws CoreException { String expanded= null; try { expanded= getValue(expression); } catch (CoreException e) { //possibly just a variable that needs to be resolved at runtime validateVaribles(expression); return null; } return expanded; } /** * Validates the value of the given string to determine if any/all variables are valid * * @param expression expression with variables * @return whether the expression contained any variable values * @exception CoreException if variable resolution fails */ private static String getValue(String expression) throws CoreException { IStringVariableManager manager = VariablesPlugin.getDefault().getStringVariableManager(); return manager.performStringSubstitution(expression); } /** * Validates the variables of the given string to determine if all variables are valid * * @param expression expression with variables * @exception CoreException if a variable is specified that does not exist */ private static void validateVaribles(String expression) throws CoreException { IStringVariableManager manager = VariablesPlugin.getDefault().getStringVariableManager(); manager.validateStringVariables(expression); } }