001package gudusoft.gsqlparser.common.structured; 002 003public final class StructuredFieldBinding { 004 005 private final String outputFieldName; 006 private final StructuredColumnPath sourcePath; 007 private final StructuredType fieldType; 008 009 public StructuredFieldBinding(String outputFieldName, 010 StructuredColumnPath sourcePath, 011 StructuredType fieldType) { 012 if (outputFieldName == null || outputFieldName.isEmpty()) { 013 throw new IllegalArgumentException("outputFieldName must be non-empty"); 014 } 015 if (sourcePath == null) { 016 throw new IllegalArgumentException("sourcePath must not be null"); 017 } 018 this.outputFieldName = outputFieldName; 019 this.sourcePath = sourcePath; 020 this.fieldType = fieldType; 021 } 022 023 public String getOutputFieldName() { 024 return outputFieldName; 025 } 026 027 public StructuredColumnPath getSourcePath() { 028 return sourcePath; 029 } 030 031 public StructuredType getFieldType() { 032 return fieldType; 033 } 034}