001 002package gudusoft.gsqlparser.dlineage.dataflow.model; 003 004import java.util.ArrayList; 005import java.util.List; 006 007import gudusoft.gsqlparser.ESqlClause; 008import gudusoft.gsqlparser.nodes.TParseTreeNode; 009 010public class RelationRowsRelationshipElement<T extends RelationRows<?>> implements RelationshipElement<T> { 011 012 private T rseduoRows; 013 014 private ESqlClause relationLocation; 015 016 private List<Transform> transforms = new ArrayList<Transform>(); 017 018 public RelationRowsRelationshipElement(T rseduoRows) { 019 this.rseduoRows = rseduoRows; 020 } 021 022 public RelationRowsRelationshipElement(T rseduoRows, 023 ESqlClause relationLocation ) 024 { 025 this.rseduoRows = rseduoRows; 026 this.relationLocation = relationLocation; 027 } 028 029 @Override 030 public T getElement() { 031 return rseduoRows; 032 } 033 034 public ESqlClause getRelationLocation() { 035 return relationLocation; 036 } 037 038 @Override 039 public int hashCode() { 040 final int prime = 31; 041 int result = 1; 042 result = prime * result + ((rseduoRows == null) ? 0 : rseduoRows.hashCode()); 043 result = prime * result + ((relationLocation == null) ? 0 : relationLocation.hashCode()); 044 return result; 045 } 046 047 @Override 048 public boolean equals(Object obj) { 049 if (this == obj) 050 return true; 051 if (obj == null) 052 return false; 053 if (getClass() != obj.getClass()) 054 return false; 055 RelationRowsRelationshipElement<?> other = (RelationRowsRelationshipElement<?>) obj; 056 if (rseduoRows == null) { 057 if (other.rseduoRows != null) 058 return false; 059 } else if (!rseduoRows.equals(other.rseduoRows)) 060 return false; 061 if (relationLocation != other.relationLocation) 062 return false; 063 return true; 064 } 065 066 @Override 067 public List<Transform> getTransforms() { 068 return transforms; 069 } 070 071 public void addTransform(String type, TParseTreeNode code) { 072// Transform transform = new Transform(); 073// transform.setType(type); 074// transform.setCode(code); 075// transforms.add(transform); 076 } 077 078}