public class org.apache.ibatis.executor.loader.ResultLoader extends java.lang.Object
{
protected final org.apache.ibatis.session.Configuration configuration;
protected final org.apache.ibatis.executor.Executor executor;
protected final org.apache.ibatis.mapping.MappedStatement mappedStatement;
protected final java.lang.Object parameterObject;
protected final java.lang.Class targetType;
protected final org.apache.ibatis.reflection.factory.ObjectFactory objectFactory;
protected final org.apache.ibatis.cache.CacheKey cacheKey;
protected final org.apache.ibatis.mapping.BoundSql boundSql;
protected final org.apache.ibatis.executor.ResultExtractor resultExtractor;
protected final long creatorThreadId;
protected boolean loaded;
protected java.lang.Object resultObject;
public void <init>(org.apache.ibatis.session.Configuration, org.apache.ibatis.executor.Executor, org.apache.ibatis.mapping.MappedStatement, java.lang.Object, java.lang.Class, org.apache.ibatis.cache.CacheKey, org.apache.ibatis.mapping.BoundSql)
{
org.apache.ibatis.executor.Executor v;
org.apache.ibatis.executor.loader.ResultLoader v;
long v;
org.apache.ibatis.executor.ResultExtractor v;
org.apache.ibatis.mapping.BoundSql v;
org.apache.ibatis.reflection.factory.ObjectFactory v, v;
org.apache.ibatis.cache.CacheKey v;
java.lang.Thread v;
org.apache.ibatis.mapping.MappedStatement v;
org.apache.ibatis.session.Configuration v, v, v;
java.lang.Class v;
java.lang.Object v;
v := @this: org.apache.ibatis.executor.loader.ResultLoader;
v := @parameter: org.apache.ibatis.session.Configuration;
v := @parameter: org.apache.ibatis.executor.Executor;
v := @parameter: org.apache.ibatis.mapping.MappedStatement;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Class;
v := @parameter: org.apache.ibatis.cache.CacheKey;
v := @parameter: org.apache.ibatis.mapping.BoundSql;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.ibatis.executor.loader.ResultLoader: org.apache.ibatis.session.Configuration configuration> = v;
v.<org.apache.ibatis.executor.loader.ResultLoader: org.apache.ibatis.executor.Executor executor> = v;
v.<org.apache.ibatis.executor.loader.ResultLoader: org.apache.ibatis.mapping.MappedStatement mappedStatement> = v;
v.<org.apache.ibatis.executor.loader.ResultLoader: java.lang.Object parameterObject> = v;
v.<org.apache.ibatis.executor.loader.ResultLoader: java.lang.Class targetType> = v;
v = v.<org.apache.ibatis.executor.loader.ResultLoader: org.apache.ibatis.session.Configuration configuration>;
v = virtualinvoke v.<org.apache.ibatis.session.Configuration: org.apache.ibatis.reflection.factory.ObjectFactory getObjectFactory()>();
v.<org.apache.ibatis.executor.loader.ResultLoader: org.apache.ibatis.reflection.factory.ObjectFactory objectFactory> = v;
v.<org.apache.ibatis.executor.loader.ResultLoader: org.apache.ibatis.cache.CacheKey cacheKey> = v;
v.<org.apache.ibatis.executor.loader.ResultLoader: org.apache.ibatis.mapping.BoundSql boundSql> = v;
v = new org.apache.ibatis.executor.ResultExtractor;
v = v.<org.apache.ibatis.executor.loader.ResultLoader: org.apache.ibatis.session.Configuration configuration>;
v = v.<org.apache.ibatis.executor.loader.ResultLoader: org.apache.ibatis.reflection.factory.ObjectFactory objectFactory>;
specialinvoke v.<org.apache.ibatis.executor.ResultExtractor: void <init>(org.apache.ibatis.session.Configuration,org.apache.ibatis.reflection.factory.ObjectFactory)>(v, v);
v.<org.apache.ibatis.executor.loader.ResultLoader: org.apache.ibatis.executor.ResultExtractor resultExtractor> = v;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: long getId()>();
v.<org.apache.ibatis.executor.loader.ResultLoader: long creatorThreadId> = v;
return;
}
public java.lang.Object loadResult() throws java.sql.SQLException
{
java.util.List v;
org.apache.ibatis.executor.loader.ResultLoader v;
java.lang.Class v;
java.lang.Object v, v;
org.apache.ibatis.executor.ResultExtractor v;
v := @this: org.apache.ibatis.executor.loader.ResultLoader;
v = specialinvoke v.<org.apache.ibatis.executor.loader.ResultLoader: java.util.List selectList()>();
v = v.<org.apache.ibatis.executor.loader.ResultLoader: org.apache.ibatis.executor.ResultExtractor resultExtractor>;
v = v.<org.apache.ibatis.executor.loader.ResultLoader: java.lang.Class targetType>;
v = virtualinvoke v.<org.apache.ibatis.executor.ResultExtractor: java.lang.Object extractObjectFromList(java.util.List,java.lang.Class)>(v, v);
v.<org.apache.ibatis.executor.loader.ResultLoader: java.lang.Object resultObject> = v;
v = v.<org.apache.ibatis.executor.loader.ResultLoader: java.lang.Object resultObject>;
return v;
}
private java.util.List selectList() throws java.sql.SQLException
{
java.lang.Throwable v;
org.apache.ibatis.executor.loader.ResultLoader v;
long v, v;
org.apache.ibatis.session.RowBounds v;
org.apache.ibatis.mapping.BoundSql v;
byte v;
java.lang.Thread v;
boolean v;
org.apache.ibatis.executor.Executor v, v, v;
org.apache.ibatis.session.ResultHandler v;
java.util.List v;
org.apache.ibatis.cache.CacheKey v;
org.apache.ibatis.mapping.MappedStatement v;
java.lang.Object v;
v := @this: org.apache.ibatis.executor.loader.ResultLoader;
v = v.<org.apache.ibatis.executor.loader.ResultLoader: org.apache.ibatis.executor.Executor executor>;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: long getId()>();
v = v.<org.apache.ibatis.executor.loader.ResultLoader: long creatorThreadId>;
v = v cmp v;
if v != 0 goto label;
v = interfaceinvoke v.<org.apache.ibatis.executor.Executor: boolean isClosed()>();
if v == 0 goto label;
label:
v = specialinvoke v.<org.apache.ibatis.executor.loader.ResultLoader: org.apache.ibatis.executor.Executor newExecutor()>();
label:
v = v.<org.apache.ibatis.executor.loader.ResultLoader: org.apache.ibatis.mapping.MappedStatement mappedStatement>;
v = v.<org.apache.ibatis.executor.loader.ResultLoader: java.lang.Object parameterObject>;
v = <org.apache.ibatis.session.RowBounds: org.apache.ibatis.session.RowBounds DEFAULT>;
v = <org.apache.ibatis.executor.Executor: org.apache.ibatis.session.ResultHandler NO_RESULT_HANDLER>;
v = v.<org.apache.ibatis.executor.loader.ResultLoader: org.apache.ibatis.cache.CacheKey cacheKey>;
v = v.<org.apache.ibatis.executor.loader.ResultLoader: org.apache.ibatis.mapping.BoundSql boundSql>;
v = interfaceinvoke v.<org.apache.ibatis.executor.Executor: java.util.List query(org.apache.ibatis.mapping.MappedStatement,java.lang.Object,org.apache.ibatis.session.RowBounds,org.apache.ibatis.session.ResultHandler,org.apache.ibatis.cache.CacheKey,org.apache.ibatis.mapping.BoundSql)>(v, v, v, v, v, v);
label:
v = v.<org.apache.ibatis.executor.loader.ResultLoader: org.apache.ibatis.executor.Executor executor>;
if v == v goto label;
interfaceinvoke v.<org.apache.ibatis.executor.Executor: void close(boolean)>(0);
label:
return v;
label:
v := @caughtexception;
v = v.<org.apache.ibatis.executor.loader.ResultLoader: org.apache.ibatis.executor.Executor executor>;
if v == v goto label;
interfaceinvoke v.<org.apache.ibatis.executor.Executor: void close(boolean)>(0);
label:
throw v;
catch java.lang.Throwable from label to label with label;
}
private org.apache.ibatis.executor.Executor newExecutor()
{
org.apache.ibatis.transaction.Transaction v;
org.apache.ibatis.executor.Executor v;
org.apache.ibatis.executor.loader.ResultLoader v;
org.apache.ibatis.executor.ExecutorException v, v;
org.apache.ibatis.transaction.TransactionFactory v;
org.apache.ibatis.session.ExecutorType v;
javax.sql.DataSource v;
org.apache.ibatis.session.Configuration v, v;
org.apache.ibatis.mapping.Environment v;
v := @this: org.apache.ibatis.executor.loader.ResultLoader;
v = v.<org.apache.ibatis.executor.loader.ResultLoader: org.apache.ibatis.session.Configuration configuration>;
v = virtualinvoke v.<org.apache.ibatis.session.Configuration: org.apache.ibatis.mapping.Environment getEnvironment()>();
if v != null goto label;
v = new org.apache.ibatis.executor.ExecutorException;
specialinvoke v.<org.apache.ibatis.executor.ExecutorException: void <init>(java.lang.String)>("ResultLoader could not load lazily.  Environment was not configured.");
throw v;
label:
v = virtualinvoke v.<org.apache.ibatis.mapping.Environment: javax.sql.DataSource getDataSource()>();
if v != null goto label;
v = new org.apache.ibatis.executor.ExecutorException;
specialinvoke v.<org.apache.ibatis.executor.ExecutorException: void <init>(java.lang.String)>("ResultLoader could not load lazily.  DataSource was not configured.");
throw v;
label:
v = virtualinvoke v.<org.apache.ibatis.mapping.Environment: org.apache.ibatis.transaction.TransactionFactory getTransactionFactory()>();
v = interfaceinvoke v.<org.apache.ibatis.transaction.TransactionFactory: org.apache.ibatis.transaction.Transaction newTransaction(javax.sql.DataSource,org.apache.ibatis.session.TransactionIsolationLevel,boolean)>(v, null, 0);
v = v.<org.apache.ibatis.executor.loader.ResultLoader: org.apache.ibatis.session.Configuration configuration>;
v = <org.apache.ibatis.session.ExecutorType: org.apache.ibatis.session.ExecutorType SIMPLE>;
v = virtualinvoke v.<org.apache.ibatis.session.Configuration: org.apache.ibatis.executor.Executor newExecutor(org.apache.ibatis.transaction.Transaction,org.apache.ibatis.session.ExecutorType)>(v, v);
return v;
}
public boolean wasNull()
{
java.lang.Object v;
org.apache.ibatis.executor.loader.ResultLoader v;
boolean v;
v := @this: org.apache.ibatis.executor.loader.ResultLoader;
v = v.<org.apache.ibatis.executor.loader.ResultLoader: java.lang.Object resultObject>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
}