diff --git a/jOOQ/src/main/java/org/jooq/impl/QOM.java b/jOOQ/src/main/java/org/jooq/impl/QOM.java index be6fe65a71..468dfe99c0 100644 --- a/jOOQ/src/main/java/org/jooq/impl/QOM.java +++ b/jOOQ/src/main/java/org/jooq/impl/QOM.java @@ -404,11 +404,11 @@ public final class QOM { } } - public /*sealed*/ interface With + public sealed interface With extends org.jooq.QueryPart - /*permits - WithImpl*/ + permits + WithImpl { @NotNull UnmodifiableList> $commonTableExpressions(); boolean $recursive(); @@ -565,32 +565,32 @@ public final class QOM { @NotNull DeleteReturning $returning(Collection returning); } - public /*sealed*/ interface CreateType + public sealed interface CreateType extends DDLQuery - /*permits - CreateTypeImpl*/ + permits + CreateTypeImpl { @NotNull Name $name(); @NotNull UnmodifiableList> $values(); } - public /*sealed*/ interface DropType + public sealed interface DropType extends DDLQuery - /*permits - DropTypeImpl*/ + permits + DropTypeImpl { @NotNull UnmodifiableList $names(); boolean $ifExists(); @Nullable Cascade $cascade(); } - public /*sealed*/ interface CreateView + public sealed interface CreateView extends DDLQuery - /*permits - CreateViewImpl*/ + permits + CreateViewImpl { boolean $ifNotExists(); boolean $orReplace(); @@ -611,6 +611,11 @@ public final class QOM { + + + + + public interface PrimaryKey extends Constraint { @NotNull UnmodifiableList> $fields(); } @@ -629,7 +634,12 @@ public final class QOM { // XXX: Statements // ------------------------------------------------------------------------- - public interface NullStatement extends Statement {} + public sealed interface NullStatement + extends + Statement + permits + org.jooq.impl.NullStatement + {} @@ -709,131 +719,134 @@ public final class QOM { // XXX: Conditions // ------------------------------------------------------------------------- - public /*sealed*/ interface CombinedCondition + public sealed interface CombinedCondition extends Condition, UCommutativeOperator - /*permits - MAnd, - MOr*/ + permits + And, + Or, + Xor {} - public /*sealed*/ interface CompareCondition + public sealed interface CompareCondition extends Condition, UOperator2, Field, Condition> - /*permits - MEq, - MNe, - MLt, - MLe, - MGt, - MGe, - MIsDistinctFrom, - MIsNotDistinctFrom, - MContains, - MContainsIgnoreCase, - MStartsWith, - MStartsWithIgnoreCase, - MEndsWith, - MEndsWithIgnoreCase*/ + permits + Eq, + Ne, + Lt, + Le, + Gt, + Ge, + IsDistinctFrom, + IsNotDistinctFrom, + Contains, + ContainsIgnoreCase, + StartsWith, + StartsWithIgnoreCase, + EndsWith, + EndsWithIgnoreCase {} - public interface Between + public sealed interface Between extends Condition, UOperator3, Field, Field, Condition> + permits + org.jooq.impl.BetweenCondition { boolean $symmetric(); @NotNull Between $symmetric(boolean symmetric); } - public /*sealed*/ interface InList + public sealed interface InList extends Condition, UOperator2, UnmodifiableList>, Condition> - /*permits - InList*/ + permits + org.jooq.impl.InList { @NotNull default Field $field() { return $arg1(); } @NotNull default UnmodifiableList> $list() { return $arg2(); } } - public /*sealed*/ interface NotInList + public sealed interface NotInList extends Condition, UOperator2, UnmodifiableList>, Condition> - /*permits - NotInList*/ + permits + org.jooq.impl.NotInList { @NotNull default Field $field() { return $arg1(); } @NotNull default UnmodifiableList> $list() { return $arg2(); } } - public /*sealed*/ interface RegexpLike + public sealed interface RegexpLike extends Condition - /*permits - RegexpLike*/ + permits + org.jooq.impl.RegexpLike { @NotNull Field $search(); @NotNull Field $pattern(); } - public /*sealed*/ interface Extract + public sealed interface Extract extends Field - /*permits - Extract*/ + permits + org.jooq.impl.Extract { @NotNull Field $field(); @NotNull DatePart $datePart(); } - public /*sealed*/ interface RowIsNull + public sealed interface RowIsNull extends Condition, UOperator1 - /*permits - RowIsNull*/ + permits + org.jooq.impl.RowIsNull { @NotNull default Row $field() { return $arg1(); } } - public /*sealed*/ interface RowIsNotNull + public sealed interface RowIsNotNull extends Condition, UOperator1 - /*permits - RowIsNotNull*/ + permits + org.jooq.impl.RowIsNotNull { @NotNull default Row $field() { return $arg1(); } } - public /*sealed*/ interface RowOverlaps + public sealed interface RowOverlaps extends Condition, UOperator2 - /*permits - RowOverlaps*/ + permits + org.jooq.impl.RowOverlaps {} - public /*sealed*/ interface SelectIsNull + public sealed interface SelectIsNull extends Condition, UOperator1, Condition> - /*permits - SelectIsNull*/ + permits + org.jooq.impl.SelectIsNull { @NotNull default Select $field() { return $arg1(); } } - public /*sealed*/ interface SelectIsNotNull + public sealed interface SelectIsNotNull extends Condition, UOperator1, Condition> - /*permits - SelectIsNotNull*/ + permits + org.jooq.impl.SelectIsNotNull { @NotNull default Select $field() { return $arg1(); } } @@ -843,20 +856,20 @@ public final class QOM { // XXX: Rows // ------------------------------------------------------------------------- - public /*sealed*/ interface RowAsField + public sealed interface RowAsField extends org.jooq.Field - /*permits - RowAsField*/ + permits + org.jooq.impl.RowAsField { @NotNull Row $row(); } - public /*sealed*/ interface TableAsField + public sealed interface TableAsField extends org.jooq.Field - /*permits - TableAsField*/ + permits + org.jooq.impl.TableAsField { @NotNull Table $table(); } @@ -1022,99 +1035,97 @@ public final class QOM { // XXX: SelectFields, GroupFields and SortFields // ------------------------------------------------------------------------- - // Can't seal these types yet because of https://bugs.eclipse.org/bugs/show_bug.cgi?id=577872 - - public non-sealed interface EmptyGroupingSet + public sealed interface EmptyGroupingSet extends GroupField, UEmpty - /*permits - org.jooq.impl.EmptyGroupingSet*/ + permits + org.jooq.impl.EmptyGroupingSet {} - public non-sealed interface Rollup + public sealed interface Rollup extends GroupField, UOperator1, GroupField> - /*permits - Rollup*/ + permits + org.jooq.impl.Rollup {} - public non-sealed interface Cube + public sealed interface Cube extends GroupField, UOperator1, GroupField> - /*permits - Cube*/ + permits + org.jooq.impl.Cube {} - public non-sealed interface GroupingSets + public sealed interface GroupingSets extends GroupField, UOperator1>, GroupField> - /*permits - GroupingSets*/ + permits + org.jooq.impl.GroupingSets {} // ------------------------------------------------------------------------- // XXX: Aggregate functions and window functions // ------------------------------------------------------------------------- - public /*sealed*/ interface RatioToReport + public sealed interface RatioToReport extends org.jooq.AggregateFunction - /*permits - RatioToReport*/ + permits + org.jooq.impl.RatioToReport { @NotNull Field $field(); } - public /*sealed*/ interface Mode + public sealed interface Mode extends org.jooq.AggregateFunction, UOperator1, org.jooq.AggregateFunction> - /*permits - Mode*/ + permits + org.jooq.impl.Mode { @NotNull default Field $field() { return $arg1(); } } - public /*sealed*/ interface MultisetAgg + public sealed interface MultisetAgg extends org.jooq.AggregateFunction> - /*permits - MultisetAgg*/ + permits + org.jooq.impl.MultisetAgg { @NotNull Row $row(); } - public /*sealed*/ interface ArrayAgg + public sealed interface ArrayAgg extends org.jooq.AggregateFunction, UOperator1, org.jooq.AggregateFunction> - /*permits - ArrayAgg*/ + permits + org.jooq.impl.ArrayAgg { @NotNull default Field $field() { return $arg1(); } boolean $distinct(); } - public /*sealed*/ interface XMLAgg + public sealed interface XMLAgg extends org.jooq.AggregateFunction, UOperator1, org.jooq.AggregateFunction> - /*permits - XMLAgg*/ + permits + org.jooq.impl.XMLAgg { @NotNull default Field $field() { return $arg1(); } } - public /*sealed*/ interface JSONArrayAgg + public sealed interface JSONArrayAgg extends org.jooq.AggregateFunction, UOperator1, org.jooq.AggregateFunction> - /*permits - JSONArrayAgg*/ + permits + org.jooq.impl.JSONArrayAgg { @NotNull default Field $field() { return $arg1(); } boolean $distinct(); @@ -1122,22 +1133,23 @@ public final class QOM { @Nullable DataType $returning(); } - public /*sealed*/ interface JSONObjectAgg + public sealed interface JSONObjectAgg extends org.jooq.AggregateFunction, UOperator1, org.jooq.AggregateFunction> - /*permits JSONObjectAgg*/ + permits + org.jooq.impl.JSONObjectAgg { @NotNull default JSONEntry $entry() { return $arg1(); } @Nullable JSONOnNull $onNull(); @Nullable DataType $returning(); } - public /*sealed*/ interface CountTable + public sealed interface CountTable extends org.jooq.AggregateFunction - /*permits - CountTable*/ + permits + org.jooq.impl.CountTable { @NotNull Table $table(); boolean $distinct(); @@ -1158,54 +1170,55 @@ public final class QOM { @Nullable WindowDefinition $windowDefinition(); } - public /*sealed*/ interface RowNumber + public sealed interface RowNumber extends WindowFunction - /*permits - RowNumber*/ + permits + org.jooq.impl.RowNumber {} - public /*sealed*/ interface Rank + public sealed interface Rank extends WindowFunction - /*permits - Rank*/ + permits + org.jooq.impl.Rank {} - public /*sealed*/ interface DenseRank + public sealed interface DenseRank extends WindowFunction - /*permits - DenseRank*/ + permits + org.jooq.impl.DenseRank {} - public /*sealed*/ interface PercentRank + public sealed interface PercentRank extends WindowFunction - /*permits - PercentRank*/ + permits + org.jooq.impl.PercentRank {} - public /*sealed*/ interface CumeDist + public sealed interface CumeDist extends WindowFunction - /*permits - CumeDist*/ + permits + org.jooq.impl.CumeDist {} - public /*sealed*/ interface Ntile + public sealed interface Ntile extends WindowFunction - /*permits Ntile*/ + permits + org.jooq.impl.Ntile { @NotNull Field $tiles(); } - public /*sealed*/ interface Lead + public sealed interface Lead extends WindowFunction - /*permits - Lead*/ + permits + org.jooq.impl.Lead { @NotNull Field $field(); @Nullable Field $offset(); @@ -1213,11 +1226,11 @@ public final class QOM { @Nullable NullTreatment $nullTreatment(); } - public /*sealed*/ interface Lag + public sealed interface Lag extends WindowFunction - /*permits - Lag*/ + permits + org.jooq.impl.Lag { @NotNull Field $field(); @Nullable Field $offset(); @@ -1225,31 +1238,31 @@ public final class QOM { @Nullable NullTreatment $nullTreatment(); } - public /*sealed*/ interface FirstValue + public sealed interface FirstValue extends WindowFunction - /*permits - FirstValue*/ + permits + org.jooq.impl.FirstValue { @NotNull Field $field(); @Nullable NullTreatment $nullTreatment(); } - public /*sealed*/ interface LastValue + public sealed interface LastValue extends WindowFunction - /*permits - LastValue*/ + permits + org.jooq.impl.LastValue { @NotNull Field $field(); @Nullable NullTreatment $nullTreatment(); } - public /*sealed*/ interface NthValue + public sealed interface NthValue extends WindowFunction - /*permits - NthValue*/ + permits + org.jooq.impl.NthValue { @NotNull Field $field(); @Nullable FromFirstOrLast $fromFirstOrLast(); @@ -1286,37 +1299,37 @@ public final class QOM { @NotNull UnmodifiableList> $args(); } - public /*sealed*/ interface Cast + public sealed interface Cast extends Field - /*permits - Cast*/ + permits + org.jooq.impl.Cast { @NotNull Field $field(); } - public /*sealed*/ interface Coerce + public sealed interface Coerce extends Field - /*permits - Coerce*/ + permits + org.jooq.impl.Coerce { @NotNull Field $field(); } - public /*sealed*/ interface Default + public sealed interface Default extends Field, UEmpty - /*permits - Default*/ + permits + org.jooq.impl.Default {} - public /*sealed*/ interface Collated + public sealed interface Collated extends Field - /*permits - Collated*/ + permits + org.jooq.impl.Collated { @NotNull Field $field(); @NotNull Collation $collation(); @@ -1340,100 +1353,102 @@ public final class QOM { @NotNull Select> $select(); } - public /*sealed*/ interface Multiset + public sealed interface Multiset extends org.jooq.Field> - /*permits - Multiset*/ + permits + org.jooq.impl.Multiset { @NotNull TableLike $table(); } - public /*sealed*/ interface ScalarSubquery + public sealed interface ScalarSubquery extends Field, UOperator1>, Field> - /*permits - ScalarSubquery*/ + permits + org.jooq.impl.ScalarSubquery {} - public /*sealed*/ interface Neg + public sealed interface Neg extends UReturnsNullOnNullInput, Field, UOperator1, Field> - /*permits - Neg*/ + permits + org.jooq.impl.Neg {} - public /*sealed*/ interface Greatest + public sealed interface Greatest extends Field, UOperator1>, Field> - /*permits - Greatest*/ + permits + org.jooq.impl.Greatest {} - public /*sealed*/ interface Least + public sealed interface Least extends Field, UOperator1>, Field> - /*permits - Least*/ + permits + org.jooq.impl.Least {} - public /*sealed*/ interface Choose + public sealed interface Choose extends Field, UOperator2, UnmodifiableList>, Field> - /*permits - Choose*/ + permits + org.jooq.impl.Choose {} - public /*sealed*/ interface FieldFunction + public sealed interface FieldFunction extends Field, UOperator2, UnmodifiableList>, Field> - /*permits - FieldFunction*/ + permits + org.jooq.impl.FieldFunction {} - public /*sealed*/ interface Nvl2 + public sealed interface Nvl2 extends Field, UOperator3, Field, Field, Field> - /*permits - Nvl2*/ + permits + org.jooq.impl.Nvl2 { @NotNull default Field $value() { return $arg1(); } @NotNull default Field $ifNotNull() { return $arg2(); } @NotNull default Field $ifIfNull() { return $arg3(); } } - public /*sealed*/ interface Iif + public sealed interface Iif extends Field, UOperator3, Field, Field> - /*permits - Iif*/ + permits + org.jooq.impl.Iif { @NotNull default Condition $condition() { return $arg1(); } @NotNull default Field $ifTrue() { return $arg2(); } @NotNull default Field $ifFalse() { return $arg3(); } } - public /*sealed*/ interface Coalesce + public sealed interface Coalesce extends Field, UOperator1>, Field> - /*permits - Coalesce*/ + permits + org.jooq.impl.Coalesce {} - public /*sealed*/ interface CaseSimple + public sealed interface CaseSimple extends Field, UOperator3, UnmodifiableList, Field>>, Field, CaseSimple> + permits + org.jooq.impl.CaseSimple { @NotNull default Field $value() { return $arg1(); } @CheckReturnValue @@ -1446,10 +1461,12 @@ public final class QOM { @NotNull default CaseSimple $else(Field else_) { return $arg3(else_); } } - public /*sealed*/ interface CaseSearched + public sealed interface CaseSearched extends Field, UOperator2>>, Field, CaseSearched> + permits + org.jooq.impl.CaseSearched { @NotNull default UnmodifiableList>> $when() { return $arg1(); } @CheckReturnValue @@ -1459,10 +1476,12 @@ public final class QOM { @NotNull default CaseSearched $else(Field else_) { return $arg2(else_); } } - public /*sealed*/ interface Decode + public sealed interface Decode extends Field, UOperator3, UnmodifiableList, Field>>, Field, Decode> + permits + org.jooq.impl.Decode { @NotNull default Field $value() { return $arg1(); } @CheckReturnValue @@ -1475,97 +1494,97 @@ public final class QOM { @NotNull default Decode $else(Field else_) { return $arg3(else_); } } - public /*sealed*/ interface Concat + public sealed interface Concat extends Field, UOperator1>, Field> - /*permits - Concat*/ + permits + org.jooq.impl.Concat {} - public /*sealed*/ interface TimestampDiff + public sealed interface TimestampDiff extends Field, UOperator2, Field, Field> - /*permits - TimestampDiff*/ + permits + org.jooq.impl.TimestampDiff { @NotNull default Field $minuend() { return $arg1(); } @NotNull default Field $subtrahend() { return $arg2(); } } - public /*sealed*/ interface Convert + public sealed interface Convert extends Field - /*permits - ConvertDateTime*/ + permits + org.jooq.impl.ConvertDateTime { @NotNull Field $field(); int $style(); } - public /*sealed*/ interface CurrentDate + public sealed interface CurrentDate extends Field, UEmpty - /*permits - CurrentDate*/ + permits + org.jooq.impl.CurrentDate {} - public /*sealed*/ interface CurrentTime + public sealed interface CurrentTime extends Field, UEmpty - /*permits - CurrentTime*/ + permits + org.jooq.impl.CurrentTime {} - public /*sealed*/ interface CurrentTimestamp + public sealed interface CurrentTimestamp extends Field, UEmpty - /*permits - CurrentTimestamp*/ + permits + org.jooq.impl.CurrentTimestamp {} - public /*sealed*/ interface XMLQuery + public sealed interface XMLQuery extends Field - /*permits - XMLQuery*/ + permits + org.jooq.impl.XMLQuery { @NotNull Field $xpath(); @NotNull Field $passing(); @Nullable XMLPassingMechanism $passingMechanism(); } - public /*sealed*/ interface XMLElement + public sealed interface XMLElement extends Field - /*permits - XMLElement*/ + permits + org.jooq.impl.XMLElement { @NotNull Name $elementName(); @NotNull XMLAttributes $attributes(); @NotNull UnmodifiableList> $content(); } - public /*sealed*/ interface XMLExists + public sealed interface XMLExists extends Condition - /*permits - XMLExists*/ + permits + org.jooq.impl.XMLExists { @NotNull Field $xpath(); @NotNull Field $passing(); @Nullable XMLPassingMechanism $passingMechanism(); } - public /*sealed*/ interface XMLParse + public sealed interface XMLParse extends Field - /*permits - XMLParse*/ + permits + org.jooq.impl.XMLParse { @NotNull Field $content(); @NotNull DocumentOrContent $documentOrContent();