this.insertUri = insertUri;
}
+ /**
+ * Copy constructor for an own identity.
+ *
+ * @param webOfTrustConnector
+ * The web of trust connector
+ * @param ownIdentity
+ * The own identity to copy
+ */
+ public DefaultOwnIdentity(WebOfTrustConnector webOfTrustConnector, OwnIdentity ownIdentity) {
+ super(webOfTrustConnector, ownIdentity.getId(), ownIdentity.getNickname(), ownIdentity.getRequestUri());
+ this.webOfTrustConnector = webOfTrustConnector;
+ this.insertUri = ownIdentity.getInsertUri();
+ setContextsPrivate(ownIdentity.getContexts());
+ setPropertiesPrivate(ownIdentity.getProperties());
+ }
+
//
// ACCESSORS
//
@Override
public void addContext(String context) throws WebOfTrustException {
webOfTrustConnector.addContext(this, context);
+ addContextPrivate(context);
}
/**
@Override
public void removeContext(String context) throws WebOfTrustException {
webOfTrustConnector.removeContext(this, context);
+ removeContextPrivate(context);
}
/**
webOfTrustConnector.addContext(this, context);
}
}
+ setContextsPrivate(contexts);
}
/**
@Override
public void setProperty(String name, String value) throws WebOfTrustException {
webOfTrustConnector.setProperty(this, name, value);
+ setPropertyPrivate(name, value);
}
/**
@Override
public void removeProperty(String name) throws WebOfTrustException {
webOfTrustConnector.removeProperty(this, name);
+ removePropertyPrivate(name);
}
/**
webOfTrustConnector.setProperty(this, newProperty.getKey(), newProperty.getValue());
}
}
+ setPropertiesPrivate(properties);
}
/**
public void setTrust(Identity target, int trustValue, String comment) throws WebOfTrustException {
Validation.begin().isNotNull("Trust Target", target).isNotNull("Trust Comment", comment).isLessOrEqual("Trust Value", trustValue, 100).isGreaterOrEqual("Trust Value", trustValue, -100).check();
webOfTrustConnector.setTrust(this, target, trustValue, comment);
+ if (target instanceof DefaultIdentity) {
+ ((DefaultIdentity) target).setTrustPrivate(this, new Trust(trustValue, trustValue, 0));
+ }
}
/**
public void removeTrust(Identity target) throws WebOfTrustException {
Validation.begin().isNotNull("Trust Target", target).check();
webOfTrustConnector.removeTrust(this, target);
+ if (target instanceof DefaultIdentity) {
+ ((DefaultIdentity) target).setTrustPrivate(this, new Trust(null, null, null));
+ }
+ }
+
+ //
+ // OBJECT METHODS
+ //
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public int hashCode() {
+ /* The hash of DefaultIdentity is fine. */
+ return super.hashCode();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean equals(Object object) {
+ /* The ID of the superclass is still enough. */
+ return super.equals(object);
}
}