mirror of
https://github.com/geometer/FBReaderJ.git
synced 2025-10-05 10:49:24 +02:00
FormatPlugin refactoring: string id for all plugins
This commit is contained in:
parent
4e58f8e1fe
commit
da41e4aa33
6 changed files with 22 additions and 17 deletions
|
@ -26,7 +26,16 @@ import org.geometerplus.fbreader.bookmodel.BookModel;
|
||||||
import org.geometerplus.fbreader.library.Book;
|
import org.geometerplus.fbreader.library.Book;
|
||||||
|
|
||||||
public abstract class FormatPlugin {
|
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 readMetaInfo(Book book);
|
||||||
public abstract boolean readLanguageAndEncoding(Book book);
|
public abstract boolean readLanguageAndEncoding(Book book);
|
||||||
public abstract boolean readModel(BookModel model);
|
public abstract boolean readModel(BookModel model);
|
||||||
|
|
|
@ -22,6 +22,10 @@ package org.geometerplus.fbreader.formats;
|
||||||
import org.geometerplus.fbreader.library.Book;
|
import org.geometerplus.fbreader.library.Book;
|
||||||
|
|
||||||
public abstract class JavaFormatPlugin extends FormatPlugin {
|
public abstract class JavaFormatPlugin extends FormatPlugin {
|
||||||
|
protected JavaFormatPlugin(String fileType) {
|
||||||
|
super(fileType);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean readLanguageAndEncoding(Book book) {
|
public boolean readLanguageAndEncoding(Book book) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -29,18 +29,13 @@ import org.geometerplus.fbreader.library.Book;
|
||||||
public class NativeFormatPlugin extends FormatPlugin {
|
public class NativeFormatPlugin extends FormatPlugin {
|
||||||
private static Object ourCoversLock = new Object();
|
private static Object ourCoversLock = new Object();
|
||||||
|
|
||||||
// Stores native C++ pointer value
|
|
||||||
// No free method because all plugins' instances are freed by
|
// No free method because all plugins' instances are freed by
|
||||||
// PluginCollection::deleteInstance method (C++)
|
// PluginCollection::deleteInstance method (C++)
|
||||||
protected final long myNativePointer;
|
|
||||||
|
|
||||||
public NativeFormatPlugin(long ptr) {
|
public NativeFormatPlugin(String fileType) {
|
||||||
myNativePointer = ptr;
|
super(fileType);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public native String supportedFileType();
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public native boolean readMetaInfo(Book book);
|
public native boolean readMetaInfo(Book book);
|
||||||
|
|
||||||
|
|
|
@ -26,9 +26,8 @@ import org.geometerplus.zlibrary.core.filesystem.ZLFile;
|
||||||
import org.geometerplus.zlibrary.core.image.ZLImage;
|
import org.geometerplus.zlibrary.core.image.ZLImage;
|
||||||
|
|
||||||
public class FB2Plugin extends JavaFormatPlugin {
|
public class FB2Plugin extends JavaFormatPlugin {
|
||||||
@Override
|
public FB2Plugin() {
|
||||||
public String supportedFileType() {
|
super("fb2");
|
||||||
return "fb2";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -26,9 +26,8 @@ import org.geometerplus.zlibrary.core.filesystem.*;
|
||||||
import org.geometerplus.zlibrary.core.image.ZLImage;
|
import org.geometerplus.zlibrary.core.image.ZLImage;
|
||||||
|
|
||||||
public class OEBPlugin extends JavaFormatPlugin {
|
public class OEBPlugin extends JavaFormatPlugin {
|
||||||
@Override
|
public OEBPlugin() {
|
||||||
public String supportedFileType() {
|
super("ePub");
|
||||||
return "ePub";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private ZLFile getOpfFile(ZLFile oebFile) {
|
private ZLFile getOpfFile(ZLFile oebFile) {
|
||||||
|
|
|
@ -33,9 +33,8 @@ import org.geometerplus.fbreader.bookmodel.BookModel;
|
||||||
import org.geometerplus.fbreader.formats.JavaFormatPlugin;
|
import org.geometerplus.fbreader.formats.JavaFormatPlugin;
|
||||||
|
|
||||||
public class MobipocketPlugin extends JavaFormatPlugin {
|
public class MobipocketPlugin extends JavaFormatPlugin {
|
||||||
@Override
|
public MobipocketPlugin() {
|
||||||
public String supportedFileType() {
|
super("Mobipocket");
|
||||||
return "Mobipocket";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue