public Expression notEqual(Value v1, Value v2) { if (v1 instanceof Type || v2 instanceof Type) { Value val = v1 instanceof Type ? v1 : v2; Value param = val == v1 ? (v2 instanceof Null ? v2 : null) : (v1 instanceof Null ? v1 : null); verifyTypeOperation(val, param, true); return new NotEqualTypeExpression((Val) v1, (Val) v2); } return new NotEqualExpression((Val) v1, (Val) v2); }
public Expression notEqual(Value v1, Value v2) { if (v1 instanceof Type || v2 instanceof Type) { Value val = v1 instanceof Type ? v1 : v2; Value param = val == v1 ? (v2 instanceof Null ? v2 : null) : (v1 instanceof Null ? v1 : null); verifyTypeOperation(val, param, true); return new NotEqualTypeExpression((Val) v1, (Val) v2); } return new NotEqualExpression((Val) v1, (Val) v2); }
public Expression notEqual(Value v1, Value v2) { if (v1 instanceof Type || v2 instanceof Type) { Value val = v1 instanceof Type ? v1 : v2; Value param = val == v1 ? (v2 instanceof Null ? v2 : null) : (v1 instanceof Null ? v1 : null); verifyTypeOperation(val, param, true); return new NotEqualTypeExpression((Val) v1, (Val) v2); } return new NotEqualExpression((Val) v1, (Val) v2); }
public Expression notEqual(Value v1, Value v2) { if (v1 instanceof Type || v2 instanceof Type) { Value val = v1 instanceof Type ? v1 : v2; Value param = val == v1 ? (v2 instanceof Null ? v2 : null) : (v1 instanceof Null ? v1 : null); verifyTypeOperation(val, param, true); return new NotEqualTypeExpression((Val) v1, (Val) v2); } return new NotEqualExpression((Val) v1, (Val) v2); }
public Expression equal(Value v1, Value v2) { // if we're comparing an unaccessed bound variable, like in: // coll.contains (var) && var == x, then translate into: // coll.contains (x) if (v1 instanceof PCPath && ((PCPath) v1).isUnaccessedVariable()) return contains(v1, v2); if (v2 instanceof PCPath && ((PCPath) v2).isUnaccessedVariable()) return contains(v2, v1); if (v1 instanceof Type || v2 instanceof Type) { Value val = v1 instanceof Type ? v1 : v2; verifyTypeOperation(val, null, false); return new EqualTypeExpression((Val) v1, (Val) v2); } return new EqualExpression((Val) v1, (Val) v2); }
public Expression equal(Value v1, Value v2) { // if we're comparing an unaccessed bound variable, like in: // coll.contains (var) && var == x, then translate into: // coll.contains (x) if (v1 instanceof PCPath && ((PCPath) v1).isUnaccessedVariable()) return contains(v1, v2); if (v2 instanceof PCPath && ((PCPath) v2).isUnaccessedVariable()) return contains(v2, v1); if (v1 instanceof Type || v2 instanceof Type) { Value val = v1 instanceof Type ? v1 : v2; verifyTypeOperation(val, null, false); return new EqualTypeExpression((Val) v1, (Val) v2); } return new EqualExpression((Val) v1, (Val) v2); }
public Expression equal(Value v1, Value v2) { // if we're comparing an unaccessed bound variable, like in: // coll.contains (var) && var == x, then translate into: // coll.contains (x) if (v1 instanceof PCPath && ((PCPath) v1).isUnaccessedVariable()) return contains(v1, v2); if (v2 instanceof PCPath && ((PCPath) v2).isUnaccessedVariable()) return contains(v2, v1); if (v1 instanceof Type || v2 instanceof Type) { Value val = v1 instanceof Type ? v1 : v2; verifyTypeOperation(val, null, false); return new EqualTypeExpression((Val) v1, (Val) v2); } return new EqualExpression((Val) v1, (Val) v2); }
public Expression equal(Value v1, Value v2) { // if we're comparing an unaccessed bound variable, like in: // coll.contains (var) && var == x, then translate into: // coll.contains (x) if (v1 instanceof PCPath && ((PCPath) v1).isUnaccessedVariable()) return contains(v1, v2); if (v2 instanceof PCPath && ((PCPath) v2).isUnaccessedVariable()) return contains(v2, v1); if (v1 instanceof Type || v2 instanceof Type) { Value val = v1 instanceof Type ? v1 : v2; verifyTypeOperation(val, null, false); return new EqualTypeExpression((Val) v1, (Val) v2); } return new EqualExpression((Val) v1, (Val) v2); }
public Expression contains(Value map, Value arg) { if (map instanceof Const) { if (arg instanceof Type) { // limited support for table per class inheritance verifyTypeOperation(arg, map, false); if (((ClassMapping) arg.getMetaData()).getDiscriminator().getColumns().length == 0) return new EqualTypeExpression((Val) arg, (Val) map); } return new InExpression((Val) arg, (Const) map); } if (map instanceof SubQ) return new InSubQExpression((Val) arg, (SubQ) map); return new ContainsExpression((Val) map, (Val) arg); }
public Expression contains(Value map, Value arg) { if (map instanceof Const) { if (arg instanceof Type) { // limited support for table per class inheritance verifyTypeOperation(arg, map, false); if (((ClassMapping) arg.getMetaData()).getDiscriminator().getColumns().length == 0) return new EqualTypeExpression((Val) arg, (Val) map); } return new InExpression((Val) arg, (Const) map); } if (map instanceof SubQ) return new InSubQExpression((Val) arg, (SubQ) map); return new ContainsExpression((Val) map, (Val) arg); }
public Expression contains(Value map, Value arg) { if (map instanceof Const) { if (arg instanceof Type) { // limited support for table per class inheritance verifyTypeOperation(arg, map, false); if (((ClassMapping) arg.getMetaData()).getDiscriminator().getColumns().length == 0) return new EqualTypeExpression((Val) arg, (Val) map); } return new InExpression((Val) arg, (Const) map); } if (map instanceof SubQ) return new InSubQExpression((Val) arg, (SubQ) map); return new ContainsExpression((Val) map, (Val) arg); }
public Expression contains(Value map, Value arg) { if (map instanceof Const) { if (arg instanceof Type) { // limited support for table per class inheritance verifyTypeOperation(arg, map, false); if (((ClassMapping) arg.getMetaData()).getDiscriminator().getColumns().length == 0) return new EqualTypeExpression((Val) arg, (Val) map); } return new InExpression((Val) arg, (Const) map); } if (map instanceof SubQ) return new InSubQExpression((Val) arg, (SubQ) map); return new ContainsExpression((Val) map, (Val) arg); }