diff --git a/jOOQ/src/main/java/org/jooq/Name.java b/jOOQ/src/main/java/org/jooq/Name.java index 4cd66bf127..3ab0a815d3 100644 --- a/jOOQ/src/main/java/org/jooq/Name.java +++ b/jOOQ/src/main/java/org/jooq/Name.java @@ -87,6 +87,11 @@ public interface Name extends QueryPart { */ Name qualifier(); + /** + * This name, unqualified. + */ + Name unqualifiedName(); + /** * The qualified name of this SQL identifier. */ diff --git a/jOOQ/src/main/java/org/jooq/impl/QualifiedName.java b/jOOQ/src/main/java/org/jooq/impl/QualifiedName.java index 6638276016..de71ecd4b6 100644 --- a/jOOQ/src/main/java/org/jooq/impl/QualifiedName.java +++ b/jOOQ/src/main/java/org/jooq/impl/QualifiedName.java @@ -165,6 +165,14 @@ final class QualifiedName extends AbstractName { return new QualifiedName(qualifier); } + @Override + public final Name unqualifiedName() { + if (qualifiedName.length <= 1) + return this; + else + return qualifiedName[qualifiedName.length - 1]; + } + @Override public final String[] getName() { String[] result = new String[qualifiedName.length]; diff --git a/jOOQ/src/main/java/org/jooq/impl/UnqualifiedName.java b/jOOQ/src/main/java/org/jooq/impl/UnqualifiedName.java index 3c6b9370fc..cc532bee4a 100644 --- a/jOOQ/src/main/java/org/jooq/impl/UnqualifiedName.java +++ b/jOOQ/src/main/java/org/jooq/impl/UnqualifiedName.java @@ -94,6 +94,11 @@ final class UnqualifiedName extends AbstractName { return null; } + @Override + public final Name unqualifiedName() { + return this; + } + @Override public final String[] getName() { return new String[] { name };