incrementalcursor.java

来自「最新版本!fastdb是高效的内存数据库系统」· Java 代码 · 共 48 行

JAVA
48
字号
package jnicli;
import java.util.*;

class IncrementalCursor implements Cursor { 
    IncrementalCursor(DatabaseJNI db, long cursor, ClassDescriptor desc) { 
        this.db = db;
        this.desc = desc;
        this.cursor = cursor;
        oid = db.jniNext(cursor);
    }

    public int size() { 
        return db.jniGetNumberOfSelectedRecords(cursor);
    }
        
    public boolean hasMoreElements() {
        return oid > 0;
    }

    public Object nextElement() {
        if  (oid == 0) { 
            throw new NoSuchElementException();
        }
        Object obj = db.unswizzleObject(cursor, desc);
        oid = db.jniNext(cursor);
        return obj;
    }

    public long getOid() { 
        return oid;
    }

    public void update() { 
        throw new CliException("Cursor not in update mode");
    }

    protected void finalize() { 
        if (oid != 0) { 
            db.jniCloseCursor(cursor);
        }
    }

    DatabaseJNI     db;
    long            oid;
    long            cursor;
    ClassDescriptor desc;
}
    

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?