Don’t cache contexts.
[Sone.git] / src / main / java / net / pterodactylus / sone / freenet / wot / OwnIdentity.java
index 626c4a8..2384520 100644 (file)
@@ -31,6 +31,8 @@ public class OwnIdentity extends Identity {
        /**
         * Creates a new own identity.
         *
+        * @param webOfTrustConnector
+        *            The Web of Trust connector
         * @param id
         *            The ID of the identity
         * @param nickname
@@ -40,8 +42,8 @@ public class OwnIdentity extends Identity {
         * @param insertUri
         *            The insert URI of the identity
         */
-       public OwnIdentity(String id, String nickname, String requestUri, String insertUri) {
-               super(id, nickname, requestUri);
+       public OwnIdentity(WebOfTrustConnector webOfTrustConnector, String id, String nickname, String requestUri, String insertUri) {
+               super(webOfTrustConnector, id, nickname, requestUri);
                this.insertUri = insertUri;
        }
 
@@ -63,11 +65,12 @@ public class OwnIdentity extends Identity {
         *
         * @param context
         *            The context to add
+        * @throws PluginException
+        *             if an error occured communicating with the Web of Trust
+        *             plugin
         */
-       public void addContext(String context) {
-               if (contexts.add(context)) {
-                       /* TODO - add. */
-               }
+       public void addContext(String context) throws PluginException {
+               webOfTrustConnector.addContext(this, context);
        }
 
        /**
@@ -75,11 +78,36 @@ public class OwnIdentity extends Identity {
         *
         * @param context
         *            The context to remove
+        * @throws PluginException
+        *             if an error occured communicating with the Web of Trust
+        *             plugin
         */
-       public void removeContext(String context) {
-               if (contexts.remove(context)) {
-                       /* TODO - remove */
-               }
+       public void removeContext(String context) throws PluginException {
+               webOfTrustConnector.removeContext(this, context);
+       }
+
+       /**
+        * Sets the property with the given name to the given value.
+        *
+        * @param name
+        *            The name of the property to set
+        * @param value
+        *            The new value of the property
+        */
+       public void setProperty(String name, String value) {
+               properties.put(name, value);
+               /* TODO - set property. */
+       }
+
+       /**
+        * Removes the property with the given name.
+        *
+        * @param name
+        *            The name of the property to remove
+        */
+       public void removeProperty(String name) {
+               properties.remove(name);
+               /* TODO - remove property. */
        }
 
        //