[jOOQ/jOOQ#12425] Made some QOM types sealed (WIP)
This commit is contained in:
parent
16a1a75379
commit
25d6cbd768
@ -38,7 +38,7 @@
|
||||
package org.jooq;
|
||||
|
||||
import org.jooq.impl.DSL;
|
||||
import org.jooq.impl.QOM.MXmlAttributes;
|
||||
import org.jooq.impl.QOM.MXMLAttributes;
|
||||
|
||||
/**
|
||||
* A type modelling XML attributes for use in
|
||||
@ -46,6 +46,6 @@ import org.jooq.impl.QOM.MXmlAttributes;
|
||||
*
|
||||
* @author Lukas Eder
|
||||
*/
|
||||
public interface XMLAttributes extends QueryPart, MXmlAttributes {
|
||||
public interface XMLAttributes extends QueryPart, MXMLAttributes {
|
||||
|
||||
}
|
||||
|
||||
@ -1972,7 +1972,7 @@ abstract class AbstractField<T> extends AbstractTypedNamed<T> implements Field<T
|
||||
|
||||
@Override
|
||||
public final Field<String> collate(Collation collation) {
|
||||
return new CollatedField(this, collation);
|
||||
return new Collated(this, collation);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -58,12 +58,12 @@ import org.jooq.impl.QOM.MQueryPart;
|
||||
/**
|
||||
* @author Lukas Eder
|
||||
*/
|
||||
final class ArraySelect<T> extends AbstractField<T[]> implements MArrayQuery<T> {
|
||||
final class ArrayQuery<T> extends AbstractField<T[]> implements MArrayQuery<T> {
|
||||
|
||||
private final Select<? extends Record1<T>> select;
|
||||
|
||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||
ArraySelect(Select<? extends Record1<T>> select) {
|
||||
ArrayQuery(Select<? extends Record1<T>> select) {
|
||||
super(N_ARRAY, (DataType) select.getSelect().get(0).getDataType().getArrayDataType());
|
||||
|
||||
this.select = select;
|
||||
@ -120,6 +120,6 @@ final class ArraySelect<T> extends AbstractField<T[]> implements MArrayQuery<T>
|
||||
Predicate<? super MQueryPart> recurse,
|
||||
Function1<? super MQueryPart, ? extends MQueryPart> replacement
|
||||
) {
|
||||
return QOM.replace(this, select, ArraySelect::new, recurse, replacement);
|
||||
return QOM.replace(this, select, ArrayQuery::new, recurse, replacement);
|
||||
}
|
||||
}
|
||||
@ -56,12 +56,12 @@ import org.jooq.impl.QOM.MQueryPart;
|
||||
/**
|
||||
* @author Lukas Eder
|
||||
*/
|
||||
final class CollatedField extends AbstractField<String> implements MCollated {
|
||||
final class Collated extends AbstractField<String> implements MCollated {
|
||||
|
||||
private final Field<?> field;
|
||||
private final Collation collation;
|
||||
|
||||
CollatedField(Field<?> field, Collation collation) {
|
||||
Collated(Field<?> field, Collation collation) {
|
||||
super(field.getQualifiedName(), type(field), field.getCommentPart(), binding(field));
|
||||
|
||||
this.field = field;
|
||||
@ -107,7 +107,7 @@ final class CollatedField extends AbstractField<String> implements MCollated {
|
||||
Predicate<? super MQueryPart> recurse,
|
||||
Function1<? super MQueryPart, ? extends MQueryPart> replacement
|
||||
) {
|
||||
return QOM.replace(this, field, collation, CollatedField::new, recurse, replacement);
|
||||
return QOM.replace(this, field, collation, Collated::new, recurse, replacement);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -23715,7 +23715,7 @@ public class DSL {
|
||||
@NotNull
|
||||
@Support({ H2, HSQLDB, POSTGRES, YUGABYTE })
|
||||
public static <T> Field<T[]> array(Select<? extends Record1<T>> select) {
|
||||
return new ArraySelect<>(select);
|
||||
return new ArrayQuery<>(select);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -45,13 +45,13 @@ import java.util.function.Predicate;
|
||||
|
||||
import org.jooq.Context;
|
||||
import org.jooq.Function1;
|
||||
import org.jooq.impl.QOM.MDenseRank;
|
||||
import org.jooq.impl.QOM.MQueryPart;
|
||||
import org.jooq.impl.QOM.MRank;
|
||||
|
||||
/**
|
||||
* @author Lukas Eder
|
||||
*/
|
||||
final class DenseRank extends AbstractWindowFunction<Integer> implements MRank {
|
||||
final class DenseRank extends AbstractWindowFunction<Integer> implements MDenseRank {
|
||||
|
||||
DenseRank() {
|
||||
super(N_DENSE_RANK, INTEGER.notNull());
|
||||
|
||||
@ -52,7 +52,7 @@ import org.jooq.impl.QOM.UTransient;
|
||||
/**
|
||||
* @author Lukas Eder
|
||||
*/
|
||||
final class FetchCount extends AbstractResultQuery<Record1<Integer>> implements UTransient {
|
||||
final class FetchCount extends AbstractResultQuery<Record1<Integer>> implements UEmpty {
|
||||
|
||||
private final Field<?>[] count = { count().as("c") };
|
||||
private final Select<?> query;
|
||||
|
||||
@ -40,12 +40,13 @@ package org.jooq.impl;
|
||||
import static org.jooq.impl.Names.N_LAG;
|
||||
|
||||
import org.jooq.Field;
|
||||
import org.jooq.impl.QOM.MLag;
|
||||
import org.jooq.impl.QOM.MLead;
|
||||
|
||||
/**
|
||||
* @author Lukas Eder
|
||||
*/
|
||||
final class Lag<T> extends AbstractLeadLag<T> implements MLead<T> {
|
||||
final class Lag<T> extends AbstractLeadLag<T> implements MLag<T> {
|
||||
|
||||
Lag(Field<T> field, Field<Integer> offset, Field<T> defaultValue) {
|
||||
super(N_LAG, field, offset, defaultValue);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -765,7 +765,7 @@ final class RowImpl2<T1, T2> extends AbstractRow<Record2<T1, T2>> implements Row
|
||||
|
||||
@Override
|
||||
public final Condition overlaps(Row2<T1, T2> row) {
|
||||
return new RowOverlapsCondition<>(this, row);
|
||||
return new RowOverlaps<>(this, row);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -76,13 +76,13 @@ import org.jooq.Row;
|
||||
import org.jooq.Row2;
|
||||
import org.jooq.SQLDialect;
|
||||
import org.jooq.impl.QOM.MCondition;
|
||||
import org.jooq.impl.QOM.MOverlaps;
|
||||
import org.jooq.impl.QOM.MRowOverlaps;
|
||||
import org.jooq.impl.QOM.MRow;
|
||||
|
||||
/**
|
||||
* @author Lukas Eder
|
||||
*/
|
||||
final class RowOverlapsCondition<T1, T2> extends AbstractCondition implements MOverlaps {
|
||||
final class RowOverlaps<T1, T2> extends AbstractCondition implements MRowOverlaps {
|
||||
|
||||
private static final Set<SQLDialect> EMULATE_NON_STANDARD_OVERLAPS = SQLDialect.supportedUntil(CUBRID, DERBY, FIREBIRD, H2, MARIADB, MYSQL, SQLITE);
|
||||
private static final Set<SQLDialect> EMULATE_INTERVAL_OVERLAPS = SQLDialect.supportedBy(HSQLDB);
|
||||
@ -91,7 +91,7 @@ final class RowOverlapsCondition<T1, T2> extends AbstractCondition implements MO
|
||||
private final Row2<T1, T2> right;
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
RowOverlapsCondition(Row2<T1, T2> left, Row2<T1, T2> right) {
|
||||
RowOverlaps(Row2<T1, T2> left, Row2<T1, T2> right) {
|
||||
this.left = (Row2<T1, T2>) ((AbstractRow<?>) left).convertTo(right);
|
||||
this.right = (Row2<T1, T2>) ((AbstractRow<?>) right).convertTo(left);
|
||||
}
|
||||
@ -163,6 +163,6 @@ final class RowOverlapsCondition<T1, T2> extends AbstractCondition implements MO
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public final Function2<? super MRow, ? super MRow, ? extends MCondition> constructor() {
|
||||
return (r1, r2) -> new RowOverlapsCondition<>((Row2<T1, T2>) r1, (Row2<T1, T2>) r2);
|
||||
return (r1, r2) -> new RowOverlaps<>((Row2<T1, T2>) r1, (Row2<T1, T2>) r2);
|
||||
}
|
||||
}
|
||||
@ -54,7 +54,7 @@ import org.jooq.Name;
|
||||
import org.jooq.XMLAttributes;
|
||||
import org.jooq.impl.QOM.MList;
|
||||
import org.jooq.impl.QOM.MQueryPart;
|
||||
import org.jooq.impl.QOM.MXmlAttributes;
|
||||
import org.jooq.impl.QOM.MXMLAttributes;
|
||||
|
||||
/**
|
||||
* @author Lukas Eder
|
||||
|
||||
@ -62,12 +62,12 @@ import org.jooq.XML;
|
||||
import org.jooq.XMLAttributes;
|
||||
import org.jooq.impl.QOM.MList;
|
||||
import org.jooq.impl.QOM.MQueryPart;
|
||||
import org.jooq.impl.QOM.MXmlelement;
|
||||
import org.jooq.impl.QOM.MXMLElement;
|
||||
|
||||
/**
|
||||
* @author Lukas Eder
|
||||
*/
|
||||
final class XMLElement extends AbstractField<XML> implements MXmlelement {
|
||||
final class XMLElement extends AbstractField<XML> implements MXMLElement {
|
||||
|
||||
private final Name elementName;
|
||||
private final XMLAttributes attributes;
|
||||
|
||||
@ -53,7 +53,7 @@ import org.jooq.Function1;
|
||||
import org.jooq.XML;
|
||||
import org.jooq.XMLExistsPassingStep;
|
||||
import org.jooq.impl.QOM.MQueryPart;
|
||||
import org.jooq.impl.QOM.MXmlexists;
|
||||
import org.jooq.impl.QOM.MXMLExists;
|
||||
import org.jooq.impl.QOM.UNotYetImplemented;
|
||||
import org.jooq.impl.QOM.XmlPassingMechanism;
|
||||
|
||||
@ -61,7 +61,7 @@ import org.jooq.impl.QOM.XmlPassingMechanism;
|
||||
/**
|
||||
* @author Lukas Eder
|
||||
*/
|
||||
final class XMLExists extends AbstractCondition implements XMLExistsPassingStep, MXmlexists, UNotYetImplemented {
|
||||
final class XMLExists extends AbstractCondition implements XMLExistsPassingStep, MXMLExists, UNotYetImplemented {
|
||||
private final Field<String> xpath;
|
||||
private final Field<XML> passing;
|
||||
private final XmlPassingMechanism passingMechanism;
|
||||
|
||||
@ -59,13 +59,13 @@ import org.jooq.Function1;
|
||||
import org.jooq.XML;
|
||||
import org.jooq.impl.QOM.DocumentOrContent;
|
||||
import org.jooq.impl.QOM.MQueryPart;
|
||||
import org.jooq.impl.QOM.MXmlparse;
|
||||
import org.jooq.impl.QOM.MXMLParse;
|
||||
|
||||
|
||||
/**
|
||||
* @author Lukas Eder
|
||||
*/
|
||||
final class XMLParse extends AbstractField<XML> implements MXmlparse {
|
||||
final class XMLParse extends AbstractField<XML> implements MXMLParse {
|
||||
private final Field<String> content;
|
||||
private final DocumentOrContent documentOrContent;
|
||||
|
||||
|
||||
@ -59,13 +59,13 @@ import org.jooq.Function1;
|
||||
import org.jooq.XML;
|
||||
import org.jooq.XMLQueryPassingStep;
|
||||
import org.jooq.impl.QOM.MQueryPart;
|
||||
import org.jooq.impl.QOM.MXmlquery;
|
||||
import org.jooq.impl.QOM.MXMLQuery;
|
||||
import org.jooq.impl.QOM.XmlPassingMechanism;
|
||||
|
||||
/**
|
||||
* @author Lukas Eder
|
||||
*/
|
||||
final class XMLQuery extends AbstractField<XML> implements XMLQueryPassingStep, MXmlquery {
|
||||
final class XMLQuery extends AbstractField<XML> implements XMLQueryPassingStep, MXMLQuery {
|
||||
private final Field<String> xpath;
|
||||
private final Field<XML> passing;
|
||||
private final XmlPassingMechanism passingMechanism;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user