prefetchedcursor.java

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

JAVA
53
字号
package jnicli;

import java.util.*;
import java.io.Serializable;

public class PrefetchedCursor implements Cursor, Serializable { 
    // Public constructor to allow instantiation of this class
    public PrefetchedCursor() {}

    PrefetchedCursor(DatabaseJNI db, long cursor, ClassDescriptor desc) { 
        long oid;
        int size =  db.jniGetNumberOfSelectedRecords(cursor);
        objects = new Object[size];
        oids = new long[size];
        for (int i = 0; i < size; i++) {
            oids[i] = db.jniNext(cursor);            
            objects[i] = db.unswizzleObject(cursor, desc);
        }
        db.jniCloseCursor(cursor);
    }
        
    public boolean hasMoreElements() {
        return i < objects.length;
    }

    public Object nextElement() {
        if  (i >= objects.length) { 
            throw new NoSuchElementException();
        }
        return objects[i++];
    }

    public long getOid() { 
        if  (i == 0) { 
            throw new NoSuchElementException();
        }
        return oids[i-1];
    }

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

    public int size() { 
        return objects.length;
    }

    // make this fields public in order to be accessible in JDK1.1 environment
    public Object[] objects;
    public long[]   oids;
    transient int i;
}

⌨️ 快捷键说明

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