/** * Create an expression to represent one of the nodes on a SetToNode. * We will assume that set_to nodes change elements that are direct mappings on the reference * class of the query. */ protected Expression getExpressionForNode(Node node, Class referenceClass, GenerationContext context) { Expression expression = null; if (node.isAttributeNode()) { // look up a preexisting expression based on the reference class of the query. String classVariable = context.getParseTreeContext().getVariableNameForClass(referenceClass, context); expression = context.expressionFor(classVariable); if (expression == null) { expression = new ExpressionBuilder(); context.addExpression(expression, classVariable); } expression = node.addToExpression(expression, context); } else { expression = node.generateExpression(context); } return expression; }
/** * Create an expression to represent one of the nodes on a SetToNode. * We will assume that set_to nodes change elements that are direct mappings on the reference * class of the query. */ protected Expression getExpressionForNode(Node node, Class referenceClass, GenerationContext context) { Expression expression = null; if (node.isAttributeNode()) { // look up a preexisting expression based on the reference class of the query. String classVariable = context.getParseTreeContext().getVariableNameForClass(referenceClass, context); expression = context.expressionFor(classVariable); if (expression == null) { expression = new ExpressionBuilder(); context.addExpression(expression, classVariable); } expression = node.addToExpression(expression, context); } else { expression = node.generateExpression(context); } return expression; }
/** * Create an expression to represent one of the nodes on a SetToNode. * We will assume that set_to nodes change elements that are direct mappings on the reference * class of the query. */ protected Expression getExpressionForNode(Node node, Class referenceClass, GenerationContext context) { Expression expression = null; if (node.isAttributeNode()) { // look up a preexisting expression based on the reference class of the query. String classVariable = context.getParseTreeContext().getVariableNameForClass(referenceClass, context); expression = context.expressionFor(classVariable); if (expression == null) { expression = new ExpressionBuilder(); context.addExpression(expression, classVariable); } expression = node.addToExpression(expression, context); } else { expression = node.generateExpression(context); } return expression; }