@Override public final void addJoinOnKey(TableLike<?> table, JoinType type, ForeignKey<?, ?> key) { // TODO: This and similar methods should be refactored, patterns extracted... int index = getFrom().size() - 1; Table<?> joined = null; switch (type) { case JOIN: joined = getFrom().get(index).join(table).onKey(key); break; case LEFT_OUTER_JOIN: joined = getFrom().get(index).leftOuterJoin(table).onKey(key); break; case RIGHT_OUTER_JOIN: joined = getFrom().get(index).rightOuterJoin(table).onKey(key); break; case FULL_OUTER_JOIN: joined = getFrom().get(index).fullOuterJoin(table).onKey(key); break; default: throw new IllegalArgumentException("JoinType " + type + " is not supported with the addJoinOnKey() method. Use INNER or OUTER JOINs only"); } getFrom().set(index, joined); }
@Override public final void addJoinOnKey(TableLike<?> table, JoinType type) throws DataAccessException { // TODO: This and similar methods should be refactored, patterns extracted... int index = getFrom().size() - 1; Table<?> joined = null; switch (type) { case JOIN: joined = getFrom().get(index).join(table).onKey(); break; case LEFT_OUTER_JOIN: joined = getFrom().get(index).leftOuterJoin(table).onKey(); break; case RIGHT_OUTER_JOIN: joined = getFrom().get(index).rightOuterJoin(table).onKey(); break; case FULL_OUTER_JOIN: joined = getFrom().get(index).fullOuterJoin(table).onKey(); break; default: throw new IllegalArgumentException("JoinType " + type + " is not supported with the addJoinOnKey() method. Use INNER or OUTER JOINs only"); } getFrom().set(index, joined); }
@Override public final void addJoinOnKey(TableLike<?> table, JoinType type, TableField<?, ?>... keyFields) throws DataAccessException { // TODO: This and similar methods should be refactored, patterns extracted... int index = getFrom().size() - 1; Table<?> joined = null; switch (type) { case JOIN: joined = getFrom().get(index).join(table).onKey(keyFields); break; case LEFT_OUTER_JOIN: joined = getFrom().get(index).leftOuterJoin(table).onKey(keyFields); break; case RIGHT_OUTER_JOIN: joined = getFrom().get(index).rightOuterJoin(table).onKey(keyFields); break; case FULL_OUTER_JOIN: joined = getFrom().get(index).fullOuterJoin(table).onKey(keyFields); break; default: throw new IllegalArgumentException("JoinType " + type + " is not supported with the addJoinOnKey() method. Use INNER or OUTER JOINs only"); } getFrom().set(index, joined); }
@Override public final void addJoinUsing(TableLike<?> table, JoinType type, Collection<? extends Field<?>> fields) { // TODO: This and similar methods should be refactored, patterns extracted... int index = getFrom().size() - 1; Table<?> joined = null; switch (type) { case JOIN: joined = getFrom().get(index).join(table).using(fields); break; case LEFT_OUTER_JOIN: joined = getFrom().get(index).leftOuterJoin(table).using(fields); break; case RIGHT_OUTER_JOIN: joined = getFrom().get(index).rightOuterJoin(table).using(fields); break; case FULL_OUTER_JOIN: joined = getFrom().get(index).fullOuterJoin(table).using(fields); break; default: throw new IllegalArgumentException("JoinType " + type + " is not supported with the addJoinUsing() method. Use INNER or OUTER JOINs only"); } getFrom().set(index, joined); }
TablePartitionByStep p = getFrom().get(index).rightOuterJoin(table); TableOnStep o = p;