}
/**
- * Call {@link SupportType#valueOf(String.toUpperCase())}.
+ * Call {@link SupportType#valueOf(String)} after conversion to upper
+ * case.
*
* @param typeName
* the possible type name
}
/**
- * Call {@link SupportType#valueOf(String.toUpperCase())} but return
- * NULL for NULL instead of raising exception.
+ * Call {@link SupportType#valueOf(String)} after conversion to upper
+ * case but return NULL for NULL instead of raising exception.
*
* @param typeName
* the possible type name
}
/**
- * Call {@link SupportType#valueOf(String.toUpperCase())} but return
- * NULL in case of error instead of raising an exception.
+ * Call {@link SupportType#valueOf(String)} after conversion to upper
+ * case but return NULL in case of error instead of raising an
+ * exception.
*
* @param typeName
* the possible type name
*/
protected abstract boolean isHtml();
+ /**
+ * Return the {@link MetaData} of this story.
+ *
+ * @param source
+ * the source of the story
+ * @param in
+ * the input (the main resource)
+ *
+ * @return the associated {@link MetaData}
+ *
+ * @throws IOException
+ * in case of I/O error
+ */
protected abstract MetaData getMeta(URL source, InputStream in)
throws IOException;
*
* @param url
* the story resource
- *
* @param close
* close "this" and "in" when done
+ * @param getDesc
+ * retrieve the description of the story, or not
* @param pg
* the optional progress reporter
*
* Create a {@link Chapter} object from the given information, formatting
* the content as it should be.
*
+ * @param source
+ * the source of the story
* @param number
* the chapter number
* @param name
protected Chapter makeChapter(URL source, int number, String name,
String content, Progress pg) throws IOException {
// Chapter name: process it correctly, then remove the possible
- // redundant "Chapter x: " in front of it
+ // redundant "Chapter x: " in front of it, or "-" (as in
+ // "Chapter 5: - Fun!" after the ": " was automatically added)
String chapterName = processPara(name).getContent().trim();
for (String lang : Instance.getConfig().getString(Config.CHAPTER)
.split(",")) {
Integer.toString(number).length()).trim();
}
- if (chapterName.startsWith(":")) {
+ while (chapterName.startsWith(":") || chapterName.startsWith("-")) {
chapterName = chapterName.substring(1).trim();
}
//
* @param in
* the input
* @param key
- * the key to match
+ * the key to match (also supports "^" at start to say
+ * "only if it starts with" the key)
* @param subKey
* the sub key or NULL if none
* @param endKey