org.apache.cassandra.db
Class ExpiringColumn

java.lang.Object
  extended by org.apache.cassandra.db.Column
      extended by org.apache.cassandra.db.ExpiringColumn
All Implemented Interfaces:
IColumn

public class ExpiringColumn
extends Column

Alternative to Column that have an expiring time. ExpiringColumn is immutable (as Column is). Note that ExpiringColumn does not override Column.getMarkedForDeleteAt, which means that it's in the somewhat unintuitive position of being deleted (after its expiration) without having a time-at-which-it-became-deleted. (Because ttl is a server-side measurement, we can't mix it with the timestamp field, which is client-supplied and whose resolution we can't assume anything about.)


Field Summary
 
Fields inherited from class org.apache.cassandra.db.Column
name, timestamp, value
 
Fields inherited from interface org.apache.cassandra.db.IColumn
MAX_NAME_LENGTH
 
Constructor Summary
ExpiringColumn(java.nio.ByteBuffer name, java.nio.ByteBuffer value, long timestamp, int timeToLive)
           
ExpiringColumn(java.nio.ByteBuffer name, java.nio.ByteBuffer value, long timestamp, int timeToLive, int localExpirationTime)
           
 
Method Summary
 IColumn deepCopy()
          clones the column, making copies of any underlying byte buffers
 int getLocalDeletionTime()
           
 long getMarkedForDeleteAt()
           
 java.lang.String getString(AbstractType comparator)
           
 int getTimeToLive()
           
 boolean isMarkedForDelete()
           
 int size()
           
 void updateDigest(java.security.MessageDigest digest)
           
 
Methods inherited from class org.apache.cassandra.db.Column
addColumn, diff, equals, getSubColumn, getSubColumns, hashCode, isLive, mostRecentLiveChangeAt, name, reconcile, serializedSize, serializer, timestamp, value
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExpiringColumn

public ExpiringColumn(java.nio.ByteBuffer name,
                      java.nio.ByteBuffer value,
                      long timestamp,
                      int timeToLive)

ExpiringColumn

public ExpiringColumn(java.nio.ByteBuffer name,
                      java.nio.ByteBuffer value,
                      long timestamp,
                      int timeToLive,
                      int localExpirationTime)
Method Detail

getTimeToLive

public int getTimeToLive()

isMarkedForDelete

public boolean isMarkedForDelete()
Specified by:
isMarkedForDelete in interface IColumn
Overrides:
isMarkedForDelete in class Column

size

public int size()
Specified by:
size in interface IColumn
Overrides:
size in class Column

updateDigest

public void updateDigest(java.security.MessageDigest digest)
Specified by:
updateDigest in interface IColumn
Overrides:
updateDigest in class Column

getLocalDeletionTime

public int getLocalDeletionTime()
Specified by:
getLocalDeletionTime in interface IColumn
Overrides:
getLocalDeletionTime in class Column

deepCopy

public IColumn deepCopy()
Description copied from interface: IColumn
clones the column, making copies of any underlying byte buffers

Specified by:
deepCopy in interface IColumn
Overrides:
deepCopy in class Column

getString

public java.lang.String getString(AbstractType comparator)
Specified by:
getString in interface IColumn
Overrides:
getString in class Column

getMarkedForDeleteAt

public long getMarkedForDeleteAt()
Specified by:
getMarkedForDeleteAt in interface IColumn
Overrides:
getMarkedForDeleteAt in class Column


Copyright © 2011 The Apache Software Foundation