/** * Resolves the variable to a single value. This is a shortcut for * <code>setValues(new String[] { value })</code>. * * @param value the new default value */ public final void setValue(String value) { setValues(new String[] { value }); }
/** * Resolves the variable to a single value. This is a shortcut for * <code>setValues(new String[] { value })</code>. * * @param value the new default value */ public final void setValue(String value) { setValues(new String[] { value }); }
@Override public void resolve(TemplateVariable variable, TemplateContext context) { List params = variable.getVariableType().getParams(); String[] bindings = new String[params.size()]; for (int i = 0; i < params.size(); i++) { bindings[i] = params.get(i).toString(); } if (bindings.length != 0) variable.setValues(bindings); variable.setResolved(true); }
/** * Creates a template variable with multiple possible values. * * @param type the type of the variable * @param name the name of the variable * @param values the values available at this variable, non-empty * @param offsets the array of offsets of the variable * @since 3.3 */ TemplateVariable(TemplateVariableType type, String name, String[] values, int[] offsets) { Assert.isNotNull(type); Assert.isNotNull(name); fType= type; fName= name; setValues(values); setOffsets(offsets); setUnambiguous(false); setResolved(false); fInitialLength= values[0].length(); }
/** * Creates a template variable with multiple possible values. * * @param type the type of the variable * @param name the name of the variable * @param values the values available at this variable, non-empty * @param offsets the array of offsets of the variable * @since 3.3 */ TemplateVariable(TemplateVariableType type, String name, String[] values, int[] offsets) { Assert.isNotNull(type); Assert.isNotNull(name); fType= type; fName= name; setValues(values); setOffsets(offsets); setUnambiguous(false); setResolved(false); fInitialLength= values[0].length(); }
@Override public void resolve(TemplateVariable variable, TemplateContext templateContext) { XtextTemplateContext castedContext = (XtextTemplateContext) templateContext; List<String> names = resolveValues(variable, castedContext); String[] bindings = names.toArray(new String[names.size()]); if (bindings.length != 0) variable.setValues(bindings); if (bindings.length > 1) variable.setUnambiguous(false); else variable.setUnambiguous(isUnambiguous(castedContext)); variable.setResolved(true); }
/** * Resolves <code>variable</code> in <code>context</code>. To resolve * means to find a valid binding of the receiver's type in the given <code>TemplateContext</code>. * If the variable can be successfully resolved, its value is set using * {@link TemplateVariable#setValues(String[])}. * * @param context the context in which variable is resolved * @param variable the variable to resolve */ public void resolve(TemplateVariable variable, TemplateContext context) { String[] bindings= resolveAll(context); if (bindings.length != 0) variable.setValues(bindings); if (bindings.length > 1) variable.setUnambiguous(false); else variable.setUnambiguous(isUnambiguous(context)); variable.setResolved(true); }
/** * Resolves <code>variable</code> in <code>context</code>. To resolve * means to find a valid binding of the receiver's type in the given <code>TemplateContext</code>. * If the variable can be successfully resolved, its value is set using * {@link TemplateVariable#setValues(String[])}. * * @param context the context in which variable is resolved * @param variable the variable to resolve */ public void resolve(TemplateVariable variable, TemplateContext context) { String[] bindings= resolveAll(context); if (bindings.length != 0) variable.setValues(bindings); if (bindings.length > 1) variable.setUnambiguous(false); else variable.setUnambiguous(isUnambiguous(context)); variable.setResolved(true); }