org.jooq.impl.RowImpl5 Maven / Gradle / Ivy
/*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Other licenses:
* -----------------------------------------------------------------------------
* Commercial licenses for this work are available. These replace the above
* Apache-2.0 license and offer limited warranties, support, maintenance, and
* commercial database integrations.
*
* For more information, please visit: http://www.jooq.org/licenses
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package org.jooq.impl;
import static org.jooq.impl.DSL.row;
import java.util.Arrays;
import java.util.Collection;
import org.jooq.BetweenAndStep5;
import org.jooq.Comparator;
import org.jooq.Condition;
import org.jooq.DataType;
import org.jooq.Field;
import org.jooq.Function5;
import org.jooq.QuantifiedSelect;
import org.jooq.Record;
import org.jooq.Record5;
import org.jooq.Records;
import org.jooq.Result;
import org.jooq.Row;
import org.jooq.Row5;
import org.jooq.Select;
import org.jooq.SelectField;
import org.jooq.Statement;
import org.jetbrains.annotations.NotNull;
/**
* @author Lukas Eder
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
final class RowImpl5
extends
AbstractRow>
implements
Row5 {
RowImpl5(SelectField field1, SelectField field2, SelectField field3, SelectField field4, SelectField field5) {
super(field1, field2, field3, field4, field5);
}
RowImpl5(FieldsImpl> fields) {
super((FieldsImpl) fields);
}
// ------------------------------------------------------------------------
// Mapping convenience methods
// ------------------------------------------------------------------------
@Override
public final SelectField mapping(Function5 super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? extends U> function) {
return convertFrom(r -> r == null ? null : function.apply(r.value1(), r.value2(), r.value3(), r.value4(), r.value5()));
}
@Override
public final SelectField mapping(Class uType, Function5 super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? extends U> function) {
return convertFrom(uType, r -> r == null ? null : function.apply(r.value1(), r.value2(), r.value3(), r.value4(), r.value5()));
}
// ------------------------------------------------------------------------
// XXX: Row accessor API
// ------------------------------------------------------------------------
@Override
public final Field field1() {
return (@NotNull Field) fields.field(0);
}
@Override
public final Field field2() {
return (@NotNull Field) fields.field(1);
}
@Override
public final Field field3() {
return (@NotNull Field) fields.field(2);
}
@Override
public final Field field4() {
return (@NotNull Field) fields.field(3);
}
@Override
public final Field field5() {
return (@NotNull Field) fields.field(4);
}
// ------------------------------------------------------------------------
// Generic comparison predicates
// ------------------------------------------------------------------------
@Override
public final Condition compare(Comparator comparator, Row5 row) {
return new RowCondition(this, row, comparator);
}
@Override
public final Condition compare(Comparator comparator, Record5 record) {
return new RowCondition(this, record.valuesRow(), comparator);
}
@Override
public final Condition compare(Comparator comparator, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
return compare(comparator, row(Tools.field(t1, (DataType) dataType(0)), Tools.field(t2, (DataType) dataType(1)), Tools.field(t3, (DataType) dataType(2)), Tools.field(t4, (DataType) dataType(3)), Tools.field(t5, (DataType) dataType(4))));
}
@Override
public final Condition compare(Comparator comparator, Field t1, Field t2, Field t3, Field t4, Field t5) {
return compare(comparator, row(Tools.nullSafe(t1, dataType(0)), Tools.nullSafe(t2, dataType(1)), Tools.nullSafe(t3, dataType(2)), Tools.nullSafe(t4, dataType(3)), Tools.nullSafe(t5, dataType(4))));
}
@Override
public final Condition compare(Comparator comparator, Select extends Record5> select) {
return new RowSubqueryCondition(this, select, comparator);
}
@Override
public final Condition compare(Comparator comparator, QuantifiedSelect extends Record5> select) {
return new RowSubqueryCondition(this, select, comparator);
}
// ------------------------------------------------------------------------
// Equal / Not equal comparison predicates
// ------------------------------------------------------------------------
@Override
public final Condition equal(Row5 row) {
return compare(Comparator.EQUALS, row);
}
@Override
public final Condition equal(Record5 record) {
return compare(Comparator.EQUALS, record);
}
@Override
public final Condition equal(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
return compare(Comparator.EQUALS, t1, t2, t3, t4, t5);
}
@Override
public final Condition equal(Field t1, Field t2, Field t3, Field t4, Field t5) {
return compare(Comparator.EQUALS, t1, t2, t3, t4, t5);
}
@Override
public final Condition eq(Row5 row) {
return equal(row);
}
@Override
public final Condition eq(Record5 record) {
return equal(record);
}
@Override
public final Condition eq(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
return equal(t1, t2, t3, t4, t5);
}
@Override
public final Condition eq(Field t1, Field t2, Field t3, Field t4, Field t5) {
return equal(t1, t2, t3, t4, t5);
}
@Override
public final Condition notEqual(Row5 row) {
return compare(Comparator.NOT_EQUALS, row);
}
@Override
public final Condition notEqual(Record5 record) {
return compare(Comparator.NOT_EQUALS, record);
}
@Override
public final Condition notEqual(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
return compare(Comparator.NOT_EQUALS, t1, t2, t3, t4, t5);
}
@Override
public final Condition notEqual(Field t1, Field t2, Field t3, Field t4, Field t5) {
return compare(Comparator.NOT_EQUALS, t1, t2, t3, t4, t5);
}
@Override
public final Condition ne(Row5 row) {
return notEqual(row);
}
@Override
public final Condition ne(Record5 record) {
return notEqual(record);
}
@Override
public final Condition ne(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
return notEqual(t1, t2, t3, t4, t5);
}
@Override
public final Condition ne(Field t1, Field t2, Field t3, Field t4, Field t5) {
return notEqual(t1, t2, t3, t4, t5);
}
// ------------------------------------------------------------------------
// Ordering comparison predicates
// ------------------------------------------------------------------------
@Override
public final Condition lessThan(Row5 row) {
return compare(Comparator.LESS, row);
}
@Override
public final Condition lessThan(Record5 record) {
return compare(Comparator.LESS, record);
}
@Override
public final Condition lessThan(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
return compare(Comparator.LESS, t1, t2, t3, t4, t5);
}
@Override
public final Condition lessThan(Field t1, Field t2, Field t3, Field t4, Field t5) {
return compare(Comparator.LESS, t1, t2, t3, t4, t5);
}
@Override
public final Condition lt(Row5 row) {
return lessThan(row);
}
@Override
public final Condition lt(Record5 record) {
return lessThan(record);
}
@Override
public final Condition lt(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
return lessThan(t1, t2, t3, t4, t5);
}
@Override
public final Condition lt(Field t1, Field t2, Field t3, Field t4, Field t5) {
return lessThan(t1, t2, t3, t4, t5);
}
@Override
public final Condition lessOrEqual(Row5 row) {
return compare(Comparator.LESS_OR_EQUAL, row);
}
@Override
public final Condition lessOrEqual(Record5 record) {
return compare(Comparator.LESS_OR_EQUAL, record);
}
@Override
public final Condition lessOrEqual(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
return compare(Comparator.LESS_OR_EQUAL, t1, t2, t3, t4, t5);
}
@Override
public final Condition lessOrEqual(Field t1, Field t2, Field t3, Field t4, Field t5) {
return compare(Comparator.LESS_OR_EQUAL, t1, t2, t3, t4, t5);
}
@Override
public final Condition le(Row5 row) {
return lessOrEqual(row);
}
@Override
public final Condition le(Record5 record) {
return lessOrEqual(record);
}
@Override
public final Condition le(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
return lessOrEqual(t1, t2, t3, t4, t5);
}
@Override
public final Condition le(Field t1, Field t2, Field t3, Field t4, Field t5) {
return lessOrEqual(t1, t2, t3, t4, t5);
}
@Override
public final Condition greaterThan(Row5 row) {
return compare(Comparator.GREATER, row);
}
@Override
public final Condition greaterThan(Record5 record) {
return compare(Comparator.GREATER, record);
}
@Override
public final Condition greaterThan(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
return compare(Comparator.GREATER, t1, t2, t3, t4, t5);
}
@Override
public final Condition greaterThan(Field t1, Field t2, Field t3, Field t4, Field t5) {
return compare(Comparator.GREATER, t1, t2, t3, t4, t5);
}
@Override
public final Condition gt(Row5 row) {
return greaterThan(row);
}
@Override
public final Condition gt(Record5 record) {
return greaterThan(record);
}
@Override
public final Condition gt(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
return greaterThan(t1, t2, t3, t4, t5);
}
@Override
public final Condition gt(Field t1, Field t2, Field t3, Field t4, Field t5) {
return greaterThan(t1, t2, t3, t4, t5);
}
@Override
public final Condition greaterOrEqual(Row5 row) {
return compare(Comparator.GREATER_OR_EQUAL, row);
}
@Override
public final Condition greaterOrEqual(Record5 record) {
return compare(Comparator.GREATER_OR_EQUAL, record);
}
@Override
public final Condition greaterOrEqual(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
return compare(Comparator.GREATER_OR_EQUAL, t1, t2, t3, t4, t5);
}
@Override
public final Condition greaterOrEqual(Field t1, Field t2, Field t3, Field t4, Field t5) {
return compare(Comparator.GREATER_OR_EQUAL, t1, t2, t3, t4, t5);
}
@Override
public final Condition ge(Row5 row) {
return greaterOrEqual(row);
}
@Override
public final Condition ge(Record5 record) {
return greaterOrEqual(record);
}
@Override
public final Condition ge(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
return greaterOrEqual(t1, t2, t3, t4, t5);
}
@Override
public final Condition ge(Field t1, Field t2, Field t3, Field t4, Field t5) {
return greaterOrEqual(t1, t2, t3, t4, t5);
}
// ------------------------------------------------------------------------
// [NOT] BETWEEN predicates
// ------------------------------------------------------------------------
@Override
public final BetweenAndStep5 between(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
return between(row(Tools.field(t1, (DataType) dataType(0)), Tools.field(t2, (DataType) dataType(1)), Tools.field(t3, (DataType) dataType(2)), Tools.field(t4, (DataType) dataType(3)), Tools.field(t5, (DataType) dataType(4))));
}
@Override
public final BetweenAndStep5 between(Field t1, Field t2, Field t3, Field t4, Field t5) {
return between(row(t1, t2, t3, t4, t5));
}
@Override
public final BetweenAndStep5 between(Row5 row) {
return new RowBetweenCondition<>(this, row, false, false);
}
@Override
public final BetweenAndStep5 between(Record5 record) {
return between(record.valuesRow());
}
@Override
public final Condition between(Row5 minValue, Row5 maxValue) {
return between(minValue).and(maxValue);
}
@Override
public final Condition between(Record5 minValue, Record5 maxValue) {
return between(minValue).and(maxValue);
}
@Override
public final BetweenAndStep5 betweenSymmetric(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
return betweenSymmetric(row(Tools.field(t1, (DataType) dataType(0)), Tools.field(t2, (DataType) dataType(1)), Tools.field(t3, (DataType) dataType(2)), Tools.field(t4, (DataType) dataType(3)), Tools.field(t5, (DataType) dataType(4))));
}
@Override
public final BetweenAndStep5 betweenSymmetric(Field t1, Field t2, Field t3, Field t4, Field t5) {
return betweenSymmetric(row(t1, t2, t3, t4, t5));
}
@Override
public final BetweenAndStep5 betweenSymmetric(Row5 row) {
return new RowBetweenCondition<>(this, row, false, true);
}
@Override
public final BetweenAndStep5 betweenSymmetric(Record5 record) {
return betweenSymmetric(record.valuesRow());
}
@Override
public final Condition betweenSymmetric(Row5 minValue, Row5 maxValue) {
return betweenSymmetric(minValue).and(maxValue);
}
@Override
public final Condition betweenSymmetric(Record5 minValue, Record5 maxValue) {
return betweenSymmetric(minValue).and(maxValue);
}
@Override
public final BetweenAndStep5 notBetween(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
return notBetween(row(Tools.field(t1, (DataType) dataType(0)), Tools.field(t2, (DataType) dataType(1)), Tools.field(t3, (DataType) dataType(2)), Tools.field(t4, (DataType) dataType(3)), Tools.field(t5, (DataType) dataType(4))));
}
@Override
public final BetweenAndStep5 notBetween(Field t1, Field t2, Field t3, Field t4, Field t5) {
return notBetween(row(t1, t2, t3, t4, t5));
}
@Override
public final BetweenAndStep5 notBetween(Row5 row) {
return new RowBetweenCondition<>(this, row, true, false);
}
@Override
public final BetweenAndStep5 notBetween(Record5 record) {
return notBetween(record.valuesRow());
}
@Override
public final Condition notBetween(Row5 minValue, Row5 maxValue) {
return notBetween(minValue).and(maxValue);
}
@Override
public final Condition notBetween(Record5 minValue, Record5 maxValue) {
return notBetween(minValue).and(maxValue);
}
@Override
public final BetweenAndStep5 notBetweenSymmetric(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
return notBetweenSymmetric(row(Tools.field(t1, (DataType) dataType(0)), Tools.field(t2, (DataType) dataType(1)), Tools.field(t3, (DataType) dataType(2)), Tools.field(t4, (DataType) dataType(3)), Tools.field(t5, (DataType) dataType(4))));
}
@Override
public final BetweenAndStep5 notBetweenSymmetric(Field t1, Field t2, Field t3, Field t4, Field t5) {
return notBetweenSymmetric(row(t1, t2, t3, t4, t5));
}
@Override
public final BetweenAndStep5 notBetweenSymmetric(Row5 row) {
return new RowBetweenCondition<>(this, row, true, true);
}
@Override
public final BetweenAndStep5 notBetweenSymmetric(Record5 record) {
return notBetweenSymmetric(record.valuesRow());
}
@Override
public final Condition notBetweenSymmetric(Row5 minValue, Row5 maxValue) {
return notBetweenSymmetric(minValue).and(maxValue);
}
@Override
public final Condition notBetweenSymmetric(Record5 minValue, Record5 maxValue) {
return notBetweenSymmetric(minValue).and(maxValue);
}
// ------------------------------------------------------------------------
// [NOT] DISTINCT predicates
// ------------------------------------------------------------------------
@Override
public final Condition isNotDistinctFrom(Row5 row) {
return new RowIsDistinctFrom(this, row, true);
}
@Override
public final Condition isNotDistinctFrom(Record5 record) {
return isNotDistinctFrom(record.valuesRow());
}
@Override
public final Condition isNotDistinctFrom(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
return isNotDistinctFrom(Tools.field(t1, (DataType) dataType(0)), Tools.field(t2, (DataType) dataType(1)), Tools.field(t3, (DataType) dataType(2)), Tools.field(t4, (DataType) dataType(3)), Tools.field(t5, (DataType) dataType(4)));
}
@Override
public final Condition isNotDistinctFrom(Field t1, Field t2, Field t3, Field t4, Field t5) {
return isNotDistinctFrom(row(t1, t2, t3, t4, t5));
}
@Override
public final Condition isNotDistinctFrom(Select extends Record5> select) {
return new RowIsDistinctFrom(this, select, true);
}
@Override
public final Condition isDistinctFrom(Row5 row) {
return new RowIsDistinctFrom(this, row, false);
}
@Override
public final Condition isDistinctFrom(Record5 record) {
return isDistinctFrom(record.valuesRow());
}
@Override
public final Condition isDistinctFrom(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
return isDistinctFrom(Tools.field(t1, (DataType) dataType(0)), Tools.field(t2, (DataType) dataType(1)), Tools.field(t3, (DataType) dataType(2)), Tools.field(t4, (DataType) dataType(3)), Tools.field(t5, (DataType) dataType(4)));
}
@Override
public final Condition isDistinctFrom(Field t1, Field t2, Field t3, Field t4, Field t5) {
return isDistinctFrom(row(t1, t2, t3, t4, t5));
}
@Override
public final Condition isDistinctFrom(Select extends Record5> select) {
return new RowIsDistinctFrom(this, select, false);
}
// ------------------------------------------------------------------------
// [NOT] IN predicates
// ------------------------------------------------------------------------
@Override
public final Condition in(Row5... rows) {
return in(Arrays.asList(rows));
}
@Override
public final Condition in(Record5... records) {
QueryPartList rows = new QueryPartList<>();
for (Record record : records)
rows.add(record.valuesRow());
return new RowInCondition(this, rows, false);
}
@Override
public final Condition notIn(Row5... rows) {
return notIn(Arrays.asList(rows));
}
@Override
public final Condition notIn(Record5... records) {
QueryPartList rows = new QueryPartList<>();
for (Record record : records)
rows.add(record.valuesRow());
return new RowInCondition(this, rows, true);
}
@Override
public final Condition in(Collection extends Row5> rows) {
return new RowInCondition(this, new QueryPartList(rows), false);
}
@Override
public final Condition in(Result extends Record5> result) {
return new RowInCondition(this, new QueryPartList(Tools.rows(result)), false);
}
@Override
public final Condition notIn(Collection extends Row5> rows) {
return new RowInCondition(this, new QueryPartList(rows), true);
}
@Override
public final Condition notIn(Result extends Record5> result) {
return new RowInCondition(this, new QueryPartList(Tools.rows(result)), true);
}
// ------------------------------------------------------------------------
// Predicates involving subqueries
// ------------------------------------------------------------------------
@Override
public final Condition equal(Select extends Record5> select) {
return compare(Comparator.EQUALS, select);
}
@Override
public final Condition equal(QuantifiedSelect extends Record5> select) {
return compare(Comparator.EQUALS, select);
}
@Override
public final Condition eq(Select extends Record5> select) {
return equal(select);
}
@Override
public final Condition eq(QuantifiedSelect extends Record5> select) {
return equal(select);
}
@Override
public final Condition notEqual(Select extends Record5> select) {
return compare(Comparator.NOT_EQUALS, select);
}
@Override
public final Condition notEqual(QuantifiedSelect extends Record5> select) {
return compare(Comparator.NOT_EQUALS, select);
}
@Override
public final Condition ne(Select extends Record5> select) {
return notEqual(select);
}
@Override
public final Condition ne(QuantifiedSelect extends Record5> select) {
return notEqual(select);
}
@Override
public final Condition greaterThan(Select extends Record5> select) {
return compare(Comparator.GREATER, select);
}
@Override
public final Condition greaterThan(QuantifiedSelect extends Record5> select) {
return compare(Comparator.GREATER, select);
}
@Override
public final Condition gt(Select extends Record5> select) {
return greaterThan(select);
}
@Override
public final Condition gt(QuantifiedSelect extends Record5> select) {
return greaterThan(select);
}
@Override
public final Condition greaterOrEqual(Select extends Record5> select) {
return compare(Comparator.GREATER_OR_EQUAL, select);
}
@Override
public final Condition greaterOrEqual(QuantifiedSelect extends Record5> select) {
return compare(Comparator.GREATER_OR_EQUAL, select);
}
@Override
public final Condition ge(Select extends Record5> select) {
return greaterOrEqual(select);
}
@Override
public final Condition ge(QuantifiedSelect extends Record5> select) {
return greaterOrEqual(select);
}
@Override
public final Condition lessThan(Select extends Record5> select) {
return compare(Comparator.LESS, select);
}
@Override
public final Condition lessThan(QuantifiedSelect extends Record5> select) {
return compare(Comparator.LESS, select);
}
@Override
public final Condition lt(Select extends Record5> select) {
return lessThan(select);
}
@Override
public final Condition lt(QuantifiedSelect extends Record5> select) {
return lessThan(select);
}
@Override
public final Condition lessOrEqual(Select extends Record5> select) {
return compare(Comparator.LESS_OR_EQUAL, select);
}
@Override
public final Condition lessOrEqual(QuantifiedSelect extends Record5> select) {
return compare(Comparator.LESS_OR_EQUAL, select);
}
@Override
public final Condition le(Select extends Record5> select) {
return lessOrEqual(select);
}
@Override
public final Condition le(QuantifiedSelect extends Record5> select) {
return lessOrEqual(select);
}
@Override
public final Condition in(Select extends Record5> select) {
return compare(Comparator.IN, select);
}
@Override
public final Condition notIn(Select extends Record5> select) {
return compare(Comparator.NOT_IN, select);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy