public final class ColumnResolution extends Object
ColumnRef to its base relation / final table
(GAP 5). Pairs the resolved qualified name with an explicit
ColumnResolutionStatus so an unresolved column is surfaced
honestly rather than as a silent empty.
Invariants:
ColumnResolutionStatus.RESOLVED ⇒
resolvedTableQualifiedName != null.ColumnResolutionStatus.UNRESOLVED /
ColumnResolutionStatus.NOT_APPLICABLE ⇒
resolvedTableQualifiedName == null; a final table is
never fabricated.Immutable. Introduced by join-analysis slice 162 (S1); populated
from ColumnBinding in slice 165 (S4).
| Modifier and Type | Field and Description |
|---|---|
static ColumnResolution |
NOT_APPLICABLE
Shared singleton for the not-applicable case.
|
static ColumnResolution |
UNRESOLVED
Shared singleton for the unresolved case.
|
| Constructor and Description |
|---|
ColumnResolution(String resolvedTableQualifiedName,
ColumnResolutionStatus status) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object o) |
String |
getResolvedTableQualifiedName()
Null when not
ColumnResolutionStatus.RESOLVED. |
ColumnResolutionStatus |
getStatus() |
int |
hashCode() |
boolean |
isResolved() |
static ColumnResolution |
resolved(String resolvedTableQualifiedName)
Convenience: build a RESOLVED resolution.
|
String |
toString() |
public static final ColumnResolution UNRESOLVED
public static final ColumnResolution NOT_APPLICABLE
public ColumnResolution(String resolvedTableQualifiedName, ColumnResolutionStatus status)
public static ColumnResolution resolved(String resolvedTableQualifiedName)
public String getResolvedTableQualifiedName()
ColumnResolutionStatus.RESOLVED.public ColumnResolutionStatus getStatus()
public boolean isResolved()