@Override public long getLength() { return writers.get(0).getLength(); }
private Collection<HStoreFile> findExpiredFiles(ImmutableList<HStoreFile> stripe, long maxTs, List<HStoreFile> filesCompacting, Collection<HStoreFile> expiredStoreFiles) { // Order by seqnum is reversed. for (int i = 1; i < stripe.size(); ++i) { HStoreFile sf = stripe.get(i); synchronized (sf) { long fileTs = sf.getReader().getMaxTimestamp(); if (fileTs < maxTs && !filesCompacting.contains(sf)) { LOG.info("Found an expired store file: " + sf.getPath() + " whose maxTimestamp is " + fileTs + ", which is below " + maxTs); if (expiredStoreFiles == null) { expiredStoreFiles = new ArrayList<>(); } expiredStoreFiles.add(sf); } } } return expiredStoreFiles; }
@Override public E get(int index) { return delegateList.get(index); } }
@Override protected E get(int index) { return ImmutableList.this.get(index); } };
@Override int copyIntoArray(Object[] dst, int offset) { // this loop is faster for RandomAccess instances, which ImmutableLists are int size = size(); for (int i = 0; i < size; i++) { dst[offset + i] = get(i); } return offset + size; }
@Override public int hashCode() { int hashCode = 1; int n = size(); for (int i = 0; i < n; i++) { hashCode = 31 * hashCode + get(i).hashCode(); hashCode = ~~hashCode; // needed to deal with GWT integer overflow } return hashCode; }
@Override public E first() { if (isEmpty()) { throw new NoSuchElementException(); } return elements.get(0); }
@Override public E get(int axis) { checkElementIndex(axis, size()); int axisIndex = getAxisIndexForProductIndex(index, axis); return axes.get(axis).get(axisIndex); }
@Override public E last() { if (isEmpty()) { throw new NoSuchElementException(); } return elements.get(size() - 1); }
@Override public void forEach(Consumer<? super E> consumer) { checkNotNull(consumer); int n = size(); for (int i = 0; i < n; i++) { consumer.accept(get(i)); } }
@Override Cell<R, C, V> getCell(int index) { int rowIndex = cellRowIndices[index]; Map.Entry<R, Map<C, V>> rowEntry = rowMap.entrySet().asList().get(rowIndex); ImmutableMap<C, V> row = (ImmutableMap<C, V>) rowEntry.getValue(); int columnIndex = cellColumnInRowIndices[index]; Map.Entry<C, V> colEntry = row.entrySet().asList().get(columnIndex); return cellOf(rowEntry.getKey(), colEntry.getKey(), colEntry.getValue()); }
@Override public E ceiling(E element) { int index = tailIndex(element, true); return (index == size()) ? null : elements.get(index); }
@Override public E higher(E element) { int index = tailIndex(element, false); return (index == size()) ? null : elements.get(index); }
@Override public E get(int index) { checkElementIndex(index, size()); return forwardList.get(reverseIndex(index)); }
@Override public boolean encloses(Range<C> otherRange) { int index = SortedLists.binarySearch( ranges, Range.<C>lowerBoundFn(), otherRange.lowerBound, Ordering.natural(), ANY_PRESENT, NEXT_LOWER); return index != -1 && ranges.get(index).encloses(otherRange); }