Allow method chaining when changing identities.
[Sone.git] / src / main / java / net / pterodactylus / sone / freenet / wot / DefaultOwnIdentity.java
index 451dd5f..ce34b2a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Sone - DefaultOwnIdentity.java - Copyright © 2010–2012 David Roden
+ * Sone - DefaultOwnIdentity.java - Copyright © 2010–2013 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
@@ -45,29 +45,47 @@ public class DefaultOwnIdentity extends DefaultIdentity implements OwnIdentity {
                this.insertUri = insertUri;
        }
 
-       /**
-        * Copy constructor for an own identity.
-        *
-        * @param ownIdentity
-        *            The own identity to copy
-        */
-       public DefaultOwnIdentity(OwnIdentity ownIdentity) {
-               super(ownIdentity.getId(), ownIdentity.getNickname(), ownIdentity.getRequestUri());
-               this.insertUri = ownIdentity.getInsertUri();
-               setContexts(ownIdentity.getContexts());
-               setProperties(ownIdentity.getProperties());
-       }
-
        //
        // ACCESSORS
        //
 
-       /**
-        * {@inheritDoc}
-        */
        @Override
        public String getInsertUri() {
                return insertUri;
        }
 
+       @Override
+       public OwnIdentity addContext(String context) {
+               return (OwnIdentity) super.addContext(context);
+       }
+
+       @Override
+       public OwnIdentity removeContext(String context) {
+               return (OwnIdentity) super.removeContext(context);
+       }
+
+       @Override
+       public OwnIdentity setProperty(String name, String value) {
+               return (OwnIdentity) super.setProperty(name, value);
+       }
+
+       @Override
+       public OwnIdentity removeProperty(String name) {
+               return (OwnIdentity) super.removeProperty(name);
+       }
+
+       //
+       // OBJECT METHODS
+       //
+
+       @Override
+       public int hashCode() {
+               return super.hashCode();
+       }
+
+       @Override
+       public boolean equals(Object object) {
+               return super.equals(object);
+       }
+
 }