diff --git a/jOOQ/src/main/java/org/jooq/Name.java b/jOOQ/src/main/java/org/jooq/Name.java index 800a2ed925..2998989594 100644 --- a/jOOQ/src/main/java/org/jooq/Name.java +++ b/jOOQ/src/main/java/org/jooq/Name.java @@ -156,10 +156,21 @@ public interface Name extends QueryPart, Comparable { /** * Whether this is a qualified name. *

- * This is true as soon as {@link #getName()} has a length of more than 1. + * This is true as soon as {@link #getName()} has a length of + * more than 1 and {@link #qualifier()} is not null. */ boolean qualified(); + /** + * Whether this is a qualified name and the {@link #qualifier()} is also a + * qualified name. + *

+ * This is true as soon as {@link #getName()} has a length of + * more than 2 and {@link #qualifier()} is not null and its + * {@link #qualified()} property is also true. + */ + boolean qualifierQualified(); + /** * This name's qualifier (if it is {@link #qualified()}), or null. */ diff --git a/jOOQ/src/main/java/org/jooq/impl/QualifiedName.java b/jOOQ/src/main/java/org/jooq/impl/QualifiedName.java index a079846e2b..80c060e5cd 100644 --- a/jOOQ/src/main/java/org/jooq/impl/QualifiedName.java +++ b/jOOQ/src/main/java/org/jooq/impl/QualifiedName.java @@ -192,6 +192,11 @@ final class QualifiedName extends AbstractName { return qualifiedName.length > 1; } + @Override + public final boolean qualifierQualified() { + return qualifiedName.length > 2; + } + @Override public final Name qualifier() { if (qualifiedName.length <= 1) diff --git a/jOOQ/src/main/java/org/jooq/impl/UnqualifiedName.java b/jOOQ/src/main/java/org/jooq/impl/UnqualifiedName.java index e72ecf8bd5..9265b7232b 100644 --- a/jOOQ/src/main/java/org/jooq/impl/UnqualifiedName.java +++ b/jOOQ/src/main/java/org/jooq/impl/UnqualifiedName.java @@ -106,6 +106,11 @@ final class UnqualifiedName extends AbstractName { return false; } + @Override + public final boolean qualifierQualified() { + return false; + } + @Override public final Name qualifier() { return null;