public class ColumnSourceWithReferences extends Object
A normalized column name may correspond to multiple original references in SQL.
For example, in Oracle SQL SELECT "Column1", column1 FROM dual:
Design pattern: Aggregator for Many-to-One mapping
| Constructor and Description |
|---|
ColumnSourceWithReferences(String normalizedName,
ColumnSource canonicalSource)
Create a new column source with references.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addReference(ColumnReference ref)
Add an original reference.
|
List<String> |
getAllOriginalTexts()
Get all original texts from all references.
|
List<ColumnReference> |
getAllReferences()
Get all original references.
|
ColumnReference |
getCanonicalReference()
Get the first (canonical) reference.
|
ColumnSource |
getCanonicalSource()
Get the canonical column source.
|
String |
getNormalizedName()
Get the normalized name.
|
int |
getReferenceCount()
Get the number of references.
|
boolean |
hasMultipleReferences()
Check if there are multiple references (indicating deduplication occurred).
|
String |
toString() |
public ColumnSourceWithReferences(String normalizedName, ColumnSource canonicalSource)
normalizedName - normalized column namecanonicalSource - the canonical column sourcepublic void addReference(ColumnReference ref)
ref - the column reference to addpublic List<ColumnReference> getAllReferences()
public int getReferenceCount()
public boolean hasMultipleReferences()
public ColumnReference getCanonicalReference()
public String getNormalizedName()
public ColumnSource getCanonicalSource()
public List<String> getAllOriginalTexts()