org.apache.cassandra.db.compaction

## Class AbstractCompactionIterable

- java.lang.Object
- - org.apache.cassandra.db.compaction.CompactionInfo.Holder
  - - org.apache.cassandra.db.compaction.AbstractCompactionIterable

All Implemented Interfaces:
  java.lang.Iterable<AbstractCompactedRow>

Direct Known Subclasses:
  CompactionIterable

    public abstract class AbstractCompactionIterable
    extends CompactionInfo.Holder
    implements java.lang.Iterable<AbstractCompactedRow>

### Field Summary

Fields
`protected long` `bytesRead`
`protected java.util.UUID` `compactionId`
`protected CompactionController` `controller`
`protected java.util.concurrent.atomic.AtomicLong[]` `mergeCounters`
`protected java.util.List<ISSTableScanner>` `scanners`
`protected long` `totalBytes`
`protected OperationType` `type`

### Constructor Summary

Constructors
Constructor and Description
`AbstractCompactionIterable(CompactionController controller, OperationType type, java.util.List<ISSTableScanner> scanners, java.util.UUID compactionId)`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`CompactionInfo` `getCompactionInfo()`
`long[]` `getMergedRowCounts()`
`abstract CloseableIterator<AbstractCompactedRow>` `iterator()`
`protected void` `updateCounterFor(int rows)`

### Methods inherited from class org.apache.cassandra.db.compaction.CompactionInfo.Holder

`finished, isStopRequested, started, stop`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`

### Field Detail

#### type

    protected final OperationType type

#### controller

    protected final CompactionController controller

#### totalBytes

    protected final long totalBytes

#### bytesRead

    protected volatile long bytesRead

#### scanners

    protected final java.util.List<ISSTableScanner> scanners

#### compactionId

    protected final java.util.UUID compactionId

#### mergeCounters

    protected final java.util.concurrent.atomic.AtomicLong[] mergeCounters

### Constructor Detail

#### AbstractCompactionIterable

    public AbstractCompactionIterable(CompactionController controller,
                                      OperationType type,
                                      java.util.List<ISSTableScanner> scanners,
                                      java.util.UUID compactionId)

### Method Detail

#### getCompactionInfo

    public CompactionInfo getCompactionInfo()

Specified by:
  `getCompactionInfo` in class `CompactionInfo.Holder`

#### updateCounterFor

    protected void updateCounterFor(int rows)

#### getMergedRowCounts

    public long[] getMergedRowCounts()

#### iterator

    public abstract CloseableIterator<AbstractCompactedRow> iterator()

Specified by:
  `iterator` in interface `java.lang.Iterable<AbstractCompactedRow>`