1
0
Fork 0
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:
Nikolay Pultsin 2012-02-23 17:14:34 +01:00
parent 4e58f8e1fe
commit da41e4aa33
6 changed files with 22 additions and 17 deletions

View file

@ -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);

View file

@ -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;

View file

@ -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);

View file

@ -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

View file

@ -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) {

View file

@ -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