/*
- * Sone - Sone.java - Copyright © 2010 David Roden
+ * Sone - Sone.java - Copyright © 2010–2012 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
import java.util.logging.Level;
import java.util.logging.Logger;
-import net.pterodactylus.sone.core.Core;
import net.pterodactylus.sone.core.Options;
import net.pterodactylus.sone.freenet.wot.Identity;
import net.pterodactylus.sone.freenet.wot.OwnIdentity;
import net.pterodactylus.sone.template.SoneAccessor;
-import net.pterodactylus.util.filter.Filter;
+import net.pterodactylus.util.collection.filter.Filter;
import net.pterodactylus.util.logging.Logging;
import net.pterodactylus.util.validation.Validation;
import freenet.keys.FreenetURI;
}
};
- /** Filter that matches all {@link Core#isLocalSone(Sone) local Sones}. */
+ /** Filter that matches all {@link Sone#isLocal() local Sones}. */
public static final Filter<Sone> LOCAL_SONE_FILTER = new Filter<Sone>() {
@Override
/** The ID of this Sone. */
private final String id;
+ /** Whether the Sone is local. */
+ private final boolean local;
+
/** The identity of this Sone. */
private Identity identity;
*
* @param id
* The ID of the Sone
+ * @param local
+ * {@code true} if the Sone is a local Sone, {@code false}
+ * otherwise
*/
- public Sone(String id) {
+ public Sone(String id, boolean local) {
this.id = id;
+ this.local = local;
}
//
}
/**
+ * Returns whether this Sone is a local Sone.
+ *
+ * @return {@code true} if this Sone is a local Sone, {@code false}
+ * otherwise
+ */
+ public boolean isLocal() {
+ return local;
+ }
+
+ /**
* Returns the request URI of this Sone.
*
* @return The request URI of this Sone
*/
public void addAlbum(Album album) {
Validation.begin().isNotNull("Album", album).check().isEqual("Album Owner", album.getSone(), this).check();
- albums.add(album);
+ if (!albums.contains(album)) {
+ albums.add(album);
+ }
}
/**