in modules/spring-data-ext/spring-data/src/main/java/org/apache/ignite/springdata/repository/query/IgniteRepositoryQuery.java [406:435]
private ReturnStrategy calcReturnType(Method mtd, boolean isFieldQry) {
Class<?> returnType = mtd.getReturnType();
if (returnType == Slice.class) {
if (isFieldQry) {
if (hasAssignableGenericReturnTypeFrom(ArrayList.class, mtd))
return ReturnStrategy.SLICE_OF_LISTS;
}
else if (hasAssignableGenericReturnTypeFrom(Cache.Entry.class, mtd))
return ReturnStrategy.SLICE_OF_CACHE_ENTRIES;
return ReturnStrategy.SLICE_OF_VALUES;
}
else if (returnType == Page.class)
return ReturnStrategy.PAGE_OF_VALUES;
else if (returnType == Stream.class)
return ReturnStrategy.STREAM_OF_VALUES;
else if (Cache.Entry.class.isAssignableFrom(returnType))
return ReturnStrategy.CACHE_ENTRY;
else if (Iterable.class.isAssignableFrom(returnType)) {
if (isFieldQry) {
if (hasAssignableGenericReturnTypeFrom(ArrayList.class, mtd))
return ReturnStrategy.LIST_OF_LISTS;
}
else if (hasAssignableGenericReturnTypeFrom(Cache.Entry.class, mtd))
return ReturnStrategy.LIST_OF_CACHE_ENTRIES;
return ReturnStrategy.LIST_OF_VALUES;
}
else
return ReturnStrategy.ONE_VALUE;
}