001package gudusoft.gsqlparser.common.structured; 002 003import java.util.Objects; 004 005public final class StructuredArrayType implements StructuredType { 006 007 private final StructuredType elementType; 008 009 public StructuredArrayType(StructuredType elementType) { 010 if (elementType == null) { 011 throw new IllegalArgumentException("elementType must not be null"); 012 } 013 this.elementType = elementType; 014 } 015 016 public StructuredType getElementType() { 017 return elementType; 018 } 019 020 @Override 021 public String toDisplayString() { 022 return "ARRAY<" + elementType.toDisplayString() + ">"; 023 } 024 025 @Override 026 public boolean equals(Object o) { 027 if (this == o) return true; 028 if (!(o instanceof StructuredArrayType)) return false; 029 return elementType.equals(((StructuredArrayType) o).elementType); 030 } 031 032 @Override 033 public int hashCode() { 034 return Objects.hash("ARRAY", elementType); 035 } 036 037 @Override 038 public String toString() { 039 return toDisplayString(); 040 } 041}