package net.pterodactylus.sone.database;
+import java.util.Collection;
+
import net.pterodactylus.sone.data.Sone;
+import com.google.common.base.Function;
import com.google.common.base.Optional;
/**
*/
public interface SoneProvider {
+ Function<String, Optional<Sone>> getSone();
+
/**
* Returns the Sone with the given ID, or {@link Optional#absent()} if it
* does not exist.
*/
public Optional<Sone> getSone(String soneId);
+ /**
+ * Returns all Sones.
+ *
+ * @return All Sones
+ */
+ public Collection<Sone> getSones();
+
+ /**
+ * Returns all local Sones.
+ *
+ * @return All local Sones
+ */
+ public Collection<Sone> getLocalSones();
+
+ /**
+ * Returns all remote Sones.
+ *
+ * @return All remote Sones
+ */
+ public Collection<Sone> getRemoteSones();
+
}