EntryIterator.java
package com.surrealdb;
import java.util.Iterator;
import java.util.Objects;
/**
* EntryIterator is a specialized iterator for traversing entries. This class
* implements the Java Iterator interface to provide a seamless way to iterate
* over Entry objects.
*/
public class EntryIterator extends Native implements Iterator<Entry>, AutoCloseable {
EntryIterator(long ptr) {
super(ptr);
}
private native boolean hasNext(long ptr);
private native long next(long ptr);
@Override
final String toString(long ptr) {
return "EntryIterator[ptr=" + ptr + "]";
}
@Override
final int hashCode(long ptr) {
return Objects.hashCode(ptr);
}
@Override
final boolean equals(long ptr1, long ptr2) {
return ptr1 == ptr2;
}
private static native void deleteInstance(long ptr);
@Override
final NativeCleaner.Deleter deleter() {
return EntryIterator::deleteInstance;
}
@Override
public boolean hasNext() {
return hasNext(getPtr());
}
@Override
public Entry next() {
return new Entry(next(getPtr()));
}
}