@Override public List<Expression<?>> getArgs() { return qTuple.getArgs(); }
@Test public void tuple_equals() { QTuple expr = new QTuple(str1, str2); assertEquals(expr.newInstance("str1", "str2"), expr.newInstance("str1", "str2")); }
/** * Create a new QTuple instance * * @param args */ protected QTuple(ImmutableList<Expression<?>> args) { super(Tuple.class); this.args = args; this.bindings = createBindings(this.args); }
@Test public void newInstance() { assertNotNull(new QTuple(str1, str1).newInstance(null, null)); assertNull(new QTuple(str1, str1).skipNulls().newInstance(null, null)); } }
/** * Create a Tuple typed projection for the given expressions * * @param exprs arguments for the projection * @return factory expression */ public static QTuple tuple(Expression<?>... exprs) { return new QTuple(exprs); }
@Override public T newInstance(Object... values) { return map(qTuple.newInstance(values)); }
@Override public boolean equals(Object obj) { if (obj == this) { return true; } else if (obj instanceof FactoryExpression) { FactoryExpression<?> c = (FactoryExpression<?>) obj; return args.equals(c.getArgs()) && getType().equals(c.getType()); } else { return false; } }
/** * Create a Tuple typed projection for the given expressions * * @param exprs arguments for the projection * @return factory expression */ public static QTuple tuple(Expression<?>[]... exprs) { return new QTuple(exprs); }
@Test public void newInstanceObjectArray() { Tuple tuple = tupleExpression.newInstance("1", 42, true); assertEquals(3, tuple.size()); assertEquals("1", tuple.get(0, String.class)); assertEquals(Integer.valueOf(42), tuple.get(1, Integer.class)); assertEquals(Boolean.TRUE, tuple.get(2, Boolean.class)); assertEquals("1", tuple.get(first)); assertEquals(Integer.valueOf(42), tuple.get(second)); assertEquals(Boolean.TRUE, tuple.get(third)); }
@Override public boolean equals(Object obj) { if (obj == this) { return true; } else if (obj instanceof FactoryExpression) { FactoryExpression<?> c = (FactoryExpression<?>) obj; return args.equals(c.getArgs()) && getType().equals(c.getType()); } else { return false; } }
@Test public void tuple_hashCode() { QTuple expr = new QTuple(str1, str2); assertEquals(expr.newInstance("str1", "str2").hashCode(), expr.newInstance("str1", "str2").hashCode()); }
/** * Create a Tuple typed projection for the given expressions * * @param exprs arguments for the projection * @return factory expression */ public static QTuple tuple(ImmutableList<Expression<?>> exprs) { return new QTuple(exprs); }
@Override public T newInstance(Object... values) { return map(qTuple.newInstance(values)); }
@Override public List<Expression<?>> getArgs() { return qTuple.getArgs(); }
/** * Create a new QTuple instance * * @param args */ protected QTuple(Expression<?>... args) { super(Tuple.class); this.args = ImmutableList.copyOf(args); this.bindings = createBindings(this.args); }
@Test public void serialize() throws ClassNotFoundException, IOException { QTuple e = new QTuple(Expressions.stringPath("x"), Expressions.numberPath(Integer.class, "y")); serialize(e); serialize(e.newInstance("a",1)); }