public final class org.hibernate.internal.IteratorImpl implements org.hibernate.engine.HibernateIterator
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.hibernate.internal.IteratorImpl
super_class: java.lang.Object
{
private static final org.hibernate.internal.CoreMessageLogger LOG;
descriptor: Lorg/hibernate/internal/CoreMessageLogger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.sql.ResultSet rs;
descriptor: Ljava/sql/ResultSet;
flags: (0x0002) ACC_PRIVATE
private final org.hibernate.event.spi.EventSource session;
descriptor: Lorg/hibernate/event/spi/EventSource;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean readOnly;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final org.hibernate.type.Type[] types;
descriptor: [Lorg/hibernate/type/Type;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean single;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.Object currentResult;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private boolean hasNext;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final java.lang.String[][] names;
descriptor: [[Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.sql.PreparedStatement ps;
descriptor: Ljava/sql/PreparedStatement;
flags: (0x0002) ACC_PRIVATE
private org.hibernate.hql.internal.HolderInstantiator holderInstantiator;
descriptor: Lorg/hibernate/hql/internal/HolderInstantiator;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/hibernate/internal/CoreMessageLogger;
ldc Lorg/hibernate/internal/IteratorImpl;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic org.jboss.logging.Logger.getMessageLogger:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
checkcast org.hibernate.internal.CoreMessageLogger
putstatic org.hibernate.internal.IteratorImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.sql.ResultSet, java.sql.PreparedStatement, org.hibernate.event.spi.EventSource, boolean, org.hibernate.type.Type[], java.lang.String[][], org.hibernate.hql.internal.HolderInstantiator);
descriptor: (Ljava/sql/ResultSet;Ljava/sql/PreparedStatement;Lorg/hibernate/event/spi/EventSource;Z[Lorg/hibernate/type/Type;[[Ljava/lang/String;Lorg/hibernate/hql/internal/HolderInstantiator;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.hibernate.internal.IteratorImpl.rs:Ljava/sql/ResultSet;
2: aload 0
aload 2
putfield org.hibernate.internal.IteratorImpl.ps:Ljava/sql/PreparedStatement;
3: aload 0
aload 3
putfield org.hibernate.internal.IteratorImpl.session:Lorg/hibernate/event/spi/EventSource;
4: aload 0
iload 4
putfield org.hibernate.internal.IteratorImpl.readOnly:Z
5: aload 0
aload 5
putfield org.hibernate.internal.IteratorImpl.types:[Lorg/hibernate/type/Type;
6: aload 0
aload 6
putfield org.hibernate.internal.IteratorImpl.names:[[Ljava/lang/String;
7: aload 0
aload 7
putfield org.hibernate.internal.IteratorImpl.holderInstantiator:Lorg/hibernate/hql/internal/HolderInstantiator;
8: aload 0
aload 5
arraylength
iconst_1
if_icmpne 9
iconst_1
goto 10
StackMap locals: org.hibernate.internal.IteratorImpl java.sql.ResultSet java.sql.PreparedStatement org.hibernate.event.spi.EventSource int org.hibernate.type.Type[] java.lang.String[][] org.hibernate.hql.internal.HolderInstantiator
StackMap stack: org.hibernate.internal.IteratorImpl
9: iconst_0
StackMap locals: org.hibernate.internal.IteratorImpl java.sql.ResultSet java.sql.PreparedStatement org.hibernate.event.spi.EventSource int org.hibernate.type.Type[] java.lang.String[][] org.hibernate.hql.internal.HolderInstantiator
StackMap stack: org.hibernate.internal.IteratorImpl int
10: putfield org.hibernate.internal.IteratorImpl.single:Z
11: aload 0
invokevirtual org.hibernate.internal.IteratorImpl.postNext:()V
12: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/hibernate/internal/IteratorImpl;
0 13 1 rs Ljava/sql/ResultSet;
0 13 2 ps Ljava/sql/PreparedStatement;
0 13 3 sess Lorg/hibernate/event/spi/EventSource;
0 13 4 readOnly Z
0 13 5 types [Lorg/hibernate/type/Type;
0 13 6 columnNames [[Ljava/lang/String;
0 13 7 holderInstantiator Lorg/hibernate/hql/internal/HolderInstantiator;
Exceptions:
throws org.hibernate.HibernateException, java.sql.SQLException
MethodParameters:
Name Flags
rs
ps
sess
readOnly
types
columnNames
holderInstantiator
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.hibernate.internal.IteratorImpl.ps:Ljava/sql/PreparedStatement;
ifnull 10
1: getstatic org.hibernate.internal.IteratorImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
ldc "Closing iterator"
invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
2: aload 0
getfield org.hibernate.internal.IteratorImpl.session:Lorg/hibernate/event/spi/EventSource;
invokeinterface org.hibernate.event.spi.EventSource.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
aload 0
getfield org.hibernate.internal.IteratorImpl.ps:Ljava/sql/PreparedStatement;
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
3: aload 0
aconst_null
putfield org.hibernate.internal.IteratorImpl.ps:Ljava/sql/PreparedStatement;
4: aload 0
aconst_null
putfield org.hibernate.internal.IteratorImpl.rs:Ljava/sql/ResultSet;
5: aload 0
iconst_0
putfield org.hibernate.internal.IteratorImpl.hasNext:Z
6: aload 0
getfield org.hibernate.internal.IteratorImpl.session:Lorg/hibernate/event/spi/EventSource;
invokeinterface org.hibernate.event.spi.EventSource.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
invokeinterface org.hibernate.engine.spi.PersistenceContext.getLoadContexts:()Lorg/hibernate/engine/loading/internal/LoadContexts;
aload 0
getfield org.hibernate.internal.IteratorImpl.rs:Ljava/sql/ResultSet;
invokevirtual org.hibernate.engine.loading.internal.LoadContexts.cleanup:(Ljava/sql/ResultSet;)V
7: goto 10
8: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 9: getstatic org.hibernate.internal.IteratorImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
ldc "Exception trying to cleanup load context : %s"
aload 1
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
end local 1 10: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/hibernate/internal/IteratorImpl;
9 10 1 ignore Ljava/lang/Throwable;
Exception table:
from to target type
6 7 8 Class java.lang.Throwable
Exceptions:
throws org.hibernate.JDBCException
private void postNext();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.hibernate.internal.IteratorImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
ldc "Attempting to retrieve next results"
invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
1: aload 0
aload 0
getfield org.hibernate.internal.IteratorImpl.rs:Ljava/sql/ResultSet;
invokeinterface java.sql.ResultSet.next:()Z
putfield org.hibernate.internal.IteratorImpl.hasNext:Z
2: aload 0
getfield org.hibernate.internal.IteratorImpl.hasNext:Z
ifne 6
3: getstatic org.hibernate.internal.IteratorImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
ldc "Exhausted results"
invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
4: aload 0
invokevirtual org.hibernate.internal.IteratorImpl.close:()V
5: goto 7
StackMap locals:
StackMap stack:
6: getstatic org.hibernate.internal.IteratorImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
ldc "Retrieved next results"
invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/hibernate/internal/IteratorImpl;
Exceptions:
throws java.sql.SQLException
public boolean hasNext();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hibernate.internal.IteratorImpl.hasNext:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/internal/IteratorImpl;
public java.lang.Object next();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=1
start local 0 0: aload 0
getfield org.hibernate.internal.IteratorImpl.hasNext:Z
ifne 1
new java.util.NoSuchElementException
dup
ldc "No more results"
invokespecial java.util.NoSuchElementException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.internal.IteratorImpl.session:Lorg/hibernate/event/spi/EventSource;
invokeinterface org.hibernate.event.spi.EventSource.isDefaultReadOnly:()Z
istore 1
start local 1 2: aload 0
getfield org.hibernate.internal.IteratorImpl.session:Lorg/hibernate/event/spi/EventSource;
aload 0
getfield org.hibernate.internal.IteratorImpl.readOnly:Z
invokeinterface org.hibernate.event.spi.EventSource.setDefaultReadOnly:(Z)V
3: aload 0
getfield org.hibernate.internal.IteratorImpl.holderInstantiator:Lorg/hibernate/hql/internal/HolderInstantiator;
invokevirtual org.hibernate.hql.internal.HolderInstantiator.isRequired:()Z
istore 2
start local 2 4: getstatic org.hibernate.internal.IteratorImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
ldc "Assembling results"
iconst_0
anewarray java.lang.Object
invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;[Ljava/lang/Object;)V
5: aload 0
getfield org.hibernate.internal.IteratorImpl.single:Z
ifeq 8
iload 2
ifne 8
6: aload 0
aload 0
getfield org.hibernate.internal.IteratorImpl.types:[Lorg/hibernate/type/Type;
iconst_0
aaload
aload 0
getfield org.hibernate.internal.IteratorImpl.rs:Ljava/sql/ResultSet;
aload 0
getfield org.hibernate.internal.IteratorImpl.names:[[Ljava/lang/String;
iconst_0
aaload
aload 0
getfield org.hibernate.internal.IteratorImpl.session:Lorg/hibernate/event/spi/EventSource;
aconst_null
invokeinterface org.hibernate.type.Type.nullSafeGet:(Ljava/sql/ResultSet;[Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/lang/Object;
putfield org.hibernate.internal.IteratorImpl.currentResult:Ljava/lang/Object;
7: goto 18
8: StackMap locals: int int
StackMap stack:
aload 0
getfield org.hibernate.internal.IteratorImpl.types:[Lorg/hibernate/type/Type;
arraylength
anewarray java.lang.Object
astore 3
start local 3 9: iconst_0
istore 4
start local 4 10: goto 13
11: StackMap locals: java.lang.Object[] int
StackMap stack:
aload 3
iload 4
aload 0
getfield org.hibernate.internal.IteratorImpl.types:[Lorg/hibernate/type/Type;
iload 4
aaload
aload 0
getfield org.hibernate.internal.IteratorImpl.rs:Ljava/sql/ResultSet;
aload 0
getfield org.hibernate.internal.IteratorImpl.names:[[Ljava/lang/String;
iload 4
aaload
aload 0
getfield org.hibernate.internal.IteratorImpl.session:Lorg/hibernate/event/spi/EventSource;
aconst_null
invokeinterface org.hibernate.type.Type.nullSafeGet:(Ljava/sql/ResultSet;[Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/lang/Object;
aastore
12: iinc 4 1
StackMap locals:
StackMap stack:
13: iload 4
aload 0
getfield org.hibernate.internal.IteratorImpl.types:[Lorg/hibernate/type/Type;
arraylength
if_icmplt 11
end local 4 14: iload 2
ifeq 17
15: aload 0
aload 0
getfield org.hibernate.internal.IteratorImpl.holderInstantiator:Lorg/hibernate/hql/internal/HolderInstantiator;
aload 3
invokevirtual org.hibernate.hql.internal.HolderInstantiator.instantiate:([Ljava/lang/Object;)Ljava/lang/Object;
putfield org.hibernate.internal.IteratorImpl.currentResult:Ljava/lang/Object;
16: goto 18
17: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield org.hibernate.internal.IteratorImpl.currentResult:Ljava/lang/Object;
end local 3 18: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.hibernate.internal.IteratorImpl.postNext:()V
19: getstatic org.hibernate.internal.IteratorImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
ldc "Returning current results"
iconst_0
anewarray java.lang.Object
invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;[Ljava/lang/Object;)V
20: aload 0
getfield org.hibernate.internal.IteratorImpl.currentResult:Ljava/lang/Object;
astore 6
21: aload 0
getfield org.hibernate.internal.IteratorImpl.session:Lorg/hibernate/event/spi/EventSource;
iload 1
invokeinterface org.hibernate.event.spi.EventSource.setDefaultReadOnly:(Z)V
22: aload 6
areturn
end local 2 23: StackMap locals: org.hibernate.internal.IteratorImpl int
StackMap stack: java.sql.SQLException
astore 2
start local 2 24: aload 0
getfield org.hibernate.internal.IteratorImpl.session:Lorg/hibernate/event/spi/EventSource;
invokeinterface org.hibernate.event.spi.EventSource.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
25: aload 2
26: ldc "could not get next iterator result"
27: invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;)Lorg/hibernate/JDBCException;
athrow
end local 2 28: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
29: aload 0
getfield org.hibernate.internal.IteratorImpl.session:Lorg/hibernate/event/spi/EventSource;
iload 1
invokeinterface org.hibernate.event.spi.EventSource.setDefaultReadOnly:(Z)V
30: aload 5
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/hibernate/internal/IteratorImpl;
2 31 1 sessionDefaultReadOnlyOrig Z
4 23 2 isHolder Z
9 18 3 currentResults [Ljava/lang/Object;
10 14 4 i I
24 28 2 sqle Ljava/sql/SQLException;
Exception table:
from to target type
3 21 23 Class java.sql.SQLException
3 21 28 any
23 28 28 any
Exceptions:
throws org.hibernate.HibernateException
public void remove();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hibernate.internal.IteratorImpl.single:Z
ifne 2
1: new java.lang.UnsupportedOperationException
dup
ldc "Not a single column hibernate query result set"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.internal.IteratorImpl.currentResult:Ljava/lang/Object;
ifnonnull 4
3: new java.lang.IllegalStateException
dup
ldc "Called Iterator.remove() before next()"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.internal.IteratorImpl.types:[Lorg/hibernate/type/Type;
iconst_0
aaload
instanceof org.hibernate.type.EntityType
ifne 6
5: new java.lang.UnsupportedOperationException
dup
ldc "Not an entity"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.internal.IteratorImpl.session:Lorg/hibernate/event/spi/EventSource;
7: aload 0
getfield org.hibernate.internal.IteratorImpl.types:[Lorg/hibernate/type/Type;
iconst_0
aaload
checkcast org.hibernate.type.EntityType
invokevirtual org.hibernate.type.EntityType.getAssociatedEntityName:()Ljava/lang/String;
8: aload 0
getfield org.hibernate.internal.IteratorImpl.currentResult:Ljava/lang/Object;
9: iconst_0
10: aconst_null
11: invokeinterface org.hibernate.event.spi.EventSource.delete:(Ljava/lang/String;Ljava/lang/Object;ZLjava/util/Set;)V
12: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/hibernate/internal/IteratorImpl;
}
SourceFile: "IteratorImpl.java"