public class org.apache.activemq.store.kahadb.disk.index.BTreeIndex extends java.lang.Object implements org.apache.activemq.store.kahadb.disk.index.Index
{
private static final org.slf4j.Logger LOG;
private org.apache.activemq.store.kahadb.disk.page.PageFile pageFile;
private long pageId;
private java.util.concurrent.atomic.AtomicBoolean loaded;
private final org.apache.activemq.store.kahadb.disk.index.BTreeNode$Marshaller marshaller;
private org.apache.activemq.store.kahadb.disk.util.Marshaller keyMarshaller;
private org.apache.activemq.store.kahadb.disk.util.Marshaller valueMarshaller;
private org.apache.activemq.store.kahadb.disk.index.BTreeIndex$Prefixer prefixer;
public void <init>()
{
org.apache.activemq.store.kahadb.disk.index.BTreeNode$Marshaller v;
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>()>();
v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: java.util.concurrent.atomic.AtomicBoolean loaded> = v;
v = new org.apache.activemq.store.kahadb.disk.index.BTreeNode$Marshaller;
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode$Marshaller: void <init>(org.apache.activemq.store.kahadb.disk.index.BTreeIndex)>(v);
v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.index.BTreeNode$Marshaller marshaller> = v;
return;
}
public void <init>(long)
{
org.apache.activemq.store.kahadb.disk.index.BTreeNode$Marshaller v;
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
java.util.concurrent.atomic.AtomicBoolean v;
long v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: long;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>()>();
v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: java.util.concurrent.atomic.AtomicBoolean loaded> = v;
v = new org.apache.activemq.store.kahadb.disk.index.BTreeNode$Marshaller;
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode$Marshaller: void <init>(org.apache.activemq.store.kahadb.disk.index.BTreeIndex)>(v);
v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.index.BTreeNode$Marshaller marshaller> = v;
v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: long pageId> = v;
return;
}
public void <init>(org.apache.activemq.store.kahadb.disk.page.Page)
{
long v;
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
org.apache.activemq.store.kahadb.disk.page.Page v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Page;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Page: long getPageId()>();
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: void <init>(long)>(v);
return;
}
public void <init>(org.apache.activemq.store.kahadb.disk.page.PageFile, long)
{
org.apache.activemq.store.kahadb.disk.index.BTreeNode$Marshaller v;
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
java.util.concurrent.atomic.AtomicBoolean v;
long v;
org.apache.activemq.store.kahadb.disk.page.PageFile v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.PageFile;
v := @parameter: long;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>()>();
v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: java.util.concurrent.atomic.AtomicBoolean loaded> = v;
v = new org.apache.activemq.store.kahadb.disk.index.BTreeNode$Marshaller;
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode$Marshaller: void <init>(org.apache.activemq.store.kahadb.disk.index.BTreeIndex)>(v);
v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.index.BTreeNode$Marshaller marshaller> = v;
v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.page.PageFile pageFile> = v;
v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: long pageId> = v;
return;
}
public void <init>(org.apache.activemq.store.kahadb.disk.page.PageFile, org.apache.activemq.store.kahadb.disk.page.Page)
{
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
long v;
org.apache.activemq.store.kahadb.disk.page.PageFile v;
org.apache.activemq.store.kahadb.disk.page.Page v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.PageFile;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Page;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Page: long getPageId()>();
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: void <init>(org.apache.activemq.store.kahadb.disk.page.PageFile,long)>(v, v);
return;
}
public synchronized void load(org.apache.activemq.store.kahadb.disk.page.Transaction) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
org.slf4j.Logger v;
java.util.concurrent.atomic.AtomicBoolean v;
long v;
java.lang.IllegalArgumentException v, v;
org.apache.activemq.store.kahadb.disk.page.Page v;
short v;
org.apache.activemq.store.kahadb.disk.index.BTreeNode v;
org.apache.activemq.store.kahadb.disk.util.Marshaller v, v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
boolean v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v = v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: java.util.concurrent.atomic.AtomicBoolean loaded>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
v = <org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("loading");
v = v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.util.Marshaller keyMarshaller>;
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("The key marshaller must be set before loading the BTreeIndex");
throw v;
label:
v = v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.util.Marshaller valueMarshaller>;
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("The value marshaller must be set before loading the BTreeIndex");
throw v;
label:
v = v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: long pageId>;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Transaction: org.apache.activemq.store.kahadb.disk.page.Page load(long,org.apache.activemq.store.kahadb.disk.util.Marshaller)>(v, null);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Page: short getType()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.index.BTreeNode createNode(org.apache.activemq.store.kahadb.disk.page.Page,org.apache.activemq.store.kahadb.disk.index.BTreeNode)>(v, null);
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: void storeNode(org.apache.activemq.store.kahadb.disk.page.Transaction,org.apache.activemq.store.kahadb.disk.index.BTreeNode,boolean)>(v, v, 1);
label:
return;
}
public synchronized void unload(org.apache.activemq.store.kahadb.disk.page.Transaction)
{
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
boolean v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v = v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: java.util.concurrent.atomic.AtomicBoolean loaded>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(1, 0);
return;
}
private org.apache.activemq.store.kahadb.disk.index.BTreeNode getRoot(org.apache.activemq.store.kahadb.disk.page.Transaction) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
org.apache.activemq.store.kahadb.disk.index.BTreeNode v;
long v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v = v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: long pageId>;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.index.BTreeNode loadNode(org.apache.activemq.store.kahadb.disk.page.Transaction,long,org.apache.activemq.store.kahadb.disk.index.BTreeNode)>(v, v, null);
return v;
}
public synchronized boolean containsKey(org.apache.activemq.store.kahadb.disk.page.Transaction, java.lang.Object) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
org.apache.activemq.store.kahadb.disk.index.BTreeNode v;
java.lang.Object v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
boolean v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v := @parameter: java.lang.Object;
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: void assertLoaded()>();
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.index.BTreeNode getRoot(org.apache.activemq.store.kahadb.disk.page.Transaction)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: boolean contains(org.apache.activemq.store.kahadb.disk.page.Transaction,java.lang.Object)>(v, v);
return v;
}
public synchronized java.lang.Object get(org.apache.activemq.store.kahadb.disk.page.Transaction, java.lang.Object) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
org.apache.activemq.store.kahadb.disk.index.BTreeNode v;
java.lang.Object v, v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v := @parameter: java.lang.Object;
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: void assertLoaded()>();
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.index.BTreeNode getRoot(org.apache.activemq.store.kahadb.disk.page.Transaction)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: java.lang.Object get(org.apache.activemq.store.kahadb.disk.page.Transaction,java.lang.Object)>(v, v);
return v;
}
public synchronized java.lang.Object put(org.apache.activemq.store.kahadb.disk.page.Transaction, java.lang.Object, java.lang.Object) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
org.apache.activemq.store.kahadb.disk.index.BTreeNode v;
java.lang.Object v, v, v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: void assertLoaded()>();
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.index.BTreeNode getRoot(org.apache.activemq.store.kahadb.disk.page.Transaction)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: java.lang.Object put(org.apache.activemq.store.kahadb.disk.page.Transaction,java.lang.Object,java.lang.Object)>(v, v, v);
return v;
}
public synchronized java.lang.Object remove(org.apache.activemq.store.kahadb.disk.page.Transaction, java.lang.Object) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
org.apache.activemq.store.kahadb.disk.index.BTreeNode v;
java.lang.Object v, v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v := @parameter: java.lang.Object;
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: void assertLoaded()>();
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.index.BTreeNode getRoot(org.apache.activemq.store.kahadb.disk.page.Transaction)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: java.lang.Object remove(org.apache.activemq.store.kahadb.disk.page.Transaction,java.lang.Object)>(v, v);
return v;
}
public boolean isTransient()
{
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
return 0;
}
public synchronized void clear(org.apache.activemq.store.kahadb.disk.page.Transaction) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
org.apache.activemq.store.kahadb.disk.index.BTreeNode v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.index.BTreeNode getRoot(org.apache.activemq.store.kahadb.disk.page.Transaction)>(v);
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: void clear(org.apache.activemq.store.kahadb.disk.page.Transaction)>(v);
return;
}
public synchronized int getMinLeafDepth(org.apache.activemq.store.kahadb.disk.page.Transaction) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
org.apache.activemq.store.kahadb.disk.index.BTreeNode v;
int v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.index.BTreeNode getRoot(org.apache.activemq.store.kahadb.disk.page.Transaction)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: int getMinLeafDepth(org.apache.activemq.store.kahadb.disk.page.Transaction,int)>(v, 0);
return v;
}
public synchronized int getMaxLeafDepth(org.apache.activemq.store.kahadb.disk.page.Transaction) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
org.apache.activemq.store.kahadb.disk.index.BTreeNode v;
int v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.index.BTreeNode getRoot(org.apache.activemq.store.kahadb.disk.page.Transaction)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: int getMaxLeafDepth(org.apache.activemq.store.kahadb.disk.page.Transaction,int)>(v, 0);
return v;
}
public synchronized void printStructure(org.apache.activemq.store.kahadb.disk.page.Transaction, java.io.PrintWriter) throws java.io.IOException
{
java.io.PrintWriter v;
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
org.apache.activemq.store.kahadb.disk.index.BTreeNode v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v := @parameter: java.io.PrintWriter;
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.index.BTreeNode getRoot(org.apache.activemq.store.kahadb.disk.page.Transaction)>(v);
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: void printStructure(org.apache.activemq.store.kahadb.disk.page.Transaction,java.io.PrintWriter,java.lang.String)>(v, v, "");
return;
}
public synchronized void printStructure(org.apache.activemq.store.kahadb.disk.page.Transaction, java.io.OutputStream) throws java.io.IOException
{
java.io.OutputStream v;
java.io.PrintWriter v;
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
org.apache.activemq.store.kahadb.disk.index.BTreeNode v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v := @parameter: java.io.OutputStream;
v = new java.io.PrintWriter;
specialinvoke v.<java.io.PrintWriter: void <init>(java.io.OutputStream,boolean)>(v, 0);
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.index.BTreeNode getRoot(org.apache.activemq.store.kahadb.disk.page.Transaction)>(v);
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: void printStructure(org.apache.activemq.store.kahadb.disk.page.Transaction,java.io.PrintWriter,java.lang.String)>(v, v, "");
virtualinvoke v.<java.io.PrintWriter: void flush()>();
return;
}
public synchronized boolean isEmpty(org.apache.activemq.store.kahadb.disk.page.Transaction) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
org.apache.activemq.store.kahadb.disk.index.BTreeNode v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
boolean v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.index.BTreeNode getRoot(org.apache.activemq.store.kahadb.disk.page.Transaction)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: boolean isEmpty(org.apache.activemq.store.kahadb.disk.page.Transaction)>(v);
return v;
}
public synchronized java.util.Iterator iterator(org.apache.activemq.store.kahadb.disk.page.Transaction) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
java.util.Iterator v;
org.apache.activemq.store.kahadb.disk.index.BTreeNode v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.index.BTreeNode getRoot(org.apache.activemq.store.kahadb.disk.page.Transaction)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: java.util.Iterator iterator(org.apache.activemq.store.kahadb.disk.page.Transaction)>(v);
return v;
}
public synchronized java.util.Iterator iterator(org.apache.activemq.store.kahadb.disk.page.Transaction, java.lang.Object) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
java.util.Iterator v;
org.apache.activemq.store.kahadb.disk.index.BTreeNode v;
java.lang.Object v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v := @parameter: java.lang.Object;
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.index.BTreeNode getRoot(org.apache.activemq.store.kahadb.disk.page.Transaction)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: java.util.Iterator iterator(org.apache.activemq.store.kahadb.disk.page.Transaction,java.lang.Object,java.lang.Object)>(v, v, null);
return v;
}
public synchronized java.util.Iterator iterator(org.apache.activemq.store.kahadb.disk.page.Transaction, java.lang.Object, java.lang.Object) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
java.util.Iterator v;
org.apache.activemq.store.kahadb.disk.index.BTreeNode v;
java.lang.Object v, v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.index.BTreeNode getRoot(org.apache.activemq.store.kahadb.disk.page.Transaction)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: java.util.Iterator iterator(org.apache.activemq.store.kahadb.disk.page.Transaction,java.lang.Object,java.lang.Object)>(v, v, v);
return v;
}
public synchronized void visit(org.apache.activemq.store.kahadb.disk.page.Transaction, org.apache.activemq.store.kahadb.disk.index.BTreeVisitor) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
org.apache.activemq.store.kahadb.disk.index.BTreeNode v;
org.apache.activemq.store.kahadb.disk.index.BTreeVisitor v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v := @parameter: org.apache.activemq.store.kahadb.disk.index.BTreeVisitor;
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.index.BTreeNode getRoot(org.apache.activemq.store.kahadb.disk.page.Transaction)>(v);
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: void visit(org.apache.activemq.store.kahadb.disk.page.Transaction,org.apache.activemq.store.kahadb.disk.index.BTreeVisitor)>(v, v);
return;
}
public synchronized java.util.Map$Entry getFirst(org.apache.activemq.store.kahadb.disk.page.Transaction) throws java.io.IOException
{
java.util.Map$Entry v;
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
org.apache.activemq.store.kahadb.disk.index.BTreeNode v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.index.BTreeNode getRoot(org.apache.activemq.store.kahadb.disk.page.Transaction)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: java.util.Map$Entry getFirst(org.apache.activemq.store.kahadb.disk.page.Transaction)>(v);
return v;
}
public synchronized java.util.Map$Entry getLast(org.apache.activemq.store.kahadb.disk.page.Transaction) throws java.io.IOException
{
java.util.Map$Entry v;
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
org.apache.activemq.store.kahadb.disk.index.BTreeNode v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v = specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.index.BTreeNode getRoot(org.apache.activemq.store.kahadb.disk.page.Transaction)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: java.util.Map$Entry getLast(org.apache.activemq.store.kahadb.disk.page.Transaction)>(v);
return v;
}
private void assertLoaded() throws java.lang.IllegalStateException
{
java.lang.IllegalStateException v;
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
java.util.concurrent.atomic.AtomicBoolean v;
boolean v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v = v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: java.util.concurrent.atomic.AtomicBoolean loaded>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("The BTreeIndex is not loaded");
throw v;
label:
return;
}
org.apache.activemq.store.kahadb.disk.index.BTreeNode loadNode(org.apache.activemq.store.kahadb.disk.page.Transaction, long, org.apache.activemq.store.kahadb.disk.index.BTreeNode) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.BTreeNode$Marshaller v;
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
org.apache.activemq.store.kahadb.disk.index.BTreeNode v;
java.lang.Object v;
long v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
org.apache.activemq.store.kahadb.disk.page.Page v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v := @parameter: long;
v := @parameter: org.apache.activemq.store.kahadb.disk.index.BTreeNode;
v = v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.index.BTreeNode$Marshaller marshaller>;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Transaction: org.apache.activemq.store.kahadb.disk.page.Page load(long,org.apache.activemq.store.kahadb.disk.util.Marshaller)>(v, v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Page: java.lang.Object get()>();
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: void setPage(org.apache.activemq.store.kahadb.disk.page.Page)>(v);
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: void setParent(org.apache.activemq.store.kahadb.disk.index.BTreeNode)>(v);
return v;
}
org.apache.activemq.store.kahadb.disk.index.BTreeNode createNode(org.apache.activemq.store.kahadb.disk.page.Transaction, org.apache.activemq.store.kahadb.disk.index.BTreeNode) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
org.apache.activemq.store.kahadb.disk.index.BTreeNode v, v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
org.apache.activemq.store.kahadb.disk.page.Page v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v := @parameter: org.apache.activemq.store.kahadb.disk.index.BTreeNode;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Transaction: org.apache.activemq.store.kahadb.disk.page.Page allocate()>();
v = new org.apache.activemq.store.kahadb.disk.index.BTreeNode;
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: void <init>(org.apache.activemq.store.kahadb.disk.index.BTreeIndex)>(v);
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: void setPage(org.apache.activemq.store.kahadb.disk.page.Page)>(v);
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: void setParent(org.apache.activemq.store.kahadb.disk.index.BTreeNode)>(v);
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: void setEmpty()>();
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Page: void set(java.lang.Object)>(v);
return v;
}
org.apache.activemq.store.kahadb.disk.index.BTreeNode createNode(org.apache.activemq.store.kahadb.disk.page.Page, org.apache.activemq.store.kahadb.disk.index.BTreeNode) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
org.apache.activemq.store.kahadb.disk.index.BTreeNode v, v;
org.apache.activemq.store.kahadb.disk.page.Page v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Page;
v := @parameter: org.apache.activemq.store.kahadb.disk.index.BTreeNode;
v = new org.apache.activemq.store.kahadb.disk.index.BTreeNode;
specialinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: void <init>(org.apache.activemq.store.kahadb.disk.index.BTreeIndex)>(v);
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: void setPage(org.apache.activemq.store.kahadb.disk.page.Page)>(v);
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: void setParent(org.apache.activemq.store.kahadb.disk.index.BTreeNode)>(v);
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: void setEmpty()>();
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Page: void set(java.lang.Object)>(v);
return v;
}
void storeNode(org.apache.activemq.store.kahadb.disk.page.Transaction, org.apache.activemq.store.kahadb.disk.index.BTreeNode, boolean) throws java.io.IOException
{
org.apache.activemq.store.kahadb.disk.index.BTreeNode$Marshaller v;
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
org.apache.activemq.store.kahadb.disk.index.BTreeNode v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
boolean v;
org.apache.activemq.store.kahadb.disk.page.Page v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.Transaction;
v := @parameter: org.apache.activemq.store.kahadb.disk.index.BTreeNode;
v := @parameter: boolean;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.index.BTreeNode: org.apache.activemq.store.kahadb.disk.page.Page getPage()>();
v = v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.index.BTreeNode$Marshaller marshaller>;
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Transaction: void store(org.apache.activemq.store.kahadb.disk.page.Page,org.apache.activemq.store.kahadb.disk.util.Marshaller,boolean)>(v, v, v);
return;
}
public org.apache.activemq.store.kahadb.disk.page.PageFile getPageFile()
{
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
org.apache.activemq.store.kahadb.disk.page.PageFile v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v = v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.page.PageFile pageFile>;
return v;
}
public long getPageId()
{
long v;
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v = v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: long pageId>;
return v;
}
public org.apache.activemq.store.kahadb.disk.util.Marshaller getKeyMarshaller()
{
org.apache.activemq.store.kahadb.disk.util.Marshaller v;
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v = v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.util.Marshaller keyMarshaller>;
return v;
}
public void setKeyMarshaller(org.apache.activemq.store.kahadb.disk.util.Marshaller)
{
org.apache.activemq.store.kahadb.disk.util.Marshaller v;
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.util.Marshaller;
v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.util.Marshaller keyMarshaller> = v;
return;
}
public org.apache.activemq.store.kahadb.disk.util.Marshaller getValueMarshaller()
{
org.apache.activemq.store.kahadb.disk.util.Marshaller v;
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v = v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.util.Marshaller valueMarshaller>;
return v;
}
public void setValueMarshaller(org.apache.activemq.store.kahadb.disk.util.Marshaller)
{
org.apache.activemq.store.kahadb.disk.util.Marshaller v;
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.util.Marshaller;
v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.util.Marshaller valueMarshaller> = v;
return;
}
public org.apache.activemq.store.kahadb.disk.index.BTreeIndex$Prefixer getPrefixer()
{
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
org.apache.activemq.store.kahadb.disk.index.BTreeIndex$Prefixer v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v = v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.index.BTreeIndex$Prefixer prefixer>;
return v;
}
public void setPrefixer(org.apache.activemq.store.kahadb.disk.index.BTreeIndex$Prefixer)
{
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
org.apache.activemq.store.kahadb.disk.index.BTreeIndex$Prefixer v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.index.BTreeIndex$Prefixer;
v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.index.BTreeIndex$Prefixer prefixer> = v;
return;
}
public void setPageFile(org.apache.activemq.store.kahadb.disk.page.PageFile)
{
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
org.apache.activemq.store.kahadb.disk.page.PageFile v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: org.apache.activemq.store.kahadb.disk.page.PageFile;
v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.apache.activemq.store.kahadb.disk.page.PageFile pageFile> = v;
return;
}
public void setPageId(long)
{
long v;
org.apache.activemq.store.kahadb.disk.index.BTreeIndex v;
v := @this: org.apache.activemq.store.kahadb.disk.index.BTreeIndex;
v := @parameter: long;
v.<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: long pageId> = v;
return;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/activemq/store/kahadb/disk/index/BTreeIndex;");
<org.apache.activemq.store.kahadb.disk.index.BTreeIndex: org.slf4j.Logger LOG> = v;
return;
}
}