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}