X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ffreenet%2Fwot%2FDefaultIdentity.java;h=8bda5de60a9b94b8c09f0e6427dd5d124a6ed952;hp=f200022b78b4f11895cb7e36e509230a1a90fa24;hb=62573c314957b1851f4fbe693b8746686caa940a;hpb=b95f0d80fa0ac4f9f6f8b51b2fecf796a1f72801 diff --git a/src/main/java/net/pterodactylus/sone/freenet/wot/DefaultIdentity.java b/src/main/java/net/pterodactylus/sone/freenet/wot/DefaultIdentity.java index f200022..8bda5de 100644 --- a/src/main/java/net/pterodactylus/sone/freenet/wot/DefaultIdentity.java +++ b/src/main/java/net/pterodactylus/sone/freenet/wot/DefaultIdentity.java @@ -1,5 +1,5 @@ /* - * Sone - DefaultIdentity.java - Copyright © 2010–2012 David Roden + * Sone - DefaultIdentity.java - Copyright © 2010–2016 David Roden * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,28 +17,18 @@ package net.pterodactylus.sone.freenet.wot; +import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; -import java.util.logging.Logger; - -import net.pterodactylus.util.logging.Logging; /** * A Web of Trust identity. - * - * @author David ‘Bombe’ Roden */ public class DefaultIdentity implements Identity { - /** The logger. */ - private static final Logger logger = Logging.getLogger(DefaultIdentity.class); - - /** The web of trust connector. */ - private final WebOfTrustConnector webOfTrustConnector; - /** The ID of the identity. */ private final String id; @@ -55,14 +45,11 @@ public class DefaultIdentity implements Identity { private final Map properties = Collections.synchronizedMap(new HashMap()); /** Cached trust. */ - /* synchronize on itself. */ - private final Map trustCache = new HashMap(); + private final Map trustCache = Collections.synchronizedMap(new HashMap()); /** * Creates a new identity. * - * @param webOfTrustConnector - * The web of trust connector * @param id * The ID of the identity * @param nickname @@ -70,8 +57,7 @@ public class DefaultIdentity implements Identity { * @param requestUri * The request URI of the identity */ - public DefaultIdentity(WebOfTrustConnector webOfTrustConnector, String id, String nickname, String requestUri) { - this.webOfTrustConnector = webOfTrustConnector; + public DefaultIdentity(String id, String nickname, String requestUri) { this.id = id; this.nickname = nickname; this.requestUri = requestUri; @@ -81,199 +67,112 @@ public class DefaultIdentity implements Identity { // ACCESSORS // - /** - * {@inheritDoc} - */ @Override public String getId() { return id; } - /** - * {@inheritDoc} - */ @Override public String getNickname() { return nickname; } - /** - * {@inheritDoc} - */ @Override public String getRequestUri() { return requestUri; } - /** - * {@inheritDoc} - */ @Override public Set getContexts() { return Collections.unmodifiableSet(contexts); } - /** - * Sets the contexts of this identity. - *

- * This method is only called by the {@link IdentityManager}. - * - * @param contexts - * The contexts to set - */ - void setContextsPrivate(Set contexts) { - this.contexts.clear(); - this.contexts.addAll(contexts); - } - - /** - * {@inheritDoc} - */ @Override public boolean hasContext(String context) { return contexts.contains(context); } - /** - * Adds the given context to this identity. - *

- * This method is only called by the {@link IdentityManager}. - * - * @param context - * The context to add - */ - void addContextPrivate(String context) { + @Override + public void setContexts(Collection contexts) { + this.contexts.clear(); + this.contexts.addAll(contexts); + } + + @Override + public Identity addContext(String context) { contexts.add(context); + return this; } - /** - * Removes the given context from this identity. - *

- * This method is only called by the {@link IdentityManager}. - * - * @param context - * The context to remove - */ - public void removeContextPrivate(String context) { + @Override + public Identity removeContext(String context) { contexts.remove(context); + return this; } - /** - * {@inheritDoc} - */ @Override public Map getProperties() { - synchronized (properties) { - return Collections.unmodifiableMap(properties); - } + return Collections.unmodifiableMap(properties); } - /** - * Sets all properties of this identity. - *

- * This method is only called by the {@link IdentityManager}. - * - * @param properties - * The new properties of this identity - */ - void setPropertiesPrivate(Map properties) { - synchronized (this.properties) { - this.properties.clear(); - this.properties.putAll(properties); - } + @Override + public void setProperties(Map properties) { + this.properties.clear(); + this.properties.putAll(properties); } - /** - * Sets the property with the given name to the given value. - *

- * This method is only called by the {@link IdentityManager}. - * - * @param name - * The name of the property - * @param value - * The value of the property - */ - void setPropertyPrivate(String name, String value) { - synchronized (properties) { - properties.put(name, value); - } + @Override + public String getProperty(String name) { + return properties.get(name); } - /** - * {@inheritDoc} - */ @Override - public String getProperty(String name) { - synchronized (properties) { - return properties.get(name); - } + public Identity setProperty(String name, String value) { + properties.put(name, value); + return this; } - /** - * Removes the property with the given name. - *

- * This method is only called by the {@link IdentityManager}. - * - * @param name - * The name of the property to remove - */ - void removePropertyPrivate(String name) { - synchronized (properties) { - properties.remove(name); - } + @Override + public Identity removeProperty(String name) { + properties.remove(name); + return this; } - /** - * {@inheritDoc} - */ @Override public Trust getTrust(OwnIdentity ownIdentity) { - synchronized (trustCache) { - return trustCache.get(ownIdentity); - } + return trustCache.get(ownIdentity); } - /** - * Sets the trust received for this identity by the given own identity. - * - * @param ownIdentity - * The own identity that gives the trust - * @param trust - * The trust received for this identity - */ - public void setTrust(OwnIdentity ownIdentity, Trust trust) { - synchronized (trustCache) { - trustCache.put(ownIdentity, trust); - } + @Override + public Identity setTrust(OwnIdentity ownIdentity, Trust trust) { + trustCache.put(ownIdentity, trust); + return this; + } + + @Override + public Identity removeTrust(OwnIdentity ownIdentity) { + trustCache.remove(ownIdentity); + return this; } // // OBJECT METHODS // - /** - * {@inheritDoc} - */ @Override public int hashCode() { - return id.hashCode(); + return getId().hashCode(); } - /** - * {@inheritDoc} - */ @Override public boolean equals(Object object) { - if (!(object instanceof DefaultIdentity)) { + if (!(object instanceof Identity)) { return false; } - DefaultIdentity identity = (DefaultIdentity) object; - return identity.id.equals(id); + Identity identity = (Identity) object; + return identity.getId().equals(getId()); } - /** - * {@inheritDoc} - */ @Override public String toString() { return getClass().getSimpleName() + "[id=" + id + ",nickname=" + nickname + ",contexts=" + contexts + ",properties=" + properties + "]";