X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;ds=sidebyside;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Flibrary%2FBasicLibrary.java;h=7f286079ed1fe87c88f2ec798a85c26774950089;hb=b990b0024113b9cd0aab28b556439ae843dd5c36;hp=c558384d380526819f36a8dac9553b89d33517ca;hpb=d66deb8d8b30cff6b54db352eef34a3508939f84;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix/library/BasicLibrary.java b/src/be/nikiroo/fanfix/library/BasicLibrary.java index c558384..7f28607 100644 --- a/src/be/nikiroo/fanfix/library/BasicLibrary.java +++ b/src/be/nikiroo/fanfix/library/BasicLibrary.java @@ -122,6 +122,13 @@ abstract public class BasicLibrary { */ public abstract Image getCover(String luid) throws IOException; + // TODO: ensure it is the main used interface + public synchronized MetaResultList getList(Progress pg) throws IOException { + return new MetaResultList(getMetas(pg)); + } + + //TODO: make something for (normal and custom) not-story covers + /** * Return the cover image associated to this source. *
@@ -142,7 +149,7 @@ abstract public class BasicLibrary {
return custom;
}
- List
+ * The returned list MUST be a copy, not the original one.
*
* @param pg
* the optional {@link Progress}
@@ -329,13 +338,43 @@ abstract public class BasicLibrary {
* @param pg
* the optional progress reporter
*/
- public void refresh(Progress pg) {
+ public synchronized void refresh(Progress pg) {
try {
getMetas(pg);
} catch (IOException e) {
// We will let it fail later
}
}
+
+ /**
+ * Check if the {@link Story} denoted by this Library UID is present in the
+ * cache (if we have no cache, we default to true).
+ *
+ * @param luid
+ * the Library UID
+ *
+ * @return TRUE if it is
+ */
+ public boolean isCached(String luid) {
+ // By default, everything is cached
+ return true;
+ }
+
+ /**
+ * Clear the {@link Story} from the cache, if needed.
+ *
+ * The next time we try to retrieve the {@link Story}, it may be required to
+ * cache it again.
+ *
+ * @param luid
+ * the story to clear
+ *
+ * @throws IOException
+ * in case of I/O error
+ */
+ public void clearFromCache(String luid) throws IOException {
+ // By default, this is a noop.
+ }
/**
* List all the known types (sources) of stories.
@@ -558,64 +597,8 @@ abstract public class BasicLibrary {
* @throws IOException
* in case of IOException
*/
- public synchronized List
- * Cover images not included.
- *
- * @param type
- * the type of story to retrieve, or NULL for all
- *
- * @return the stories
- *
- * @throws IOException
- * in case of IOException
- */
- public synchronized List
- * Cover images not included.
- *
- * @param author
- * the author of the stories to retrieve, or NULL for all
- *
- * @return the stories
- *
- * @throws IOException
- * in case of IOException
- */
- public synchronized List