| package SQLite; |
| |
| /** |
| * Class wrapping an SQLite backup object. |
| */ |
| |
| public class Backup { |
| |
| /** |
| * Internal handle for the native SQLite API. |
| */ |
| |
| protected long handle = 0; |
| |
| /** |
| * Finish a backup. |
| */ |
| |
| protected void finish() throws SQLite.Exception { |
| synchronized(this) { |
| _finalize(); |
| } |
| } |
| |
| /** |
| * Destructor for object. |
| */ |
| |
| protected void finalize() { |
| synchronized(this) { |
| try { |
| _finalize(); |
| } catch (SQLite.Exception e) { |
| } |
| } |
| } |
| |
| protected native void _finalize() throws SQLite.Exception; |
| |
| /** |
| * Perform a backup step. |
| * |
| * @param n number of pages to backup |
| * @return true when backup completed |
| */ |
| |
| public boolean step(int n) throws SQLite.Exception { |
| synchronized(this) { |
| return _step(n); |
| } |
| } |
| |
| private native boolean _step(int n) throws SQLite.Exception; |
| |
| /** |
| * Perform the backup in one step. |
| */ |
| |
| public void backup() throws SQLite.Exception { |
| synchronized(this) { |
| _step(-1); |
| } |
| } |
| |
| /** |
| * Return number of remaining pages to be backed up. |
| */ |
| |
| public int remaining() throws SQLite.Exception { |
| synchronized(this) { |
| return _remaining(); |
| } |
| } |
| |
| private native int _remaining() throws SQLite.Exception; |
| |
| /** |
| * Return the total number of pages in the backup source database. |
| */ |
| |
| public int pagecount() throws SQLite.Exception { |
| synchronized(this) { |
| return _pagecount(); |
| } |
| } |
| |
| private native int _pagecount() throws SQLite.Exception; |
| |
| /** |
| * Internal native initializer. |
| */ |
| |
| private static native void internal_init(); |
| |
| static { |
| internal_init(); |
| } |
| } |
| |