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}