com.foxconn.ebook.reader.engine.model
类 Book

java.lang.Object
  继承者 com.foxconn.ebook.reader.engine.model.Book
所有已实现的接口:
IBookChapterCursor

public class Book
extends java.lang.Object
implements IBookChapterCursor

書籍類,包含打開後的書籍的相關信息.

當IAction的每一個交互動作執行後,會將相應的書籍信息更新到該類的對象,如頁碼,章節信息,書簽等等.

保存數據庫信息時,主要根據該類提供的字段信息進行保存.


嵌套类摘要
static class Book.BookInfo
          書籍信息類.
static interface Book.BookType
          書籍格式類型.
static class Book.MetaData
          書籍的META信息標識類.
static interface Book.ReaderType
          閱讀器的類型.
 
字段摘要
static java.lang.String VALUE_NULL
          空值標識符號.
 
构造函数摘要
Book(int id)
          通過數據庫中的BookId構造書籍對象.
Book(java.lang.String path)
          通過文件的完整路徑構造書籍對象.如果當前的書籍和數據庫的ID無任何關聯時,可以使用該構造函數,否則使用 Book(int)
 
方法摘要
 void chapterInit(int[] indexs, java.lang.String[] chapters)
          章節初始化.
 boolean chapterIsEmpty()
          章節列表是否為空.
 boolean chapterIsLoad()
          章節是否已經加載.
 void createFromPath(java.lang.String path)
          检查文件路径,并根据结果来执行具体的初始化过程.
 void free()
          釋放資源,通常關閉書籍的動作執行後,會自動調用該方法.
 java.lang.String getAuthor()
          獲取書籍的作者.
 IBookChapterCursor getBookChapterCursor()
          获取目录树操作接口.
 IBookEmphasisCursor getBookEmphasisCursor()
          獲取IBookEmphasisCursor接口.
 int getBookId()
          獲取書籍的ID標識.
 IBookMarkCursor getBookMarkCursor()
          獲取IBookMarkCursor接口.
 java.lang.String getBookName()
          獲取書籍文件名,不包含完整路徑.
 java.lang.String getBookPath()
          獲取書籍文件完整路徑.
 IBookSearchCursor getBookSearchCursor()
          獲取IBookSearchCursor接口.
 long getBookSize()
          获取文件大小.
 int getBookType()
          獲取書籍類型標識.
 com.foxconn.ebook.reader.engine.model.Page getCachePage()
          獲取緩存頁對象.
 int getChapterIndexByTitle(java.lang.String title)
          根据目录标题获取目录的序号.
 java.util.List<ChapterTreeInfo.Chapter> getChapterList()
          獲取章節對象的列表.
 int[] getChapterPageNums()
          获取每个目录标题对应的页码.
 java.lang.String[] getChapterTitles()
          获取目录标题列表.
 int getCurChapterIndex()
          获取当前目录的序号.
 com.foxconn.ebook.reader.engine.model.Page getCurPage()
          獲取當前的頁對象.
 int getCurPageNumber()
          獲取當前頁碼.
 java.lang.String getEncoding()
          獲取書籍的編碼格式.
 int getFontLevel()
          獲取字體大小等級.
 java.lang.String getLanguage()
          獲取語言標識.
 long getLastAccessTime()
          獲取最後打開書籍的時間,為long類型.
 java.lang.String getLastLocation()
          獲取當前顯示的頁位置,相比頁碼更加精確.
 int getLastPageNumber()
          獲取退出時的頁碼.
 int getMaxChapterNum()
          获取最大的目录序号.
 Book.MetaData getMetaData()
          獲取書籍的META信息.
 int getNextChapterIndex(int pageIndex)
          根据页码序号获取后一章节的序号.
 com.foxconn.ebook.reader.engine.model.Page getNextPage()
          獲取下一頁對象.
 boolean getOpened()
          獲取書籍是否被打開.
 int getPageIndexByChapterIndex(int index)
          獲取對應章節序號的頁碼.
 java.lang.String getPageText()
           
 java.lang.String getPassword()
          獲取書籍的密碼.
 com.foxconn.ebook.reader.engine.model.Page getPrePage()
          獲取前一頁對象.
 int getPreviousChapterIndex(int pageIndex)
          根据页码序号获取前一章节的序号.
 java.lang.String getPublisher()
          獲取書籍的發布者.
 int getReaderType()
          獲取Reader類型.
 java.lang.String getTitle()
          獲取書籍的標題.
 int getTotalPageNumber()
          獲取書籍的總頁碼.
 java.lang.String getUserName()
          獲取書籍的用戶名.
 int getViewHeight()
          獲取視圖的顯示高度.
 int getViewWidth()
          獲取視圖顯示寬度.
 boolean hasNextChapter()
          检查是否存在下一章节.
 boolean hasPreviousChapter()
          检查是否存在前一章节.
 void initPage()
          根據閱讀器的類型,重新初始化頁對象.當閱讀器類型改變後,需要重新初始化.
 boolean isExists()
          檢查書籍是否存在.
 boolean isValid()
          檢查書籍格式是否符合.
 BookMarkInfo.Bookmark makeBookmark()
          創建一個書簽對象.
 BookEmphasisInfo.BookEmphasis makeEmphasis()
          創建一個高亮顯示對象.
 Book.MetaData makeMetaData()
          Make meta data.
 BookSearchInfo.BookSearchResult makeSearchResult()
          创建搜索结果的对象.
 BookSearchInfo.BookSearchResult[] makeSearchResults(int size)
          创建搜索结果的对象的數組.
 void resetCurPage()
          重置當前頁內容.
 void resetNextPage()
          重置下一頁內容.
 void resetPrePage()
          重置前一頁內容.
 void setBookId(int id)
          設置書籍的ID標識.
 void setBookName(java.lang.String name)
          Sets the book name.
 void setBookPath(java.lang.String path)
          設置書籍文件完整路徑.
 void setBookSize(long size)
          设置文件大小,单位为字节.
 void setBookType(java.lang.String bookName)
          設置書籍類型標識.
 void setCachePage(com.foxconn.ebook.reader.engine.model.Page page)
          設置緩存頁對象.
 void setChapterState(ChapterTreeInfo.ChapterTreeState state)
          設置章節狀態.
 void setCurChapterIndex(int index)
          設置當前章節的序號.
 void setCurPage(com.foxconn.ebook.reader.engine.model.Page page)
          設置當前頁對象.
 void setCurPageNumber(int number)
          設置當前頁碼.
 void setFontLevel(int fontSize)
          設置字體大小等級.
 void setLastAccessTime(long time)
          設置最後打開書籍的時間,為long類型.
 void setLastLocation(java.lang.String location)
          設置當前顯示的頁位置.
 void setLastPageNumber(int number)
          設置退出時的頁碼.
 void setMetaData(Book.MetaData data)
          設置META信息.
 void setNextPage(com.foxconn.ebook.reader.engine.model.Page page)
          設置後一頁對象.
 void setOpened(boolean opened)
          設置書籍已經被打開.
 void setPageText(java.lang.String text)
           
 void setPassword(java.lang.String password)
          設置書籍的密碼.
 void setPrePage(com.foxconn.ebook.reader.engine.model.Page page)
          設置前一頁對象.
 void setTotalPageNumber(int number)
          設置書籍的總頁碼.
 void setUserName(java.lang.String userName)
          設置書籍的用戶名.
 void setViewHeight(int height)
          設置視圖的顯示高度.
 void setViewWidth(int width)
          設置視圖顯示寬度.
 void updateFromConfig(EngineConfig config)
          從配置對象更新書籍信息.
 void updateFromPage(com.foxconn.ebook.reader.engine.model.Page page)
          從頁碼更新書籍的信息.
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

VALUE_NULL

public static final java.lang.String VALUE_NULL
空值標識符號.

另请参见:
常量字段值
构造函数详细信息

Book

public Book(java.lang.String path)
通過文件的完整路徑構造書籍對象.如果當前的書籍和數據庫的ID無任何關聯時,可以使用該構造函數,否則使用 Book(int)

参数:
path - 書籍文件的完整路徑名

Book

public Book(int id)
通過數據庫中的BookId構造書籍對象.

参数:
id - 數據庫中的BookId
方法详细信息

isExists

public boolean isExists()
檢查書籍是否存在.

返回:
true, 存在. false, 不存在.

isValid

public boolean isValid()
檢查書籍格式是否符合.

返回:
true, 符合. false, 不符合.

getCurPage

public com.foxconn.ebook.reader.engine.model.Page getCurPage()
獲取當前的頁對象.

返回:
當前頁對象

setCurPage

public void setCurPage(com.foxconn.ebook.reader.engine.model.Page page)
設置當前頁對象.

参数:
page - 頁對象

getPrePage

public com.foxconn.ebook.reader.engine.model.Page getPrePage()
獲取前一頁對象.

返回:
前一頁對象.

setPrePage

public void setPrePage(com.foxconn.ebook.reader.engine.model.Page page)
設置前一頁對象.

参数:
page - 頁對象

getNextPage

public com.foxconn.ebook.reader.engine.model.Page getNextPage()
獲取下一頁對象.

返回:
頁對象.

setNextPage

public void setNextPage(com.foxconn.ebook.reader.engine.model.Page page)
設置後一頁對象.

参数:
page - 頁對象.

getCachePage

public com.foxconn.ebook.reader.engine.model.Page getCachePage()
獲取緩存頁對象.

返回:
緩存頁對象.

setCachePage

public void setCachePage(com.foxconn.ebook.reader.engine.model.Page page)
設置緩存頁對象.

参数:
page - 頁對象

resetCurPage

public void resetCurPage()
重置當前頁內容.


resetPrePage

public void resetPrePage()
重置前一頁內容.


resetNextPage

public void resetNextPage()
重置下一頁內容.


setOpened

public void setOpened(boolean opened)
設置書籍已經被打開.

参数:
opened - true, 已經被打開. false, 未被打開.

getOpened

public boolean getOpened()
獲取書籍是否被打開.

返回:
true, 已經被打開. false, 未被打開.

getBookPath

public java.lang.String getBookPath()
獲取書籍文件完整路徑.

返回:
文件完整路徑

setBookPath

public void setBookPath(java.lang.String path)
設置書籍文件完整路徑.

参数:
path - 文件完整路徑

getBookName

public java.lang.String getBookName()
獲取書籍文件名,不包含完整路徑.

返回:
書籍文件名

setBookName

public void setBookName(java.lang.String name)
Sets the book name.

参数:
name - the new book name

getBookSize

public long getBookSize()
获取文件大小.

返回:
文件大小,单位为字节.

setBookSize

public void setBookSize(long size)
设置文件大小,单位为字节.

参数:
size - 文件大小,单位为字节

getReaderType

public int getReaderType()
獲取Reader類型.

返回:
Reader類型
另请参见:
Book.ReaderType

getBookType

public int getBookType()
獲取書籍類型標識.

返回:
書籍類型標識
另请参见:
Book.BookType

setBookType

public void setBookType(java.lang.String bookName)
設置書籍類型標識.

参数:
bookName - 書籍文件名

getBookId

public int getBookId()
獲取書籍的ID標識.

返回:
書籍的ID標識

setBookId

public void setBookId(int id)
設置書籍的ID標識.

参数:
id - 書籍的ID標識

getMetaData

public Book.MetaData getMetaData()
獲取書籍的META信息.

返回:
書籍的META信息

setMetaData

public void setMetaData(Book.MetaData data)
設置META信息.

参数:
data - META信息對象

getTitle

public java.lang.String getTitle()
獲取書籍的標題.

返回:
書籍的標題

getAuthor

public java.lang.String getAuthor()
獲取書籍的作者.

返回:
獲取書籍的作者

getPublisher

public java.lang.String getPublisher()
獲取書籍的發布者.

返回:
書籍發布者

getEncoding

public java.lang.String getEncoding()
獲取書籍的編碼格式.

返回:
編碼格式字符串,如UTF-8、GBK等

getLanguage

public java.lang.String getLanguage()
獲取語言標識.

返回:
語言標識,如zh、en等

setUserName

public void setUserName(java.lang.String userName)
設置書籍的用戶名.

参数:
userName - 用戶名字符串

getUserName

public java.lang.String getUserName()
獲取書籍的用戶名.

返回:
用戶名字符串

setPassword

public void setPassword(java.lang.String password)
設置書籍的密碼.

参数:
password - 密碼字符串

getPassword

public java.lang.String getPassword()
獲取書籍的密碼.

返回:
密碼字符串

getViewWidth

public int getViewWidth()
獲取視圖顯示寬度.

返回:
顯示寬度

setViewWidth

public void setViewWidth(int width)
設置視圖顯示寬度.

参数:
width - 顯示寬度

getViewHeight

public int getViewHeight()
獲取視圖的顯示高度.

返回:
顯示高度

setViewHeight

public void setViewHeight(int height)
設置視圖的顯示高度.

参数:
height - 顯示高度

getTotalPageNumber

public int getTotalPageNumber()
獲取書籍的總頁碼.

返回:
書籍總頁碼

setTotalPageNumber

public void setTotalPageNumber(int number)
設置書籍的總頁碼.

参数:
number - 書籍總頁碼

getCurPageNumber

public int getCurPageNumber()
獲取當前頁碼.

返回:
當前頁碼

setCurPageNumber

public void setCurPageNumber(int number)
設置當前頁碼.

参数:
number - 當前頁碼

getLastPageNumber

public int getLastPageNumber()
獲取退出時的頁碼.

返回:
退出時的頁碼

setLastPageNumber

public void setLastPageNumber(int number)
設置退出時的頁碼.

参数:
number - 退出時的頁碼

getFontLevel

public int getFontLevel()
獲取字體大小等級.

返回:
字體大小等級

setFontLevel

public void setFontLevel(int fontSize)
設置字體大小等級.

参数:
fontSize - 字體大小等級

setLastAccessTime

public void setLastAccessTime(long time)
設置最後打開書籍的時間,為long類型.

参数:
time - 最後打開書籍的時間

getLastAccessTime

public long getLastAccessTime()
獲取最後打開書籍的時間,為long類型.

返回:
最後打開書籍的時間

setPageText

public void setPageText(java.lang.String text)

getPageText

public java.lang.String getPageText()

getBookMarkCursor

public IBookMarkCursor getBookMarkCursor()
獲取IBookMarkCursor接口.

返回:
IBookMarkCursor接口

getBookSearchCursor

public IBookSearchCursor getBookSearchCursor()
獲取IBookSearchCursor接口.

返回:
IBookSearchCursor接口

getBookEmphasisCursor

public IBookEmphasisCursor getBookEmphasisCursor()
獲取IBookEmphasisCursor接口.

返回:
IBookEmphasisCursor接口

makeMetaData

public Book.MetaData makeMetaData()
Make meta data.

返回:
the meta data

makeBookmark

public BookMarkInfo.Bookmark makeBookmark()
創建一個書簽對象.

返回:
書簽對象

makeEmphasis

public BookEmphasisInfo.BookEmphasis makeEmphasis()
創建一個高亮顯示對象.

返回:
高亮顯示對象

makeSearchResult

public BookSearchInfo.BookSearchResult makeSearchResult()
创建搜索结果的对象.

返回:
搜索结果的对象

makeSearchResults

public BookSearchInfo.BookSearchResult[] makeSearchResults(int size)
创建搜索结果的对象的數組.

参数:
size - 數組的大小
返回:
搜索结果的对象的數組

getLastLocation

public java.lang.String getLastLocation()
獲取當前顯示的頁位置,相比頁碼更加精確.

返回:
當前的頁位置

setLastLocation

public void setLastLocation(java.lang.String location)
設置當前顯示的頁位置.

参数:
location - 當前的頁位置

updateFromPage

public void updateFromPage(com.foxconn.ebook.reader.engine.model.Page page)
從頁碼更新書籍的信息.

参数:
page - 頁對象

updateFromConfig

public void updateFromConfig(EngineConfig config)
從配置對象更新書籍信息.

参数:
config - 配置對象

free

public void free()
釋放資源,通常關閉書籍的動作執行後,會自動調用該方法.


getBookChapterCursor

public IBookChapterCursor getBookChapterCursor()
获取目录树操作接口.

返回:
目录树操作接口

getChapterTitles

public java.lang.String[] getChapterTitles()
获取目录标题列表.

指定者:
接口 IBookChapterCursor 中的 getChapterTitles
返回:
目录标题的列表,为String[]类型

getChapterIndexByTitle

public int getChapterIndexByTitle(java.lang.String title)
根据目录标题获取目录的序号.

指定者:
接口 IBookChapterCursor 中的 getChapterIndexByTitle
参数:
title - 目录标题
返回:
该标题的目录序号

getChapterPageNums

public int[] getChapterPageNums()
获取每个目录标题对应的页码.

指定者:
接口 IBookChapterCursor 中的 getChapterPageNums
返回:
目录标题对应的页码,为int[]类型.

getCurChapterIndex

public int getCurChapterIndex()
获取当前目录的序号.

指定者:
接口 IBookChapterCursor 中的 getCurChapterIndex
返回:
当前目录的序号

getMaxChapterNum

public int getMaxChapterNum()
获取最大的目录序号.

指定者:
接口 IBookChapterCursor 中的 getMaxChapterNum
返回:
最大的目录序号

hasPreviousChapter

public boolean hasPreviousChapter()
检查是否存在前一章节.

指定者:
接口 IBookChapterCursor 中的 hasPreviousChapter
返回:
true, 存在. false, 不存在

hasNextChapter

public boolean hasNextChapter()
检查是否存在下一章节.

指定者:
接口 IBookChapterCursor 中的 hasNextChapter
返回:
true, 存在. false, 不存在

getPreviousChapterIndex

public int getPreviousChapterIndex(int pageIndex)
根据页码序号获取前一章节的序号.

指定者:
接口 IBookChapterCursor 中的 getPreviousChapterIndex
参数:
pageIndex - 页码序号
返回:
前一章节的序号

getNextChapterIndex

public int getNextChapterIndex(int pageIndex)
根据页码序号获取后一章节的序号.

指定者:
接口 IBookChapterCursor 中的 getNextChapterIndex
参数:
pageIndex - 页码序号
返回:
后一章节的序号

getPageIndexByChapterIndex

public int getPageIndexByChapterIndex(int index)
獲取對應章節序號的頁碼.

指定者:
接口 IBookChapterCursor 中的 getPageIndexByChapterIndex
参数:
index - 章節序號
返回:
頁碼序號

setChapterState

public void setChapterState(ChapterTreeInfo.ChapterTreeState state)
設置章節狀態.

参数:
state - 章節加載的狀態標識

setCurChapterIndex

public void setCurChapterIndex(int index)
設置當前章節的序號.

参数:
index - 當前章節的序號

getChapterList

public java.util.List<ChapterTreeInfo.Chapter> getChapterList()
獲取章節對象的列表.

指定者:
接口 IBookChapterCursor 中的 getChapterList
返回:
章節對象列表

chapterIsLoad

public boolean chapterIsLoad()
章節是否已經加載.

指定者:
接口 IBookChapterCursor 中的 chapterIsLoad
返回:
true, 已加載. false, 未加載.

chapterIsEmpty

public boolean chapterIsEmpty()
章節列表是否為空.

指定者:
接口 IBookChapterCursor 中的 chapterIsEmpty
返回:
true, 列表為空. false, 列表非空.

chapterInit

public void chapterInit(int[] indexs,
                        java.lang.String[] chapters)
章節初始化.

参数:
indexs - 章節序號列表
chapters - 章節標題列表

createFromPath

public void createFromPath(java.lang.String path)
检查文件路径,并根据结果来执行具体的初始化过程.

参数:
path - the path

initPage

public void initPage()
根據閱讀器的類型,重新初始化頁對象.當閱讀器類型改變後,需要重新初始化.