diff --git a/src/org/geometerplus/fbreader/formats/FormatPlugin.java b/src/org/geometerplus/fbreader/formats/FormatPlugin.java index 43d2283c3..f21fbdcc3 100644 --- a/src/org/geometerplus/fbreader/formats/FormatPlugin.java +++ b/src/org/geometerplus/fbreader/formats/FormatPlugin.java @@ -26,7 +26,16 @@ import org.geometerplus.fbreader.bookmodel.BookModel; import org.geometerplus.fbreader.library.Book; public abstract class FormatPlugin { - public abstract String supportedFileType(); + private final String myFileType; + + protected FormatPlugin(String fileType) { + myFileType = fileType; + } + + public final String supportedFileType() { + return myFileType; + } + public abstract boolean readMetaInfo(Book book); public abstract boolean readLanguageAndEncoding(Book book); public abstract boolean readModel(BookModel model); diff --git a/src/org/geometerplus/fbreader/formats/JavaFormatPlugin.java b/src/org/geometerplus/fbreader/formats/JavaFormatPlugin.java index 636eb5829..f7f2d4278 100644 --- a/src/org/geometerplus/fbreader/formats/JavaFormatPlugin.java +++ b/src/org/geometerplus/fbreader/formats/JavaFormatPlugin.java @@ -22,6 +22,10 @@ package org.geometerplus.fbreader.formats; import org.geometerplus.fbreader.library.Book; public abstract class JavaFormatPlugin extends FormatPlugin { + protected JavaFormatPlugin(String fileType) { + super(fileType); + } + @Override public boolean readLanguageAndEncoding(Book book) { return true; diff --git a/src/org/geometerplus/fbreader/formats/NativeFormatPlugin.java b/src/org/geometerplus/fbreader/formats/NativeFormatPlugin.java index 273bd92fe..8847fdd7c 100644 --- a/src/org/geometerplus/fbreader/formats/NativeFormatPlugin.java +++ b/src/org/geometerplus/fbreader/formats/NativeFormatPlugin.java @@ -29,18 +29,13 @@ import org.geometerplus.fbreader.library.Book; public class NativeFormatPlugin extends FormatPlugin { private static Object ourCoversLock = new Object(); - // Stores native C++ pointer value // No free method because all plugins' instances are freed by // PluginCollection::deleteInstance method (C++) - protected final long myNativePointer; - public NativeFormatPlugin(long ptr) { - myNativePointer = ptr; + public NativeFormatPlugin(String fileType) { + super(fileType); } - @Override - public native String supportedFileType(); - @Override public native boolean readMetaInfo(Book book); diff --git a/src/org/geometerplus/fbreader/formats/fb2/FB2Plugin.java b/src/org/geometerplus/fbreader/formats/fb2/FB2Plugin.java index 9e5381e72..6fa49abcf 100644 --- a/src/org/geometerplus/fbreader/formats/fb2/FB2Plugin.java +++ b/src/org/geometerplus/fbreader/formats/fb2/FB2Plugin.java @@ -26,9 +26,8 @@ import org.geometerplus.zlibrary.core.filesystem.ZLFile; import org.geometerplus.zlibrary.core.image.ZLImage; public class FB2Plugin extends JavaFormatPlugin { - @Override - public String supportedFileType() { - return "fb2"; + public FB2Plugin() { + super("fb2"); } @Override diff --git a/src/org/geometerplus/fbreader/formats/oeb/OEBPlugin.java b/src/org/geometerplus/fbreader/formats/oeb/OEBPlugin.java index 48342f0d5..95f080a38 100644 --- a/src/org/geometerplus/fbreader/formats/oeb/OEBPlugin.java +++ b/src/org/geometerplus/fbreader/formats/oeb/OEBPlugin.java @@ -26,9 +26,8 @@ import org.geometerplus.zlibrary.core.filesystem.*; import org.geometerplus.zlibrary.core.image.ZLImage; public class OEBPlugin extends JavaFormatPlugin { - @Override - public String supportedFileType() { - return "ePub"; + public OEBPlugin() { + super("ePub"); } private ZLFile getOpfFile(ZLFile oebFile) { diff --git a/src/org/geometerplus/fbreader/formats/pdb/MobipocketPlugin.java b/src/org/geometerplus/fbreader/formats/pdb/MobipocketPlugin.java index 3b8fc341a..821d0127b 100644 --- a/src/org/geometerplus/fbreader/formats/pdb/MobipocketPlugin.java +++ b/src/org/geometerplus/fbreader/formats/pdb/MobipocketPlugin.java @@ -33,9 +33,8 @@ import org.geometerplus.fbreader.bookmodel.BookModel; import org.geometerplus.fbreader.formats.JavaFormatPlugin; public class MobipocketPlugin extends JavaFormatPlugin { - @Override - public String supportedFileType() { - return "Mobipocket"; + public MobipocketPlugin() { + super("Mobipocket"); } @Override