@Override public boolean hasNext() { boolean hasNext = wrapped.hasNext(); if (!hasNext) { // auto close close(); } return hasNext; }
@Override protected void finalize() { if (whatToClose != null) { try { close(); } finally { LOGGER.warning( "There is code not closing CloseableIterator!!! Auto closing at finalize()."); } } }
@Override public Iterator<LayerInfo> iterator(final long first, final long count) { Iterator<LayerInfo> iterator = filteredItems((int) first, (int) count); if (iterator instanceof CloseableIterator) { // don't know how to force wicket to close the iterator, lets return // a copy. Shouldn't be much overhead as we're paging try { return Lists.newArrayList(iterator).iterator(); } finally { CloseableIteratorAdapter.close(iterator); } } else { return iterator; } }
@Override public Iterator<StoreInfo> iterator(final long first, final long count) { Iterator<StoreInfo> iterator = filteredItems(first, count); if (iterator instanceof CloseableIterator) { // don't know how to force wicket to close the iterator, lets return // a copy. Shouldn't be much overhead as we're paging try { return Lists.newArrayList(iterator).iterator(); } finally { CloseableIteratorAdapter.close(iterator); } } else { return iterator; } }
@Override public Iterator<StyleInfo> iterator(final long first, final long count) { Iterator<StyleInfo> iterator = filteredItems((int) first, (int) count); if (iterator instanceof CloseableIterator) { // don't know how to force wicket to close the iterator, lets return // a copy. Shouldn't be much overhead as we're paging try { return Lists.newArrayList(iterator).iterator(); } finally { CloseableIteratorAdapter.close(iterator); } } else { return iterator; } }
@Override public Iterator<PreviewLayer> iterator(final long first, final long count) { Iterator<PreviewLayer> iterator = filteredItems(first, count); if (iterator instanceof CloseableIterator) { // don't know how to force wicket to close the iterator, lets return // a copy. Shouldn't be much overhead as we're paging try { return Lists.newArrayList(iterator).iterator(); } finally { CloseableIteratorAdapter.close(iterator); } } else { return iterator; } }
@Override public Iterator<LayerInfo> iterator(final long first, final long count) { Iterator<LayerInfo> iterator = filteredItems(first, count); if (iterator instanceof CloseableIterator) { // don't know how to force wicket to close the iterator, lets return // a copy. Shouldn't be much overhead as we're paging try { return Lists.newArrayList(iterator).iterator(); } finally { CloseableIteratorAdapter.close(iterator); } } else { return iterator; } }