/*
 * Copyright (c) 2018, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
 *
 * WSO2 Inc. licenses this file to you under the Apache License,
 * Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

package org.wso2.carbon.siddhi.editor.core.util.designview.beans.configs;

import org.wso2.carbon.siddhi.editor.core.util.designview.constants.NodeType;

/**
 * Represents a connection between two Siddhi app design view elements
 */
public class Edge {
    private String id;
    private String parentId;
    private NodeType parentType;
    private String childId;
    private NodeType childType;

    public Edge(String id, String parentId, NodeType parentType, String childId, NodeType childType) {
        this.id = id;
        this.parentId = parentId;
        this.parentType = parentType;
        this.childId = childId;
        this.childType = childType;
    }

    public String getId() {
        return id;
    }

    public String getParentId() {
        return parentId;
    }

    public NodeType getParentType() {
        return parentType;
    }

    public String getChildId() {
        return childId;
    }

    public NodeType getChildType() {
        return childType;
    }
}

@@ -822,16 +822,43 @@
 eType;%0A%0A
+import java.util.Objects;%0A%0A
 /**%0A * R
@@ -1690,11 +1690,377 @@
 e;%0A    %7D
+%0A%0A    @Override%0A    public boolean equals(Object o) %7B%0A        if (this == o) %7B%0A            return true;%0A        %7D%0A        if (o == null %7C%7C getClass() != o.getClass()) %7B%0A            return false;%0A        %7D%0A        Edge edge = (Edge) o;%0A        return Objects.equals(id, edge.id);%0A    %7D%0A%0A    @Override%0A    public int hashCode() %7B%0A        return Objects.hash(id);%0A    %7D
 %0A%7D%0A

Implement equals and hashCode methods for Edge