}
@Override
- public File getFile(String luid, Progress pg) {
+ public File getFile(String luid, Progress pg) throws IOException {
Instance.getTraceHandler().trace(
this.getClass().getSimpleName() + ": get file for " + luid);
}
@Override
- public Image getCover(String luid) {
+ public Image getCover(String luid) throws IOException {
MetaData meta = getInfo(luid);
if (meta != null) {
if (meta.getCover() != null) {
@Override
public synchronized Image getCustomAuthorCover(String author) {
+ if (authorCovers == null) {
+ authorCovers = new HashMap<String, Image>();
+ }
+
+ Image img = authorCovers.get(author);
+ if (img != null) {
+ return img;
+ }
+
File cover = getAuthorCoverFile(author);
if (cover.exists()) {
InputStream in;
}
@Override
- public void setSourceCover(String source, String luid) {
+ public void setSourceCover(String source, String luid) throws IOException {
setSourceCover(source, getCover(luid));
}
@Override
- public void setAuthorCover(String author, String luid) {
+ public void setAuthorCover(String author, String luid) throws IOException {
setAuthorCover(author, getCover(luid));
}
return text;
}
+ /**
+ * Return the default {@link OutputType} for this kind of {@link Story}.
+ *
+ * @param imageDocument
+ * TRUE for images document, FALSE for text documents
+ *
+ * @return the type
+ */
+ public String getOutputType(boolean imageDocument) {
+ if (imageDocument) {
+ return image.toString();
+ }
+
+ return text.toString();
+ }
+
/**
* Get the target {@link File} related to the given <tt>.info</tt>
* {@link File} and {@link MetaData}.
boolean info = file != null && file.isFile()
&& file.getPath().toLowerCase().endsWith(".info");
boolean dir = file != null && file.isDirectory();
- return info || dir;
+ boolean isExpandedHtml = new File(file, "index.html").isFile();
+ return info || (dir && !isExpandedHtml);
}
});