📄 jdbmenumerator.java
字号:
// Developed by Kinva Network Inc. 2000
// Source File Name: jdbmEnumerator.java
package com.kinva.util.jdbm;
import java.io.IOException;
import java.util.Enumeration;
import java.util.NoSuchElementException;
// Referenced classes of package com.kinva.util.jdbm:
// jdbm, jdbmBucket, jdbmBucketElement
class jdbmEnumerator
implements Enumeration
{
jdbmEnumerator(jdbm jdbm1, boolean flag, int i)
{
didx = -1;
bdone = false;
keys = false;
dbm = jdbm1;
keys = flag;
didx = i;
bucket = bucket;
try
{
jdbm1.getNextBucket(this);
return;
}
catch(IOException _ex)
{
throw new RuntimeException("jdbm: enumeration failure.");
}
}
private final byte[] computeNextElement()
{
try
{
while(bucket != null)
{
while(bidx < dbm.bucket_elems)
{
if(bucket.elements[bidx].hashval != -1)
{
byte abyte0[] = keys ? dbm.readKey(bucket.elements[bidx]) : dbm.readData(bucket.elements[bidx]);
bidx++;
return abyte0;
}
bidx++;
}
if(!dbm.getNextBucket(this))
return null;
}
}
catch(IOException ioexception)
{
ioexception.printStackTrace();
throw new RuntimeException("jdbm: enumeration failure.");
}
return null;
}
public boolean hasMoreElements()
{
if(next == null)
next = computeNextElement();
return next != null;
}
public Object nextElement()
{
byte abyte0[] = next;
if(abyte0 == null && (abyte0 = computeNextElement()) == null)
{
throw new NoSuchElementException("jdbm");
} else
{
next = null;
return abyte0;
}
}
int didx;
jdbmBucket bucket;
jdbm dbm;
boolean bdone;
boolean keys;
int bidx;
byte next[];
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -