|
iRex DR1000 Manager v0.5.1 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectit.andynaz.irex.dr1000.document.ScribbleMgr
public class ScribbleMgr
Class to use the SQLite database file with the scribbles.
All the scribbles taken by an iRex DR1000 are stored in SQLite database
files. Of the 4 tables in the database, this program uses only the 2 "file_metadata
" and "annotations
"; in the first there are the data of
the files in the folder, while in the latter there are the scribbles.
The 2 tables are defined as:
+------------------------+ +------------------------+ | annotations | | file_metadata | +------------------------+ +------------------------+ | annotation_id INTEGER | | file_id INTEGER | <------------ | file_id INTEGER | | filename VARCHAR(250) | | file_position INTEGER | +------------------------+ | data BLOB | | other non-used columns | +------------------------+
In the case of PDF files the table stores a record per file, as there is a
metadata.db
file for each folder. The file name is stored in the
"file_metadata.filename
" column, while the file id is stored in both
the "file_metadata.file_id
" and "annotations.file_id
" columns
(this is the join column between the 2 tables). The scribbles are stored
per-page, where the page number is stored in the
"annotations.file_position
" column and the actual scribbles data are
stored in the "annotations.data
" column.
A note taken with the device are memorized in a SQLite databse file with
the same structure above, except taht the content of the file_metadata
table is a single record "file_id=1 filename=.
".
Field Summary | |
---|---|
protected Connection |
con
Connection to the scribble database file. |
Constructor Summary | |
---|---|
ScribbleMgr()
Creates a new ScribbleMgr. |
Method Summary | |
---|---|
private int |
chooseFileFromDB()
Let you choose the file in the database. |
void |
closeConnection()
Close the connection to the DB. |
int |
getFileId(String fileName)
Returns the id corresponding to a file name. |
private String[][] |
getScribbledFiles()
Returns a table with the filenames in the database. |
List<Integer> |
getScribbledPages(int idFile)
Returns a list of the pages' number with scribbles. |
byte[] |
getScribbles(int pageNumber,
int idFile)
Returns a blob with the scribbles. |
void |
init(File db)
Sets the database file and initialize the connection. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected Connection con
Constructor Detail |
---|
public ScribbleMgr()
Method Detail |
---|
public void init(File db) throws ClassNotFoundException, SQLException
db
- path of the folder which contains the database file
ClassNotFoundException
- if the class for the JDBC driver is not
found
SQLException
- if SQL errors occurpublic void closeConnection() throws SQLException
SQLException
- if SQL errors occurpublic int getFileId(String fileName)
fileName
- the file name
private int chooseFileFromDB() throws IOException
IOException
private String[][] getScribbledFiles()
SQLException
- if SQL errors occourpublic List<Integer> getScribbledPages(int idFile) throws SQLException
idFile
- file id (as in the database)
SQLException
public byte[] getScribbles(int pageNumber, int idFile) throws SQLException
pageNumber
- the number of the pageidFile
- id of the file (as in the database)
SQLException
- if SQL errors occour
|
iRex DR1000 Manager v0.5.1 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |