public class org.mongodb.morphia.query.MorphiaIterator<T, V> implements java.lang.Iterable<V>, java.util.Iterator<V>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.mongodb.morphia.query.MorphiaIterator
super_class: java.lang.Object
{
private final java.util.Iterator<com.mongodb.DBObject> wrapped;
descriptor: Ljava/util/Iterator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Iterator<Lcom/mongodb/DBObject;>;
private final org.mongodb.morphia.mapping.Mapper mapper;
descriptor: Lorg/mongodb/morphia/mapping/Mapper;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Class<T> clazz;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<TT;>;
private final java.lang.String collection;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.mongodb.morphia.mapping.cache.EntityCache cache;
descriptor: Lorg/mongodb/morphia/mapping/cache/EntityCache;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long driverTime;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long mapperTime;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private org.mongodb.morphia.Datastore datastore;
descriptor: Lorg/mongodb/morphia/Datastore;
flags: (0x0002) ACC_PRIVATE
public void <init>(org.mongodb.morphia.Datastore, java.util.Iterator<com.mongodb.DBObject>, org.mongodb.morphia.mapping.Mapper, java.lang.Class<T>, java.lang.String, org.mongodb.morphia.mapping.cache.EntityCache);
descriptor: (Lorg/mongodb/morphia/Datastore;Ljava/util/Iterator;Lorg/mongodb/morphia/mapping/Mapper;Ljava/lang/Class;Ljava/lang/String;Lorg/mongodb/morphia/mapping/cache/EntityCache;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield org.mongodb.morphia.query.MorphiaIterator.wrapped:Ljava/util/Iterator;
2: aload 0
aload 3
putfield org.mongodb.morphia.query.MorphiaIterator.mapper:Lorg/mongodb/morphia/mapping/Mapper;
3: aload 0
aload 4
putfield org.mongodb.morphia.query.MorphiaIterator.clazz:Ljava/lang/Class;
4: aload 0
aload 5
putfield org.mongodb.morphia.query.MorphiaIterator.collection:Ljava/lang/String;
5: aload 0
aload 6
putfield org.mongodb.morphia.query.MorphiaIterator.cache:Lorg/mongodb/morphia/mapping/cache/EntityCache;
6: aload 0
aload 1
putfield org.mongodb.morphia.query.MorphiaIterator.datastore:Lorg/mongodb/morphia/Datastore;
7: return
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 8 0 this Lorg/mongodb/morphia/query/MorphiaIterator<TT;TV;>;
0 8 1 datastore Lorg/mongodb/morphia/Datastore;
0 8 2 it Ljava/util/Iterator<Lcom/mongodb/DBObject;>;
0 8 3 mapper Lorg/mongodb/morphia/mapping/Mapper;
0 8 4 clazz Ljava/lang/Class<TT;>;
0 8 5 collection Ljava/lang/String;
0 8 6 cache Lorg/mongodb/morphia/mapping/cache/EntityCache;
Signature: (Lorg/mongodb/morphia/Datastore;Ljava/util/Iterator<Lcom/mongodb/DBObject;>;Lorg/mongodb/morphia/mapping/Mapper;Ljava/lang/Class<TT;>;Ljava/lang/String;Lorg/mongodb/morphia/mapping/cache/EntityCache;)V
MethodParameters:
Name Flags
datastore final
it final
mapper final
clazz final
collection final
cache final
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.query.MorphiaIterator.wrapped:Ljava/util/Iterator;
ifnull 2
aload 0
getfield org.mongodb.morphia.query.MorphiaIterator.wrapped:Ljava/util/Iterator;
instanceof com.mongodb.DBCursor
ifeq 2
1: aload 0
getfield org.mongodb.morphia.query.MorphiaIterator.wrapped:Ljava/util/Iterator;
checkcast com.mongodb.DBCursor
invokevirtual com.mongodb.DBCursor.close:()V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/mongodb/morphia/query/MorphiaIterator<TT;TV;>;
public java.lang.Class<T> getClazz();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.query.MorphiaIterator.clazz:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/query/MorphiaIterator<TT;TV;>;
Signature: ()Ljava/lang/Class<TT;>;
public java.lang.String getCollection();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.query.MorphiaIterator.collection:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/query/MorphiaIterator<TT;TV;>;
public com.mongodb.DBCursor getCursor();
descriptor: ()Lcom/mongodb/DBCursor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.query.MorphiaIterator.wrapped:Ljava/util/Iterator;
checkcast com.mongodb.DBCursor
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/query/MorphiaIterator<TT;TV;>;
public long getDriverTime();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.query.MorphiaIterator.driverTime:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/query/MorphiaIterator<TT;TV;>;
public org.mongodb.morphia.mapping.Mapper getMapper();
descriptor: ()Lorg/mongodb/morphia/mapping/Mapper;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.query.MorphiaIterator.mapper:Lorg/mongodb/morphia/mapping/Mapper;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/query/MorphiaIterator<TT;TV;>;
public long getMapperTime();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.query.MorphiaIterator.mapperTime:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/query/MorphiaIterator<TT;TV;>;
public boolean hasNext();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.query.MorphiaIterator.wrapped:Ljava/util/Iterator;
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
lstore 1
start local 1 3: aload 0
getfield org.mongodb.morphia.query.MorphiaIterator.wrapped:Ljava/util/Iterator;
invokeinterface java.util.Iterator.hasNext:()Z
istore 3
start local 3 4: aload 0
dup
getfield org.mongodb.morphia.query.MorphiaIterator.driverTime:J
invokestatic java.lang.System.currentTimeMillis:()J
lload 1
lsub
ladd
putfield org.mongodb.morphia.query.MorphiaIterator.driverTime:J
5: iload 3
ireturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/mongodb/morphia/query/MorphiaIterator<TT;TV;>;
3 6 1 start J
4 6 3 ret Z
public V next();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.mongodb.morphia.query.MorphiaIterator.hasNext:()Z
ifne 2
1: new java.util.NoSuchElementException
dup
invokespecial java.util.NoSuchElementException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.mongodb.morphia.query.MorphiaIterator.getNext:()Lcom/mongodb/DBObject;
astore 1
start local 1 3: aload 0
aload 1
invokevirtual org.mongodb.morphia.query.MorphiaIterator.processItem:(Lcom/mongodb/DBObject;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/mongodb/morphia/query/MorphiaIterator<TT;TV;>;
3 4 1 dbObj Lcom/mongodb/DBObject;
Signature: ()TV;
public void remove();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=1
start local 0 0: invokestatic java.lang.System.currentTimeMillis:()J
lstore 1
start local 1 1: aload 0
getfield org.mongodb.morphia.query.MorphiaIterator.wrapped:Ljava/util/Iterator;
invokeinterface java.util.Iterator.remove:()V
2: aload 0
dup
getfield org.mongodb.morphia.query.MorphiaIterator.driverTime:J
invokestatic java.lang.System.currentTimeMillis:()J
lload 1
lsub
ladd
putfield org.mongodb.morphia.query.MorphiaIterator.driverTime:J
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/mongodb/morphia/query/MorphiaIterator<TT;TV;>;
1 4 1 start J
public java.util.Iterator<V> iterator();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/query/MorphiaIterator<TT;TV;>;
Signature: ()Ljava/util/Iterator<TV;>;
protected V convertItem(com.mongodb.DBObject);
descriptor: (Lcom/mongodb/DBObject;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.mongodb.morphia.query.MorphiaIterator.mapper:Lorg/mongodb/morphia/mapping/Mapper;
aload 0
getfield org.mongodb.morphia.query.MorphiaIterator.datastore:Lorg/mongodb/morphia/Datastore;
aload 0
getfield org.mongodb.morphia.query.MorphiaIterator.clazz:Ljava/lang/Class;
aload 1
aload 0
getfield org.mongodb.morphia.query.MorphiaIterator.cache:Lorg/mongodb/morphia/mapping/cache/EntityCache;
invokevirtual org.mongodb.morphia.mapping.Mapper.fromDBObject:(Lorg/mongodb/morphia/Datastore;Ljava/lang/Class;Lcom/mongodb/DBObject;Lorg/mongodb/morphia/mapping/cache/EntityCache;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/query/MorphiaIterator<TT;TV;>;
0 1 1 dbObj Lcom/mongodb/DBObject;
Signature: (Lcom/mongodb/DBObject;)TV;
MethodParameters:
Name Flags
dbObj final
protected com.mongodb.DBObject getNext();
descriptor: ()Lcom/mongodb/DBObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=4, args_size=1
start local 0 0: invokestatic java.lang.System.currentTimeMillis:()J
lstore 1
start local 1 1: aload 0
getfield org.mongodb.morphia.query.MorphiaIterator.wrapped:Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.mongodb.DBObject
astore 3
start local 3 2: aload 0
dup
getfield org.mongodb.morphia.query.MorphiaIterator.driverTime:J
invokestatic java.lang.System.currentTimeMillis:()J
lload 1
lsub
ladd
putfield org.mongodb.morphia.query.MorphiaIterator.driverTime:J
3: aload 3
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/mongodb/morphia/query/MorphiaIterator<TT;TV;>;
1 4 1 start J
2 4 3 dbObj Lcom/mongodb/DBObject;
private V processItem(com.mongodb.DBObject);
descriptor: (Lcom/mongodb/DBObject;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: invokestatic java.lang.System.currentTimeMillis:()J
lstore 2
start local 2 1: aload 0
aload 1
invokevirtual org.mongodb.morphia.query.MorphiaIterator.convertItem:(Lcom/mongodb/DBObject;)Ljava/lang/Object;
astore 4
start local 4 2: aload 0
dup
getfield org.mongodb.morphia.query.MorphiaIterator.mapperTime:J
invokestatic java.lang.System.currentTimeMillis:()J
lload 2
lsub
ladd
putfield org.mongodb.morphia.query.MorphiaIterator.mapperTime:J
3: aload 4
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/mongodb/morphia/query/MorphiaIterator<TT;TV;>;
0 4 1 dbObj Lcom/mongodb/DBObject;
1 4 2 start J
2 4 4 item TV;
Signature: (Lcom/mongodb/DBObject;)TV;
MethodParameters:
Name Flags
dbObj final
org.mongodb.morphia.Datastore getDatastore();
descriptor: ()Lorg/mongodb/morphia/Datastore;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.query.MorphiaIterator.datastore:Lorg/mongodb/morphia/Datastore;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/query/MorphiaIterator<TT;TV;>;
}
Signature: <T:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;Ljava/lang/Iterable<TV;>;Ljava/util/Iterator<TV;>;
SourceFile: "MorphiaIterator.java"