[#6013] Add Name Name.qualifier()
This commit is contained in:
parent
ef4f47454d
commit
3e6b4eb187
@ -82,6 +82,11 @@ public interface Name extends QueryPart {
|
||||
*/
|
||||
boolean qualified();
|
||||
|
||||
/**
|
||||
* This name's qualifier (if it is {@link #qualified()}), or <code>null</code>.
|
||||
*/
|
||||
Name qualifier();
|
||||
|
||||
/**
|
||||
* The qualified name of this SQL identifier.
|
||||
*/
|
||||
|
||||
@ -36,8 +36,6 @@ package org.jooq.impl;
|
||||
|
||||
import static org.jooq.tools.StringUtils.defaultIfNull;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.jooq.Context;
|
||||
import org.jooq.DataType;
|
||||
import org.jooq.Field;
|
||||
@ -68,7 +66,7 @@ final class QualifiedField<T> extends AbstractField<T> implements TableField<Rec
|
||||
|
||||
this.name = name;
|
||||
this.table = name.qualified()
|
||||
? DSL.table(DSL.name(Arrays.copyOf(name.getName(), name.getName().length - 1)))
|
||||
? DSL.table(name.qualifier())
|
||||
: null;
|
||||
}
|
||||
|
||||
|
||||
@ -153,6 +153,18 @@ final class QualifiedName extends AbstractName {
|
||||
return qualifiedName.length > 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Name qualifier() {
|
||||
if (qualifiedName.length <= 1)
|
||||
return null;
|
||||
if (qualifiedName.length == 2)
|
||||
return qualifiedName[0];
|
||||
|
||||
UnqualifiedName[] qualifier = new UnqualifiedName[qualifiedName.length - 1];
|
||||
System.arraycopy(qualifiedName, 0, qualifier, 0, qualifier.length);
|
||||
return new QualifiedName(qualifier);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final String[] getName() {
|
||||
String[] result = new String[qualifiedName.length];
|
||||
|
||||
@ -35,6 +35,7 @@
|
||||
package org.jooq.impl;
|
||||
|
||||
import org.jooq.Context;
|
||||
import org.jooq.Name;
|
||||
|
||||
/**
|
||||
* The default implementation for an unqualified SQL identifier.
|
||||
@ -88,6 +89,11 @@ final class UnqualifiedName extends AbstractName {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Name qualifier() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final String[] getName() {
|
||||
return new String[] { name };
|
||||
|
||||
Loading…
Reference in New Issue
Block a user