public Predicate isNull() { List list = new ArrayList(); list.add(this); return new CompoundExpressionImpl(this.metamodel, this.currentNode.isNull(), list, "is null"); }
/** * Create a predicate to test whether the expression is null. * @param x expression * @return predicate */ public Predicate isNull(Expression<?> x){ return new PredicateImpl(this.metamodel, ((InternalSelection)x).getCurrentNode().isNull(), new ArrayList(), BooleanOperator.AND); }
/** * INTERNAL: * This method is used when the attribute value is null, but it has * to be included at all times. It determines whether to use isNull, or notNull. */ public Expression completeExpressionForNull(Expression expression) { if (shouldUseEqualityForNulls()) { return expression.isNull(); } else { return expression.notNull(); } }
/** * INTERNAL: * This method is used when the attribute value is null, but it has * to be included at all times. It determines whether to use isNull, or notNull. */ public Expression completeExpressionForNull(Expression expression) { if (shouldUseEqualityForNulls()) { return expression.isNull(); } else { return expression.notNull(); } }
/** * INTERNAL: * This method is used when the attribute value is null, but it has * to be included at all times. It determines whether to use isNull, or notNull. */ public Expression completeExpressionForNull(Expression expression) { if (shouldUseEqualityForNulls()) { return expression.isNull(); } else { return expression.notNull(); } }
/** * INTERNAL * Return a EclipseLink expression for this node. */ public Expression generateExpression(GenerationContext context) { Expression whereClause = getLeft().generateExpression(context); whereClause = whereClause.isNull(); return whereClause; }
/** * INTERNAL * Return a EclipseLink expression for this node. */ public Expression generateExpression(GenerationContext context) { Expression whereClause = getLeft().generateExpression(context); whereClause = whereClause.isNull(); return whereClause; }
/** * INTERNAL * Return a EclipseLink expression for this node. */ public Expression generateExpression(GenerationContext context) { Expression whereClause = getLeft().generateExpression(context); whereClause = whereClause.isNull(); return whereClause; }
/** * INTERNAL: * The general case. */ public Expression newExpressionForArguments(Expression base, List arguments) { if ((arguments.size() == 1) && (arguments.get(0) == null)) { if (this.selector == Equal) { return base.isNull(); } else if (this.selector == NotEqual) { return base.notNull(); } } Expression node = createNode(); node.create(base, arguments, this); return node; }
/** * INTERNAL: * The general case. */ public Expression newExpressionForArguments(Expression base, List arguments) { if ((arguments.size() == 1) && (arguments.get(0) == null)) { if (this.selector == Equal) { return base.isNull(); } else if (this.selector == NotEqual) { return base.notNull(); } } Expression node = createNode(); node.create(base, arguments, this); return node; }
/** * INTERNAL: * Create a new expression. Optimized for the single argument case with base last */ public Expression newExpressionForArgumentWithBaseLast(Expression base, Object singleArgument) { if (singleArgument == null) { if (this.selector == Equal) { return base.isNull(); } else if (this.selector == NotEqual) { return base.notNull(); } } Expression node = createNode(); node.createWithBaseLast(base, singleArgument, this); return node; }
/** * INTERNAL: * Create a new expression. Optimized for the single argument case. */ public Expression newExpressionForArgument(Expression base, Object singleArgument) { if (singleArgument == null) { if (this.selector == Equal) { return base.isNull(); } else if (this.selector == NotEqual) { return base.notNull(); } } Expression node = createNode(); node.create(base, singleArgument, this); return node; }
/** * INTERNAL: * Create a new expression. Optimized for the single argument case. */ public Expression newExpressionForArgument(Expression base, Object singleArgument) { if (singleArgument == null) { if (this.selector == Equal) { return base.isNull(); } else if (this.selector == NotEqual) { return base.notNull(); } } Expression node = createNode(); node.create(base, singleArgument, this); return node; }
/** * INTERNAL: * Create a new expression. Optimized for the single argument case with base last */ public Expression newExpressionForArgumentWithBaseLast(Expression base, Object singleArgument) { if (singleArgument == null) { if (this.selector == Equal) { return base.isNull(); } else if (this.selector == NotEqual) { return base.notNull(); } } Expression node = createNode(); node.createWithBaseLast(base, singleArgument, this); return node; }
/** * INTERNAL: * The general case. */ public Expression newExpressionForArguments(Expression base, Vector arguments) { if ((arguments.size() == 1) && (arguments.get(0) == null)) { if (getSelector() == Equal) { return base.isNull(); } else if (getSelector() == NotEqual) { return base.notNull(); } } Expression node = createNode(); node.create(base, arguments, this); return node; }
/** * {@inheritDoc} */ @Override public void visit(NullComparisonExpression expression) { // Create the expression first expression.getExpression().accept(this); // Mark it as NOT NULL if (expression.hasNot()) { queryExpression = queryExpression.notNull(); } // Mark it as IS NULL else { queryExpression = queryExpression.isNull(); } // Set the expression type type[0] = Boolean.class; }
protected Expression createWhereClauseForDeleteNullQuery(ExpressionBuilder builder) { Expression directExp = builder.getField(getDirectField()).isNull(); Expression expression = null; // Construct an expression to delete from the relation table. for (int index = 0; index < getReferenceKeyFields().size(); index++) { DatabaseField referenceKey = getReferenceKeyFields().get(index); DatabaseField sourceKey = getSourceKeyFields().get(index); Expression subExp1 = builder.getField(referenceKey); Expression subExp2 = builder.getParameter(sourceKey); Expression subExpression = subExp1.equal(subExp2); expression = subExpression.and(expression); } expression = expression.and(directExp); return expression; }
protected Expression createWhereClauseForDeleteNullQuery(ExpressionBuilder builder) { Expression directExp = builder.getField(getDirectField()).isNull(); Expression expression = null; // Construct an expression to delete from the relation table. for (int index = 0; index < getReferenceKeyFields().size(); index++) { DatabaseField referenceKey = getReferenceKeyFields().get(index); DatabaseField sourceKey = getSourceKeyFields().get(index); Expression subExp1 = builder.getField(referenceKey); Expression subExp2 = builder.getParameter(sourceKey); Expression subExpression = subExp1.equal(subExp2); expression = subExpression.and(expression); } expression = expression.and(directExp); return expression; }
/** * INTERNAL: * Create a new expression. Optimized for the single argument case. */ public Expression newExpressionForArgument(Expression base, Object singleArgument) { if (singleArgument == null) { if (getSelector() == Equal) { return base.isNull(); } else if (getSelector() == NotEqual) { return base.notNull(); } } Expression node = createNode(); node.create(base, singleArgument, this); return node; }
/** * INTERNAL: * Create a new expression. Optimized for the single argument case with base last */ public Expression newExpressionForArgumentWithBaseLast(Expression base, Object singleArgument) { if (singleArgument == null) { if (getSelector() == Equal) { return base.isNull(); } else if (getSelector() == NotEqual) { return base.notNull(); } } Expression node = createNode(); node.createWithBaseLast(base, singleArgument, this); return node; }