public class ResolutionEvidence extends Object
This class consolidates the scattered evidence/confidence information from various resolver components into a single, consistent structure. It provides:
EvidenceType,
ColumnSource| Constructor and Description |
|---|
ResolutionEvidence(EvidenceType type,
double weight)
Create a simple ResolutionEvidence with just type and weight.
|
ResolutionEvidence(EvidenceType type,
double weight,
String message,
SourceLocation location)
Create a ResolutionEvidence without source node.
|
ResolutionEvidence(EvidenceType type,
double weight,
String message,
SourceLocation location,
TParseTreeNode sourceNode)
Create a new ResolutionEvidence with all fields.
|
ResolutionEvidence(EvidenceType type,
double weight,
String message,
TParseTreeNode node)
Create a ResolutionEvidence from an AST node.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object obj) |
static ResolutionEvidence |
fromCTEExplicitColumn(String cteName,
String columnName,
TParseTreeNode node)
Create evidence for CTE explicit column list.
|
static ResolutionEvidence |
fromCTEImplicitColumn(String cteName,
String columnName,
TParseTreeNode node)
Create evidence for CTE implicit column (from subquery).
|
static ResolutionEvidence |
fromDDL(String tableName,
String columnName,
TParseTreeNode node)
Create evidence for DDL-defined column (CREATE TABLE in same script).
|
static ResolutionEvidence |
fromGuessStrategy(String columnName,
String chosenTable,
String strategy,
TParseTreeNode node)
Create evidence for guess strategy application.
|
static ResolutionEvidence |
fromInsertColumnList(String tableName,
String columnName,
TParseTreeNode node)
Create evidence for INSERT column list.
|
static ResolutionEvidence |
fromJoinCondition(String tableName,
String columnName,
TParseTreeNode node)
Create evidence for JOIN condition.
|
static ResolutionEvidence |
fromLegacyEvidence(String legacyEvidence,
double confidence,
TParseTreeNode node)
Deprecated.
Use specific factory methods instead
|
static ResolutionEvidence |
fromMetadata(String tableName,
String columnName,
TParseTreeNode node)
Create evidence for metadata-backed resolution (DDL, SQLEnv).
|
static ResolutionEvidence |
fromQualifiedReference(String tableName,
String columnName,
boolean hasMetadata,
TParseTreeNode node)
Create evidence for qualified reference (table.column).
|
static ResolutionEvidence |
fromSelectList(String tableName,
String columnName,
TParseTreeNode node)
Create evidence for SELECT list.
|
static ResolutionEvidence |
fromStarInference(String columnName,
String namespaceName,
boolean isQualified,
TParseTreeNode node)
Create evidence for star column inference (outer reference pushdown).
|
static ResolutionEvidence |
fromStructFieldAccess(String baseColumn,
String fieldPath,
double baseConfidence,
TParseTreeNode node)
Create evidence for struct field access (BigQuery/Snowflake).
|
static ResolutionEvidence |
fromUnqualifiedReference(String columnName,
int tableCount,
TParseTreeNode node)
Create evidence for unqualified reference.
|
static ResolutionEvidence |
fromUpdateSet(String tableName,
String columnName,
TParseTreeNode node)
Create evidence for UPDATE SET clause.
|
SourceLocation |
getLocation() |
String |
getMessage() |
TParseTreeNode |
getSourceNode() |
EvidenceType |
getType() |
double |
getWeight() |
int |
hashCode() |
boolean |
isDefinite()
Check if this evidence represents a definite resolution.
|
boolean |
isHighConfidence()
Check if this evidence represents a high-confidence resolution.
|
boolean |
isInferred()
Check if this evidence represents an inferred resolution.
|
String |
toLegacyEvidence()
Convert to legacy string evidence format.
|
String |
toString() |
ResolutionEvidence |
withAppendedMessage(String additionalMessage)
Create a copy with appended message.
|
ResolutionEvidence |
withWeight(double newWeight)
Create a copy with updated weight.
|
public ResolutionEvidence(EvidenceType type, double weight, String message, SourceLocation location, TParseTreeNode sourceNode)
type - The evidence typeweight - Confidence weight [0.0, 1.0]message - Human-readable descriptionlocation - Source locationsourceNode - The AST node (optional)public ResolutionEvidence(EvidenceType type, double weight, String message, SourceLocation location)
public ResolutionEvidence(EvidenceType type, double weight, String message, TParseTreeNode node)
public ResolutionEvidence(EvidenceType type, double weight)
public static ResolutionEvidence fromMetadata(String tableName, String columnName, TParseTreeNode node)
public static ResolutionEvidence fromDDL(String tableName, String columnName, TParseTreeNode node)
public static ResolutionEvidence fromQualifiedReference(String tableName, String columnName, boolean hasMetadata, TParseTreeNode node)
public static ResolutionEvidence fromUnqualifiedReference(String columnName, int tableCount, TParseTreeNode node)
public static ResolutionEvidence fromCTEExplicitColumn(String cteName, String columnName, TParseTreeNode node)
public static ResolutionEvidence fromCTEImplicitColumn(String cteName, String columnName, TParseTreeNode node)
public static ResolutionEvidence fromStarInference(String columnName, String namespaceName, boolean isQualified, TParseTreeNode node)
public static ResolutionEvidence fromJoinCondition(String tableName, String columnName, TParseTreeNode node)
public static ResolutionEvidence fromInsertColumnList(String tableName, String columnName, TParseTreeNode node)
public static ResolutionEvidence fromUpdateSet(String tableName, String columnName, TParseTreeNode node)
public static ResolutionEvidence fromSelectList(String tableName, String columnName, TParseTreeNode node)
public static ResolutionEvidence fromStructFieldAccess(String baseColumn, String fieldPath, double baseConfidence, TParseTreeNode node)
public static ResolutionEvidence fromGuessStrategy(String columnName, String chosenTable, String strategy, TParseTreeNode node)
@Deprecated public static ResolutionEvidence fromLegacyEvidence(String legacyEvidence, double confidence, TParseTreeNode node)
public EvidenceType getType()
public double getWeight()
public String getMessage()
public SourceLocation getLocation()
public TParseTreeNode getSourceNode()
public boolean isDefinite()
public boolean isHighConfidence()
public boolean isInferred()
public ResolutionEvidence withWeight(double newWeight)
public ResolutionEvidence withAppendedMessage(String additionalMessage)
public String toLegacyEvidence()