X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fde%2Ftodesbaum%2Fjsite%2Fapplication%2FFreenet7Interface.java;h=7aa2047e8b798627499e0315cf6d8e6a8f283c79;hb=c4e20aa0ae0c66a46c4163e7bc8aa0da1af50eb7;hp=2bdff65baf57dbfce82137c66b756b57a0f90551;hpb=ae12acd08f805870c454c58ba196e929da7d2e21;p=jSite.git diff --git a/src/de/todesbaum/jsite/application/Freenet7Interface.java b/src/de/todesbaum/jsite/application/Freenet7Interface.java index 2bdff65..7aa2047 100644 --- a/src/de/todesbaum/jsite/application/Freenet7Interface.java +++ b/src/de/todesbaum/jsite/application/Freenet7Interface.java @@ -28,25 +28,52 @@ import de.todesbaum.util.freenet.fcp2.Message; import de.todesbaum.util.freenet.fcp2.Node; /** + * Interface for freenet-related operations. + * * @author David ‘Bombe’ Roden <bombe@freenetproject.org> */ public class Freenet7Interface { + /** Counter. */ private static int counter = 0; + /** The node to connect to. */ private Node node; + + /** The connection to the node. */ private Connection connection; + /** + * Sets the hostname of the node. The default port for FCP2 connections ({@link Node#DEFAULT_PORT}) + * is used. + * + * @param hostname + * The hostname of the node + */ public void setNodeAddress(String hostname) { node = new Node(hostname); connection = new Connection(node, "connection-" + counter++); } + /** + * Sets the hostname and the port of the node. + * + * @param hostname + * The hostname of the node + * @param port + * The port number of the node + */ public void setNodeAddress(String hostname, int port) { node = new Node(hostname, port); connection = new Connection(node, "connection-" + counter++); } - + + /** + * Sets hostname and port from the given node. + * + * @param node + * The node to get the hostname and port from + */ public void setNode(de.todesbaum.jsite.application.Node node) { if (node != null) { this.node = new Node(node.getHostname(), node.getPort()); @@ -56,26 +83,44 @@ public class Freenet7Interface { connection = null; } } - + + /** + * Removes the current node from the interface. + */ public void removeNode() { node = null; connection = null; } /** - * @return Returns the node. + * Returns the node this interface is connecting to. + * + * @return The node */ public Node getNode() { return node; } /** - * @return Returns the connection. + * Creates a new connection to the current node with the given identifier. + * + * @param identifier + * The identifier of the connection + * @return The connection to the node */ public Connection getConnection(String identifier) { return new Connection(node, identifier); } + /** + * Checks whether the current node is connected. If the node is not + * connected, a connection will be tried. + * + * @return true if the node is connected, false + * otherwise + * @throws IOException + * if an I/O error occurs communicating with the node + */ public boolean isNodePresent() throws IOException { if (!connection.isConnected()) { return connection.connect(); @@ -83,6 +128,15 @@ public class Freenet7Interface { return true; } + /** + * Generates an SSK key pair. + * + * @return An array of strings, the first one being the generated private + * (insert) URI and the second one being the generated public + * (request) URI + * @throws IOException + * if an I/O error occurs communicating with the node + */ public String[] generateKeyPair() throws IOException { if (!isNodePresent()) { return null; @@ -94,6 +148,8 @@ public class Freenet7Interface { } /** + * Checks whether the interface has already been configured with a node. + * * @return true if this interface already has a node set, * false otherwise */