@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); }
private void resolveWithParams(TemplateVariable variable, TemplateContext context, List<String> params) { String selection= context.getVariable(SELECTION); if (selection != null && !selection.isEmpty()) { variable.setValue(selection); } else { String defaultValue= params.get(0); variable.setValue(defaultValue); } variable.setUnambiguous(true); 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(); }
private void resolveWithParams(TemplateVariable variable, TemplateContext context, List<String> params) { String selection= context.getVariable(SELECTION); if (selection != null && !selection.isEmpty()) { variable.setValue(selection); } else { String defaultValue= params.get(0); variable.setValue(defaultValue); } variable.setUnambiguous(true); 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(); }
/** * 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); }
@Override public void resolve(TemplateVariable variable, TemplateContext context) { variable.setUnambiguous(true); variable.setValue(""); //$NON-NLS-1$ if (context instanceof JavaContext) { JavaContext jc= (JavaContext) context; List<String> params= variable.getVariableType().getParams(); if (params.size() > 0) { for (Iterator<String> iterator= params.iterator(); iterator.hasNext();) { String typeName= iterator.next(); jc.addImport(typeName); } } } else { super.resolve(variable, context); } }
@Override public void resolve(TemplateVariable variable, TemplateContext context) { variable.setUnambiguous(true); variable.setValue(""); //$NON-NLS-1$ if (context instanceof JavaContext) { JavaContext jc= (JavaContext) context; List<String> params= variable.getVariableType().getParams(); if (params.size() > 0) { for (Iterator<String> iterator= params.iterator(); iterator.hasNext();) { String qualifiedMemberName= iterator.next(); jc.addStaticImport(qualifiedMemberName); } } } else { super.resolve(variable, context); } }
@Override public void resolve(TemplateVariable variable, TemplateContext context) { variable.setUnambiguous(true); variable.setValue(""); //$NON-NLS-1$ if (context instanceof JavaContext) { JavaContext jc= (JavaContext) context; List<String> params= variable.getVariableType().getParams(); if (params.size() > 0) { for (Iterator<String> iterator= params.iterator(); iterator.hasNext();) { String typeName= iterator.next(); jc.addImport(typeName); } } } else { super.resolve(variable, context); } }
@Override public void resolve(TemplateVariable variable, TemplateContext context) { variable.setUnambiguous(true); variable.setValue(""); //$NON-NLS-1$ if (context instanceof JavaContext) { JavaContext jc= (JavaContext) context; List<String> params= variable.getVariableType().getParams(); if (params.size() > 0) { for (Iterator<String> iterator= params.iterator(); iterator.hasNext();) { String qualifiedMemberName= iterator.next(); jc.addStaticImport(qualifiedMemberName); } } } else { super.resolve(variable, context); } }
private void resolveWithParams(TemplateVariable variable, TemplateContext context, List<String> params) { try { // There is a least one parameter (params.get(0) is not null), set the format depending on second parameter: DateFormat format; if (params.size() >= 2 && params.get(1) != null) { format= new SimpleDateFormat(params.get(0), new ULocale(params.get(1))); } else { format= new SimpleDateFormat(params.get(0)); } variable.setValue(format.format(new java.util.Date())); variable.setUnambiguous(true); variable.setResolved(true); } catch (IllegalArgumentException e) { // Date formating did not work, use default format instead: super.resolve(variable, context); } }
private void resolveWithParams(TemplateVariable variable, TemplateContext context, List<String> params) { try { // There is a least one parameter (params.get(0) is not null), set the format depending on second parameter: DateFormat format; if (params.size() >= 2 && params.get(1) != null) { format= new SimpleDateFormat(params.get(0), new ULocale(params.get(1))); } else { format= new SimpleDateFormat(params.get(0)); } variable.setValue(format.format(new java.util.Date())); variable.setUnambiguous(true); variable.setResolved(true); } catch (IllegalArgumentException e) { // Date formating did not work, use default format instead: super.resolve(variable, context); } }
public void resolve(TemplateVariable variable, TemplateContext context) { if (variable instanceof MultiVariable) { JavaContext jc= (JavaContext) context; JavaVariable jv= (JavaVariable) variable; Variable[] iterables= getLocalVariables(jc); if (iterables.length > 0) { jv.setChoices(iterables); jc.markAsUsed(iterables[0].getName()); if (iterables.length > 1) variable.setUnambiguous(false); else variable.setUnambiguous(isUnambiguous(context)); return; } } super.resolve(variable, context); } }
@Override public void resolve(TemplateVariable variable, TemplateContext context) { if (variable instanceof MultiVariable) { JavaContext jc= (JavaContext) context; JavaVariable jv= (JavaVariable) variable; Variable[] iterables= getVariables(jc); if (iterables.length > 0) { jv.setChoices(iterables); jc.markAsUsed(iterables[0].getName()); if (iterables.length > 1) variable.setUnambiguous(false); else variable.setUnambiguous(isUnambiguous(context)); return; } } super.resolve(variable, context); } }
@Override public void resolve(TemplateVariable variable, TemplateContext context) { if (variable instanceof MultiVariable) { JavaContext jc= (JavaContext) context; JavaVariable jv= (JavaVariable) variable; Variable[] iterables= getVariables(jc); if (iterables.length > 0) { jv.setChoices(iterables); jc.markAsUsed(iterables[0].getName()); if (iterables.length > 1) variable.setUnambiguous(false); else variable.setUnambiguous(isUnambiguous(context)); return; } } super.resolve(variable, context); } }
public void resolve(TemplateVariable variable, TemplateContext context) { List params= variable.getVariableType().getParams(); if (params.size() == 0) fType= fDefaultType; else fType= (String) params.get(0); if (variable instanceof JavaVariable) { JavaContext jc= (JavaContext) context; JavaVariable jv= (JavaVariable) variable; jv.setParamType(fType); Variable[] variables= jc.getLocalVariables(fType); if (variables.length > 0) { jv.setChoices(variables); jc.markAsUsed(jv.getDefaultValue()); } else { super.resolve(variable, context); return; } if (variables.length > 1) variable.setUnambiguous(false); else variable.setUnambiguous(isUnambiguous(context)); } else super.resolve(variable, context); }
public void resolve(TemplateVariable variable, TemplateContext context) { if (variable instanceof MultiVariable) { JavaContext jc= (JavaContext) context; MultiVariable mv= (MultiVariable) variable; Variable[] iterables= getLocalVariables(jc); if (iterables.length > 0) { for (int i= 0; i < iterables.length; i++) mv.setChoices(iterables[i], iterables[i].getMemberTypeNames()); TemplateVariable master= jc.getTemplateVariable(fMasterName); if (master instanceof MultiVariable) { final MultiVariable masterMv= (MultiVariable) master; jc.addDependency(masterMv, mv); mv.setKey(masterMv.getCurrentChoice()); } if (iterables.length > 1 || iterables.length == 1 && mv.getChoices().length > 1) variable.setUnambiguous(false); else variable.setUnambiguous(isUnambiguous(context)); return; } } super.resolve(variable, context); } }
@Override public void resolve(TemplateVariable variable, TemplateContext context) { if (variable instanceof MultiVariable) { JavaContext jc= (JavaContext) context; MultiVariable mv= (MultiVariable) variable; Variable[] iterables= getVariablesInContextScope(jc); if (iterables.length > 0) { for (int i= 0; i < iterables.length; i++) mv.setChoices(iterables[i], iterables[i].getMemberTypeNames()); TemplateVariable master= jc.getTemplateVariable(fMasterName); if (master instanceof MultiVariable) { final MultiVariable masterMv= (MultiVariable) master; jc.addDependency(masterMv, mv); mv.setKey(masterMv.getCurrentChoice()); } if (iterables.length > 1 || iterables.length == 1 && mv.getChoices().length > 1) variable.setUnambiguous(false); else variable.setUnambiguous(isUnambiguous(context)); return; } } super.resolve(variable, context); } }
@Override public void resolve(TemplateVariable variable, TemplateContext context) { if (variable instanceof MultiVariable) { JavaContext jc= (JavaContext) context; MultiVariable mv= (MultiVariable) variable; Variable[] iterables= getVariablesInContextScope(jc); if (iterables.length > 0) { for (int i= 0; i < iterables.length; i++) mv.setChoices(iterables[i], iterables[i].getMemberTypeNames()); TemplateVariable master= jc.getTemplateVariable(fMasterName); if (master instanceof MultiVariable) { final MultiVariable masterMv= (MultiVariable) master; jc.addDependency(masterMv, mv); mv.setKey(masterMv.getCurrentChoice()); } if (iterables.length > 1 || iterables.length == 1 && mv.getChoices().length > 1) variable.setUnambiguous(false); else variable.setUnambiguous(isUnambiguous(context)); return; } } super.resolve(variable, context); } }