X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Flibrary%2FBasicLibrary.java;h=f6daed620f86347a5ec84a44ee3e8e80b600eb09;hb=5f42f329b6d1dd0d61f49dd9947fe487c39160ee;hp=129c8fb33b1fc764c18a28661c3d45216b724f21;hpb=9b863b20370118c95c6801b73dda951c7e507871;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/library/BasicLibrary.java b/src/be/nikiroo/fanfix/library/BasicLibrary.java index 129c8fb..f6daed6 100644 --- a/src/be/nikiroo/fanfix/library/BasicLibrary.java +++ b/src/be/nikiroo/fanfix/library/BasicLibrary.java @@ -4,9 +4,11 @@ import java.io.File; import java.io.IOException; import java.net.URL; import java.net.UnknownHostException; +import java.util.AbstractMap.SimpleEntry; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Map.Entry; import be.nikiroo.fanfix.Instance; import be.nikiroo.fanfix.data.MetaData; @@ -17,6 +19,7 @@ import be.nikiroo.fanfix.supported.BasicSupport; import be.nikiroo.fanfix.supported.SupportType; import be.nikiroo.utils.Image; import be.nikiroo.utils.Progress; +import be.nikiroo.utils.StringUtils; /** * Manage a library of Stories: import, export, list, modify. @@ -94,7 +97,8 @@ abstract public class BasicLibrary { /** * Return the cover image associated to this source. *
- * By default, return the cover of the first story with this source.
+ * By default, return the custom cover if any, and if not, return the cover
+ * of the first story with this source.
*
* @param source
* the source
@@ -102,6 +106,11 @@ abstract public class BasicLibrary {
* @return the cover image or NULL
*/
public Image getSourceCover(String source) {
+ Image custom = getCustomSourceCover(source);
+ if (custom != null) {
+ return custom;
+ }
+
List
+ * By default, return NULL.
+ *
+ * @param source
+ * the source to look for
+ *
+ * @return the custom cover or NULL if none
+ */
+ public Image getCustomSourceCover(@SuppressWarnings("unused") String source) {
+ return null;
+ }
+
/**
* Fix the source cover to the given story cover.
*
@@ -241,6 +264,114 @@ abstract public class BasicLibrary {
return list;
}
+ /**
+ * Return the list of authors, grouped by starting letter(s) if needed.
+ *
+ * If the number of author is not too high, only one group with an empty
+ * name and all the authors will be returned.
+ *
+ * If not, the authors will be separated into groups:
+ *
@@ -358,6 +489,7 @@ abstract public class BasicLibrary {
// Because we do not want to clear the meta cache:
meta.setCover(story.getMeta().getCover());
+ meta.setResume(story.getMeta().getResume());
story.setMeta(meta);
//
} else {
+ *
+ * Note that the letters used in the groups can vary (except * and
+ * 0-9, which may only be present or not).
+ *
+ * @return the authors' names, grouped by letter(s)
+ */
+ public List
+ *
+ *
+ * @param authors
+ * the full list of authors
+ * @param car
+ * the starting character, *, 0 or a capital
+ * letter
+ * @return the authors that fulfill the starting letter
+ */
+ private List