@Override public String getStringRepresentation() { final StringBuilder sb = new StringBuilder(); sb.append(SELECTOR); sb.append(SimpleExpression.EXPRESSION_START_CHAR); sb.append(this.templateName != null? this.templateName.getStringRepresentation() : ""); if (this.fragmentSelector != null) { sb.append(' '); sb.append(SEPARATOR); sb.append(' '); sb.append(this.fragmentSelector.getStringRepresentation()); } if (this.parameters != null && this.parameters.size() > 0) { sb.append(' '); sb.append('('); sb.append(StringUtils.join(this.parameters.getAssignations(), ',')); sb.append(')'); } sb.append(SimpleExpression.EXPRESSION_END_CHAR); return sb.toString(); }
private static Map<String,Object> createExecutedFragmentExpressionParameters( final IExpressionContext context, final AssignationSequence parameters, final boolean syntheticParameters, final StandardExpressionExecutionContext expContext) { if (parameters == null || parameters.size() == 0) { return null; } final Map<String,Object> parameterValues = new HashMap<String, Object>(parameters.size() + 2); final List<Assignation> assignationValues = parameters.getAssignations(); final int assignationValuesLen = assignationValues.size(); for (int i = 0; i < assignationValuesLen; i++) { final Assignation assignation = assignationValues.get(i); final IStandardExpression parameterNameExpr = assignation.getLeft(); final String parameterName; if (!syntheticParameters) { final Object parameterNameValue = parameterNameExpr.execute(context, expContext); parameterName = (parameterNameValue == null ? null : parameterNameValue.toString()); } else { // Parameters are synthetic so we know this is a mere literal like "_argX", no need to perform an exec parameterName = ((TextLiteralExpression)parameterNameExpr).getValue().getValue(); } final IStandardExpression parameterValueExpr = assignation.getRight(); final Object parameterValueValue = parameterValueExpr.execute(context, expContext); parameterValues.put(parameterName, parameterValueValue); } return parameterValues; }
final List<Assignation> assignationValues = expression.getParameters().getAssignations(); final int assignationValuesLen = assignationValues.size();
final List<Assignation> assignationValues = assignations.getAssignations(); final int assignationValuesLen = assignationValues.size();
StandardExpressionExecutionContext.RESTRICTED : StandardExpressionExecutionContext.NORMAL); final List<Assignation> assignationValues = assignations.getAssignations(); final int assignationValuesLen = assignationValues.size();
public String getStringRepresentation() { final String templateNameStringRepresentation = (this.templateName != null? this.templateName.getStringRepresentation() : ""); final String templateSelectionParameters; if (this.parameters == null || this.parameters.size() > 0) { templateSelectionParameters = ""; } else { final StringBuilder paramBuilder = new StringBuilder(); paramBuilder.append(' '); paramBuilder.append('('); paramBuilder.append(StringUtils.join(this.parameters.getAssignations(), ',')); paramBuilder.append(')'); templateSelectionParameters = paramBuilder.toString(); } if (this.fragmentSelector == null) { return templateNameStringRepresentation + templateSelectionParameters; } return templateNameStringRepresentation + " :: " + this.fragmentSelector.getStringRepresentation() + templateSelectionParameters; }
private static Map<String,Object> resolveFragmentParameters( final Configuration configuration, final IProcessingContext processingContext, final AssignationSequence parameters) { if (parameters == null) { return null; } final Map<String,Object> parameterValues = new HashMap<String, Object>(parameters.size() + 2); for (final Assignation assignation : parameters.getAssignations()) { final IStandardExpression parameterNameExpr = assignation.getLeft(); final Object parameterNameValue = parameterNameExpr.execute(configuration, processingContext); final String parameterName = (parameterNameValue == null? null : parameterNameValue.toString()); final IStandardExpression parameterValueExpr = assignation.getRight(); final Object parameterValueValue = parameterValueExpr.execute(configuration, processingContext); parameterValues.put(parameterName, parameterValueValue); } return parameterValues; }
public static boolean hasSyntheticParameters( final FragmentSelection fragmentSelection, final Configuration configuration, final IProcessingContext processingContext, final StandardExpressionExecutionContext expContext) { // The parameter sequence will be considered "synthetically named" if its variable names are all synthetic // (see the "parameterNamesAreSynthetic" method for more info). if (!fragmentSelection.hasParameters()) { return false; } final AssignationSequence fragmentSelectionParameters = fragmentSelection.getParameters(); final Set<String> variableNames = new HashSet<String>(fragmentSelectionParameters.size() + 2); for (final Assignation assignation : fragmentSelectionParameters.getAssignations()) { final IStandardExpression variableNameExpr = assignation.getLeft(); final Object variableNameValue = variableNameExpr.execute(configuration, processingContext, expContext); final String variableName = (variableNameValue == null? null : variableNameValue.toString()); variableNames.add(variableName); } return parameterNamesAreSynthetic(variableNames); }