summaryrefslogtreecommitdiff
path: root/src/main/java/IChannelNode.java
blob: 463f3ac743d99bfde43221c5a25f64203e129e92 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.util.List;
import java.util.Map;

public interface IChannelNode {
    enum Direction {
        INCOMING,
        OUTGOING,
        BOTH
    }

    void setConnections(Map<IChannelNode, Integer> conmap, Direction dir);
    void addConnection(IChannelNode node, Direction dir);
    void addConnections(Iterable<IChannelNode> nodes, Direction dir);
    void removeConnection(IChannelNode node, Direction dir);
    void removeConnections(Iterable<IChannelNode> nodes, Direction dir);
    void clearConnections(Direction dir);

    boolean connectionExists(IChannelNode node, Direction dir);
    Map<IChannelNode, Integer> getIncomingConnections();
    Map<IChannelNode, Integer> getOutgoingConnections();
    List<Map<IChannelNode, Integer>> getConnections(Direction dir);
}