Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.AbstractList;
- import java.util.List;
- import java.util.Objects;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- public class CloseableList<E extends AutoCloseable> extends AbstractList<E> implements AutoCloseable {
- public static final Logger LOGGER = LoggerFactory.getLogger(CloseableList.class);
- private final List<E> closableList;
- /**
- * Create list with closable objects.
- *
- * @param closableList
- * list of tensor, must not be null
- */
- public CloseableList(List<E> closableList) {
- Objects.requireNonNull(closableList);
- this.closableList = closableList;
- }
- @Override
- public E get(int index) {
- return closableList.get(index);
- }
- @Override
- public int size() {
- return closableList.size();
- }
- @Override
- public void close() {
- for (E item : closableList) {
- try {
- item.close();
- } catch (Exception e) {
- LOGGER.warn("Cannot close item in list", e);
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment