@Override public JoinFromBuilder innerJoin(Table table) { if (table == null) { throw new IllegalArgumentException("table cannot be null"); } return new JoinFromBuilderImpl(getQuery(), fromItem, table, JoinType.INNER, getDataContext()); }
@Override public SatisfiedFromBuilder on(String left, String right) throws IllegalArgumentException { Table leftTable = leftItem.getTable(); if (leftTable == null) { throw new IllegalArgumentException("Left side of join is not a Table, cannot resolve ON item: '" + left + "'."); } Table rightTable = rightItem.getTable(); if (rightTable == null) { throw new IllegalArgumentException("Right side of join is not a Table, cannot resolve ON item: '" + right + "'."); } Column leftColumn = leftTable.getColumnByName(left); Column rightColumn = rightTable.getColumnByName(right); return on(leftColumn, rightColumn); }
@Override public SatisfiedFromBuilder on(Column left, Column right) throws IllegalArgumentException { if (left == null) { throw new IllegalArgumentException("left cannot be null"); } if (right == null) { throw new IllegalArgumentException("right cannot be null"); } getQuery().getFromClause().removeItem(leftItem); SelectItem[] leftOn = new SelectItem[] { new SelectItem(left) }; SelectItem[] rightOn = new SelectItem[] { new SelectItem(right) }; FromItem fromItem = new FromItem(joinType, leftItem, rightItem, leftOn, rightOn); getQuery().from(fromItem); return this; }
@Override public SatisfiedFromBuilder on(String left, String right) throws IllegalArgumentException { Table leftTable = leftItem.getTable(); if (leftTable == null) { throw new IllegalArgumentException("Left side of join is not a Table, cannot resolve ON item: '" + left + "'."); } Table rightTable = rightItem.getTable(); if (rightTable == null) { throw new IllegalArgumentException("Right side of join is not a Table, cannot resolve ON item: '" + right + "'."); } Column leftColumn = leftTable.getColumnByName(left); Column rightColumn = rightTable.getColumnByName(right); return on(leftColumn, rightColumn); }
@Override public SatisfiedFromBuilder on(Column left, Column right) throws IllegalArgumentException { if (left == null) { throw new IllegalArgumentException("left cannot be null"); } if (right == null) { throw new IllegalArgumentException("right cannot be null"); } getQuery().getFromClause().removeItem(leftItem); SelectItem[] leftOn = new SelectItem[] { new SelectItem(left) }; SelectItem[] rightOn = new SelectItem[] { new SelectItem(right) }; FromItem fromItem = new FromItem(joinType, leftItem, rightItem, leftOn, rightOn); getQuery().from(fromItem); return this; }
@Override public JoinFromBuilder rightJoin(Table table) { if (table == null) { throw new IllegalArgumentException("table cannot be null"); } return new JoinFromBuilderImpl(getQuery(), fromItem, table, JoinType.RIGHT, getDataContext()); }
@Override public JoinFromBuilder innerJoin(Table table) { if (table == null) { throw new IllegalArgumentException("table cannot be null"); } return new JoinFromBuilderImpl(getQuery(), fromItem, table, JoinType.INNER, getDataContext()); }
@Override public JoinFromBuilder leftJoin(Table table) { if (table == null) { throw new IllegalArgumentException("table cannot be null"); } return new JoinFromBuilderImpl(getQuery(), fromItem, table, JoinType.LEFT, getDataContext()); }
@Override public JoinFromBuilder leftJoin(Table table) { if (table == null) { throw new IllegalArgumentException("table cannot be null"); } return new JoinFromBuilderImpl(getQuery(), fromItem, table, JoinType.LEFT, getDataContext()); }
@Override public JoinFromBuilder rightJoin(Table table) { if (table == null) { throw new IllegalArgumentException("table cannot be null"); } return new JoinFromBuilderImpl(getQuery(), fromItem, table, JoinType.RIGHT, getDataContext()); }