Tengo una página JSF que muestra una lista de archivos de registro de Glassfish. Utilizo la carga diferida para la paginación. Guardo la lista de los nombres de los archivos de registro en Java List.
private List<directoryListObj> dataList = new ArrayList<>();
dataList = dataList.subList(firstRow, lastRow);
Y aquí esta el problema. Por ejemplo, tengo 35 archivos en el directorio. Cuando hago esto
dataList = dataList.subList(5, 15);
Funciona bien. Pero cuando hago esto:
dataList = dataList.subList(30, 38);
Recibo un índice incorrecto de error porque quiero obtener un índice fuera de la Lista. ¿Cómo puedo, por ejemplo, devolver elementos de la lista de 30 a 35? Quiero si quiero obtener un índice de 30 a 40, pero si solo hay 35 índices para obtener solo 5.
dataList = dataList.subList(30, 38 > dataList.size() ? dataList.size() : 38);