diff options
Diffstat (limited to 'src/main/java/net/transit/network/system/INode.java')
-rw-r--r-- | src/main/java/net/transit/network/system/INode.java | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/main/java/net/transit/network/system/INode.java b/src/main/java/net/transit/network/system/INode.java new file mode 100644 index 0000000..9c42bf1 --- /dev/null +++ b/src/main/java/net/transit/network/system/INode.java @@ -0,0 +1,45 @@ +package net.transit.network.system; + +/** + * @author Kyle Gunger + * @apiNote A node inside or outside a system. Provides acceptors and providers to other nodes. + */ +public interface INode +{ + + /**Returns the groupIDs of groups the node interacts with + * + * @return String[] + */ + public String[] groupsProvided(); + + + /**Get the system managing the node or {@code null} if there isn't one + * + * @return System + */ + public System getSystem(); + + + /** Get the data of one of the TypeGroups the Node supports + * + * @param groupID + * @return + */ + public Object getData(String groupID); + + + /** Set the group data for the node + * + * @param dat + * @param groupID + */ + public void setData(Object dat, String groupID); + + + /** Get the nodes that this node is connected to + * + * @return Node[] + */ + public INode[] getConnections(); +} |