ArrayBackedSortedColumns (apache-cassandra API)
Date: 2012-05-04

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.cassandra.db
Class ArrayBackedSortedColumns

    java.lang.Object
      java.util.AbstractCollection<E>
          java.util.AbstractList<E>
              java.util.ArrayList<IColumn>
                  org.apache.cassandra.db.ArrayBackedSortedColumns

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, java.lang.Iterable<IColumn>, java.util.Collection<IColumn>, java.util.List<IColumn>, java.util.RandomAccess, ISortedColumns, IIterableColumns

    public class ArrayBackedSortedColumns

extends java.util.ArrayList<IColumn>
implements ISortedColumns

A ISortedColumns backed by an ArrayList. This implementation is not synchronized and should only be used when thread-safety is not required. This implementation makes sense when the main operations performed are iterating over the map and adding columns (especially if insertion is in sorted order).

See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from interface org.apache.cassandra.db.ISortedColumns
`ISortedColumns.Factory`

Field Summary
`static ISortedColumns.Factory` | `factory`

Fields inherited from class java.util.AbstractList
`modCount`

Method Summary
`void` | `addAll(ISortedColumns cm, Allocator allocator)` Adds all the columns of a given column map to this column map.
`void` | `addColumn(IColumn column, Allocator allocator)` AddColumn throws an exception if the column added does not sort after the last column in the map.
`ISortedColumns` | `cloneMe()` Shallow cloning of the column map.
`static ISortedColumns.Factory` | `factory()`
`IColumn` | `getColumn(java.nio.ByteBuffer name)` Get a column given its name, returning null if the column is not present.
`java.util.SortedSet<java.nio.ByteBuffer>` | `getColumnNames()` Returns a set with the names of columns in this column map.
`AbstractType<?>` | `getComparator()`
`int` | `getEstimatedColumnCount()`
`ISortedColumns.Factory` | `getFactory()` Returns the factory used for this ISortedColumns implementation.
`java.util.Collection<IColumn>` | `getReverseSortedColumns()` Returns the columns of this column map as a collection.
`java.util.Collection<IColumn>` | `getSortedColumns()` Returns the columns of this column map as a collection.
`boolean` | `isInsertReversed()` Returns if this map only support inserts in reverse order.
`java.util.Iterator<IColumn>` | `iterator()`
`void` | `removeColumn(java.nio.ByteBuffer name)` Remove if present a column by name.
`boolean` | `replace(IColumn oldColumn, IColumn newColumn)` Replace oldColumn if present by newColumn.
`java.util.Iterator<IColumn>` | `reverseIterator()` Returns an iterator that iterates over the columns of this map in reverse order.

Methods inherited from class java.util.ArrayList
`add, add, addAll, addAll, clear, clone, contains, ensureCapacity, get, indexOf, isEmpty, lastIndexOf, remove, remove, removeRange, set, size, toArray, toArray, trimToSize`

Methods inherited from class java.util.AbstractList
`equals, hashCode, listIterator, listIterator, subList`

Methods inherited from class java.util.AbstractCollection
`containsAll, removeAll, retainAll, toString`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.apache.cassandra.db.ISortedColumns
`clear, isEmpty, size`

Methods inherited from interface java.util.List
`containsAll, equals, hashCode, listIterator, listIterator, removeAll, retainAll, subList`

Field Detail

### factory

    public static final ISortedColumns.Factory factory

Method Detail

### factory

    public static ISortedColumns.Factory factory()

### getFactory

    public ISortedColumns.Factory getFactory()

  Description copied from interface: `ISortedColumns`
  Returns the factory used for this ISortedColumns implementation.

  Specified by:
    `getFactory` in interface `ISortedColumns`

### getComparator

    public AbstractType<?> getComparator()

  Specified by:
    `getComparator` in interface `IIterableColumns`

### cloneMe

    public ISortedColumns cloneMe()

  Description copied from interface: `ISortedColumns`
  Shallow cloning of the column map.

  Specified by:
    `cloneMe` in interface `ISortedColumns`

### isInsertReversed

    public boolean isInsertReversed()

  Description copied from interface: `ISortedColumns`
  Returns if this map only support inserts in reverse order.

  Specified by:
    `isInsertReversed` in interface `ISortedColumns`

### getColumn

    public IColumn getColumn(java.nio.ByteBuffer name)

  Description copied from interface: `ISortedColumns`
  Get a column given its name, returning null if the column is not present.

  Specified by:
    `getColumn` in interface `ISortedColumns`

### addColumn

    public void addColumn(IColumn column,
                          Allocator allocator)

  AddColumn throws an exception if the column added does not sort after the last column in the map. The reasoning is that this implementation can get slower if too much insertions are done in unsorted order and right now we only use it when *all* insertion (with this method) are done in sorted order. The assertion throwing is thus a protection against performance regression without knowing about (we can revisit that decision later if we have use cases where most insert are in sorted order but a few are not).

  Specified by:
    `addColumn` in interface `ISortedColumns`

### addAll

    public void addAll(ISortedColumns cm,
                       Allocator allocator)

  Description copied from interface: `ISortedColumns`
  Adds all the columns of a given column map to this column map. This is equivalent to: `for (Column c : cm) add(c);` but is potentially faster.

  Specified by:
    `addAll` in interface `ISortedColumns`

### replace

    public boolean replace(IColumn oldColumn,
                           IColumn newColumn)

  Description copied from interface: `ISortedColumns`
  Replace oldColumn if present by newColumn. Returns true if oldColumn was present and thus replaced. oldColumn and newColumn should have the same name.

  Specified by:
    `replace` in interface `ISortedColumns`

### getSortedColumns

    public java.util.Collection<IColumn> getSortedColumns()

  Description copied from interface: `ISortedColumns`
  Returns the columns of this column map as a collection. The columns in the returned collection should be sorted as the columns in this map.

  Specified by:
    `getSortedColumns` in interface `ISortedColumns`

### getReverseSortedColumns

    public java.util.Collection<IColumn> getReverseSortedColumns()

  Description copied from interface: `ISortedColumns`
  Returns the columns of this column map as a collection. The columns in the returned collection should be sorted in reverse order of the columns in this map.

  Specified by:
    `getReverseSortedColumns` in interface `ISortedColumns`

### removeColumn

    public void removeColumn(java.nio.ByteBuffer name)

  Description copied from interface: `ISortedColumns`
  Remove if present a column by name.

  Specified by:
    `removeColumn` in interface `ISortedColumns`

### getColumnNames

    public java.util.SortedSet<java.nio.ByteBuffer> getColumnNames()

  Description copied from interface: `ISortedColumns`
  Returns a set with the names of columns in this column map. The resulting set is sorted and the order is the one of the columns in this column map.

  Specified by:
    `getColumnNames` in interface `ISortedColumns`

### getEstimatedColumnCount

    public int getEstimatedColumnCount()

  Specified by:
    `getEstimatedColumnCount` in interface `IIterableColumns`

### iterator

    public java.util.Iterator<IColumn> iterator()

  Specified by:
    `iterator` in interface `java.lang.Iterable<IColumn>`
  Specified by:
    `iterator` in interface `java.util.Collection<IColumn>`
  Specified by:
    `iterator` in interface `java.util.List<IColumn>`
  Overrides:
    `iterator` in class `java.util.AbstractList<IColumn>`

### reverseIterator

    public java.util.Iterator<IColumn> reverseIterator()

  Description copied from interface: `ISortedColumns`
  Returns an iterator that iterates over the columns of this map in reverse order.

  Specified by:
    `reverseIterator` in interface `ISortedColumns`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2012 The Apache Software Foundation