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