X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdatabase%2FSoneProvider.java;h=73467a2560dfeddf89bc6f81d65b6509e8f3b4f0;hb=a408811c37ec207a6ce2f71a7d14eff78861770b;hp=f484aafada0609d3c118edb7ada053df7da26f12;hpb=921177685a8622866750a3740f94786d88127d95;p=Sone.git
diff --git a/src/main/java/net/pterodactylus/sone/database/SoneProvider.java b/src/main/java/net/pterodactylus/sone/database/SoneProvider.java
index f484aaf..73467a2 100644
--- a/src/main/java/net/pterodactylus/sone/database/SoneProvider.java
+++ b/src/main/java/net/pterodactylus/sone/database/SoneProvider.java
@@ -19,17 +19,23 @@ package net.pterodactylus.sone.database;
import java.util.Collection;
+import net.pterodactylus.sone.core.Core;
import net.pterodactylus.sone.data.Sone;
+import com.google.common.base.Function;
import com.google.common.base.Optional;
+import com.google.inject.ImplementedBy;
/**
* Interface for objects that can provide {@link Sone}s by their ID.
*
* @author David âBombeâ Roden
*/
+@ImplementedBy(Core.class)
public interface SoneProvider {
+ Function> soneLoader();
+
/**
* Returns the Sone with the given ID, or {@link Optional#absent()} if it
* does not exist.
@@ -47,4 +53,18 @@ public interface SoneProvider {
*/
public Collection getSones();
+ /**
+ * Returns all local Sones.
+ *
+ * @return All local Sones
+ */
+ public Collection getLocalSones();
+
+ /**
+ * Returns all remote Sones.
+ *
+ * @return All remote Sones
+ */
+ public Collection getRemoteSones();
+
}