X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Flibrary%2FBasicLibrary.java;h=8c86fc90e5baf2449689f2857f1f86ff52877cd8;hb=16a81ef7656c5c692fb831927e75edde25dd77a0;hp=df283db258304a475714156de90abec37f344945;hpb=925298fd058a953144058f8b70d939c2a3e7ea5b;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix/library/BasicLibrary.java b/src/be/nikiroo/fanfix/library/BasicLibrary.java index df283db..8c86fc9 100644 --- a/src/be/nikiroo/fanfix/library/BasicLibrary.java +++ b/src/be/nikiroo/fanfix/library/BasicLibrary.java @@ -1,6 +1,5 @@ package be.nikiroo.fanfix.library; -import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.net.URL; @@ -16,6 +15,7 @@ import be.nikiroo.fanfix.output.BasicOutput; import be.nikiroo.fanfix.output.BasicOutput.OutputType; import be.nikiroo.fanfix.supported.BasicSupport; import be.nikiroo.fanfix.supported.BasicSupport.SupportType; +import be.nikiroo.utils.Image; import be.nikiroo.utils.Progress; /** @@ -89,7 +89,7 @@ abstract public class BasicLibrary { * * @return the cover image */ - public abstract BufferedImage getCover(String luid); + public abstract Image getCover(String luid); /** * Return the cover image associated to this source. @@ -101,7 +101,7 @@ abstract public class BasicLibrary { * * @return the cover image or NULL */ - public BufferedImage getSourceCover(String source) { + public Image getSourceCover(String source) { List metas = getListBySource(source); if (metas.size() > 0) { return getCover(metas.get(0).getLuid()); @@ -135,7 +135,19 @@ abstract public class BasicLibrary { * Invalidate the {@link Story} cache (when the content should be re-read * because it was changed). */ - protected abstract void clearCache(); + protected void invalidateInfo() { + invalidateInfo(null); + } + + /** + * Invalidate the {@link Story} cache (when the content should be re-read + * because it was changed). + * + * @param luid + * the luid of the {@link Story} to clear from the cache, or NULL + * for all stories + */ + protected abstract void invalidateInfo(String luid); /** * Return the next LUID that can be used. @@ -505,13 +517,13 @@ abstract public class BasicLibrary { meta.setLuid(luid); } - if (getInfo(luid) != null) { + if (luid != null && getInfo(luid) != null) { delete(luid); } doSave(story, pg); - clearCache(); + invalidateInfo(luid); return story; } @@ -527,7 +539,7 @@ abstract public class BasicLibrary { */ public synchronized void delete(String luid) throws IOException { doDelete(luid); - clearCache(); + invalidateInfo(luid); } /**