cassandra-server
Version:
A thin Javascript wrapper around Apache Cassandra to provide out of the box server support
627 lines (623 loc) • 30.8 kB
HTML
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_67) on Sun Sep 07 15:29:31 CEST 2014 -->
<title>SSTable (apache-cassandra API)</title>
<meta name="date" content="2014-09-07">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SSTable (apache-cassandra API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SSTable.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/cassandra/io/sstable/ReducingKeyIterator.html" title="class in org.apache.cassandra.io.sstable"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/cassandra/io/sstable/SSTableDeletingTask.html" title="class in org.apache.cassandra.io.sstable"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/cassandra/io/sstable/SSTable.html" target="_top">Frames</a></li>
<li><a href="SSTable.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary: </li>
<li>Nested | </li>
<li><a href="#field_summary">Field</a> | </li>
<li><a href="#constructor_summary">Constr</a> | </li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li><a href="#field_detail">Field</a> | </li>
<li><a href="#constructor_detail">Constr</a> | </li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.cassandra.io.sstable</div>
<h2 title="Class SSTable" class="title">Class SSTable</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.cassandra.io.sstable.SSTable</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../org/apache/cassandra/io/sstable/SSTableReader.html" title="class in org.apache.cassandra.io.sstable">SSTableReader</a>, <a href="../../../../../org/apache/cassandra/io/sstable/SSTableWriter.html" title="class in org.apache.cassandra.io.sstable">SSTableWriter</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="strong">SSTable</span>
extends java.lang.Object</pre>
<div class="block">This class is built on top of the SequenceFile. It stores
data on disk in sorted fashion. However the sorting is upto
the application. This class expects keys to be handed to it
in sorted order.
A separate index file is maintained as well, containing the
SSTable keys and the offset into the SSTable at which they are found.
Every 1/indexInterval key is read into memory when the SSTable is opened.
Finally, a bloom filter file is also kept for the keys in each SSTable.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.util.Set<<a href="../../../../../org/apache/cassandra/io/sstable/Component.html" title="class in org.apache.cassandra.io.sstable">Component</a>></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/sstable/SSTable.html#components">components</a></strong></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/sstable/SSTable.html#compression">compression</a></strong></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/cassandra/io/sstable/Descriptor.html" title="class in org.apache.cassandra.io.sstable">Descriptor</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/sstable/SSTable.html#descriptor">descriptor</a></strong></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/cassandra/db/DecoratedKey.html" title="class in org.apache.cassandra.db">DecoratedKey</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/sstable/SSTable.html#first">first</a></strong></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/cassandra/db/DecoratedKey.html" title="class in org.apache.cassandra.db">DecoratedKey</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/sstable/SSTable.html#last">last</a></strong></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/cassandra/config/CFMetaData.html" title="class in org.apache.cassandra.config">CFMetaData</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/sstable/SSTable.html#metadata">metadata</a></strong></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/cassandra/dht/IPartitioner.html" title="interface in org.apache.cassandra.dht">IPartitioner</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/sstable/SSTable.html#partitioner">partitioner</a></strong></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/sstable/SSTable.html#TOMBSTONE_HISTOGRAM_BIN_SIZE">TOMBSTONE_HISTOGRAM_BIN_SIZE</a></strong></code> </td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/sstable/SSTable.html#SSTable(org.apache.cassandra.io.sstable.Descriptor,%20org.apache.cassandra.config.CFMetaData,%20org.apache.cassandra.dht.IPartitioner)">SSTable</a></strong>(<a href="../../../../../org/apache/cassandra/io/sstable/Descriptor.html" title="class in org.apache.cassandra.io.sstable">Descriptor</a> descriptor,
<a href="../../../../../org/apache/cassandra/config/CFMetaData.html" title="class in org.apache.cassandra.config">CFMetaData</a> metadata,
<a href="../../../../../org/apache/cassandra/dht/IPartitioner.html" title="interface in org.apache.cassandra.dht">IPartitioner</a> partitioner)</code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/sstable/SSTable.html#SSTable(org.apache.cassandra.io.sstable.Descriptor,%20java.util.Set,%20org.apache.cassandra.config.CFMetaData,%20org.apache.cassandra.dht.IPartitioner)">SSTable</a></strong>(<a href="../../../../../org/apache/cassandra/io/sstable/Descriptor.html" title="class in org.apache.cassandra.io.sstable">Descriptor</a> descriptor,
java.util.Set<<a href="../../../../../org/apache/cassandra/io/sstable/Component.html" title="class in org.apache.cassandra.io.sstable">Component</a>> components,
<a href="../../../../../org/apache/cassandra/config/CFMetaData.html" title="class in org.apache.cassandra.config">CFMetaData</a> metadata,
<a href="../../../../../org/apache/cassandra/dht/IPartitioner.html" title="interface in org.apache.cassandra.dht">IPartitioner</a> partitioner)</code> </td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/sstable/SSTable.html#addComponents(java.util.Collection)">addComponents</a></strong>(java.util.Collection<<a href="../../../../../org/apache/cassandra/io/sstable/Component.html" title="class in org.apache.cassandra.io.sstable">Component</a>> newComponents)</code>
<div class="block">Registers new custom components.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected static void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/sstable/SSTable.html#appendTOC(org.apache.cassandra.io.sstable.Descriptor,%20java.util.Collection)">appendTOC</a></strong>(<a href="../../../../../org/apache/cassandra/io/sstable/Descriptor.html" title="class in org.apache.cassandra.io.sstable">Descriptor</a> descriptor,
java.util.Collection<<a href="../../../../../org/apache/cassandra/io/sstable/Component.html" title="class in org.apache.cassandra.io.sstable">Component</a>> components)</code>
<div class="block">Appends new component names to the TOC component.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/sstable/SSTable.html#bytesOnDisk()">bytesOnDisk</a></strong>()</code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.util.Set<<a href="../../../../../org/apache/cassandra/io/sstable/Component.html" title="class in org.apache.cassandra.io.sstable">Component</a>></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/sstable/SSTable.html#componentsFor(org.apache.cassandra.io.sstable.Descriptor)">componentsFor</a></strong>(<a href="../../../../../org/apache/cassandra/io/sstable/Descriptor.html" title="class in org.apache.cassandra.io.sstable">Descriptor</a> desc)</code>
<div class="block">Discovers existing components for the descriptor.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/sstable/SSTable.html#delete(org.apache.cassandra.io.sstable.Descriptor,%20java.util.Set)">delete</a></strong>(<a href="../../../../../org/apache/cassandra/io/sstable/Descriptor.html" title="class in org.apache.cassandra.io.sstable">Descriptor</a> desc,
java.util.Set<<a href="../../../../../org/apache/cassandra/io/sstable/Component.html" title="class in org.apache.cassandra.io.sstable">Component</a>> components)</code>
<div class="block">We use a ReferenceQueue to manage deleting files that have been compacted
and for which no more SSTable references exist.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/sstable/SSTable.html#getColumnFamilyName()">getColumnFamilyName</a></strong>()</code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/sstable/SSTable.html#getFilename()">getFilename</a></strong>()</code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/sstable/SSTable.html#getIndexFilename()">getIndexFilename</a></strong>()</code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/sstable/SSTable.html#getKeyspaceName()">getKeyspaceName</a></strong>()</code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/cassandra/db/DecoratedKey.html" title="class in org.apache.cassandra.db">DecoratedKey</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/sstable/SSTable.html#getMinimalKey(org.apache.cassandra.db.DecoratedKey)">getMinimalKey</a></strong>(<a href="../../../../../org/apache/cassandra/db/DecoratedKey.html" title="class in org.apache.cassandra.db">DecoratedKey</a> key)</code>
<div class="block">If the given @param key occupies only part of a larger buffer, allocate a new buffer that is only
as large as necessary.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static java.util.Set<<a href="../../../../../org/apache/cassandra/io/sstable/Component.html" title="class in org.apache.cassandra.io.sstable">Component</a>></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/sstable/SSTable.html#readTOC(org.apache.cassandra.io.sstable.Descriptor)">readTOC</a></strong>(<a href="../../../../../org/apache/cassandra/io/sstable/Descriptor.html" title="class in org.apache.cassandra.io.sstable">Descriptor</a> descriptor)</code>
<div class="block">Reads the list of components from the TOC component.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/sstable/SSTable.html#toString()">toString</a></strong>()</code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/cassandra/utils/Pair.html" title="class in org.apache.cassandra.utils">Pair</a><<a href="../../../../../org/apache/cassandra/io/sstable/Descriptor.html" title="class in org.apache.cassandra.io.sstable">Descriptor</a>,<a href="../../../../../org/apache/cassandra/io/sstable/Component.html" title="class in org.apache.cassandra.io.sstable">Component</a>></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/cassandra/io/sstable/SSTable.html#tryComponentFromFilename(java.io.File,%20java.lang.String)">tryComponentFromFilename</a></strong>(java.io.File dir,
java.lang.String name)</code> </td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="TOMBSTONE_HISTOGRAM_BIN_SIZE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TOMBSTONE_HISTOGRAM_BIN_SIZE</h4>
<pre>public static final int TOMBSTONE_HISTOGRAM_BIN_SIZE</pre>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.cassandra.io.sstable.SSTable.TOMBSTONE_HISTOGRAM_BIN_SIZE">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="descriptor">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>descriptor</h4>
<pre>public final <a href="../../../../../org/apache/cassandra/io/sstable/Descriptor.html" title="class in org.apache.cassandra.io.sstable">Descriptor</a> descriptor</pre>
</li>
</ul>
<a name="components">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>components</h4>
<pre>protected final java.util.Set<<a href="../../../../../org/apache/cassandra/io/sstable/Component.html" title="class in org.apache.cassandra.io.sstable">Component</a>> components</pre>
</li>
</ul>
<a name="metadata">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>metadata</h4>
<pre>public final <a href="../../../../../org/apache/cassandra/config/CFMetaData.html" title="class in org.apache.cassandra.config">CFMetaData</a> metadata</pre>
</li>
</ul>
<a name="partitioner">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>partitioner</h4>
<pre>public final <a href="../../../../../org/apache/cassandra/dht/IPartitioner.html" title="interface in org.apache.cassandra.dht">IPartitioner</a> partitioner</pre>
</li>
</ul>
<a name="compression">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>compression</h4>
<pre>public final boolean compression</pre>
</li>
</ul>
<a name="first">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>first</h4>
<pre>public <a href="../../../../../org/apache/cassandra/db/DecoratedKey.html" title="class in org.apache.cassandra.db">DecoratedKey</a> first</pre>
</li>
</ul>
<a name="last">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>last</h4>
<pre>public <a href="../../../../../org/apache/cassandra/db/DecoratedKey.html" title="class in org.apache.cassandra.db">DecoratedKey</a> last</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="SSTable(org.apache.cassandra.io.sstable.Descriptor, org.apache.cassandra.config.CFMetaData, org.apache.cassandra.dht.IPartitioner)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SSTable</h4>
<pre>protected SSTable(<a href="../../../../../org/apache/cassandra/io/sstable/Descriptor.html" title="class in org.apache.cassandra.io.sstable">Descriptor</a> descriptor,
<a href="../../../../../org/apache/cassandra/config/CFMetaData.html" title="class in org.apache.cassandra.config">CFMetaData</a> metadata,
<a href="../../../../../org/apache/cassandra/dht/IPartitioner.html" title="interface in org.apache.cassandra.dht">IPartitioner</a> partitioner)</pre>
</li>
</ul>
<a name="SSTable(org.apache.cassandra.io.sstable.Descriptor, java.util.Set, org.apache.cassandra.config.CFMetaData, org.apache.cassandra.dht.IPartitioner)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SSTable</h4>
<pre>protected SSTable(<a href="../../../../../org/apache/cassandra/io/sstable/Descriptor.html" title="class in org.apache.cassandra.io.sstable">Descriptor</a> descriptor,
java.util.Set<<a href="../../../../../org/apache/cassandra/io/sstable/Component.html" title="class in org.apache.cassandra.io.sstable">Component</a>> components,
<a href="../../../../../org/apache/cassandra/config/CFMetaData.html" title="class in org.apache.cassandra.config">CFMetaData</a> metadata,
<a href="../../../../../org/apache/cassandra/dht/IPartitioner.html" title="interface in org.apache.cassandra.dht">IPartitioner</a> partitioner)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="delete(org.apache.cassandra.io.sstable.Descriptor, java.util.Set)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>delete</h4>
<pre>public static boolean delete(<a href="../../../../../org/apache/cassandra/io/sstable/Descriptor.html" title="class in org.apache.cassandra.io.sstable">Descriptor</a> desc,
java.util.Set<<a href="../../../../../org/apache/cassandra/io/sstable/Component.html" title="class in org.apache.cassandra.io.sstable">Component</a>> components)</pre>
<div class="block">We use a ReferenceQueue to manage deleting files that have been compacted
and for which no more SSTable references exist. But this is not guaranteed
to run for each such file because of the semantics of the JVM gc. So,
we write a marker to `compactedFilename` when a file is compacted;
if such a marker exists on startup, the file should be removed.
This method will also remove SSTables that are marked as temporary.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>true if the file was deleted</dd></dl>
</li>
</ul>
<a name="getMinimalKey(org.apache.cassandra.db.DecoratedKey)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMinimalKey</h4>
<pre>public static <a href="../../../../../org/apache/cassandra/db/DecoratedKey.html" title="class in org.apache.cassandra.db">DecoratedKey</a> getMinimalKey(<a href="../../../../../org/apache/cassandra/db/DecoratedKey.html" title="class in org.apache.cassandra.db">DecoratedKey</a> key)</pre>
<div class="block">If the given @param key occupies only part of a larger buffer, allocate a new buffer that is only
as large as necessary.</div>
</li>
</ul>
<a name="getFilename()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFilename</h4>
<pre>public java.lang.String getFilename()</pre>
</li>
</ul>
<a name="getIndexFilename()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIndexFilename</h4>
<pre>public java.lang.String getIndexFilename()</pre>
</li>
</ul>
<a name="getColumnFamilyName()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getColumnFamilyName</h4>
<pre>public java.lang.String getColumnFamilyName()</pre>
</li>
</ul>
<a name="getKeyspaceName()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getKeyspaceName</h4>
<pre>public java.lang.String getKeyspaceName()</pre>
</li>
</ul>
<a name="tryComponentFromFilename(java.io.File, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tryComponentFromFilename</h4>
<pre>public static <a href="../../../../../org/apache/cassandra/utils/Pair.html" title="class in org.apache.cassandra.utils">Pair</a><<a href="../../../../../org/apache/cassandra/io/sstable/Descriptor.html" title="class in org.apache.cassandra.io.sstable">Descriptor</a>,<a href="../../../../../org/apache/cassandra/io/sstable/Component.html" title="class in org.apache.cassandra.io.sstable">Component</a>> tryComponentFromFilename(java.io.File dir,
java.lang.String name)</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>A Descriptor,Component pair. If component is of unknown type, returns CUSTOM component.</dd></dl>
</li>
</ul>
<a name="componentsFor(org.apache.cassandra.io.sstable.Descriptor)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>componentsFor</h4>
<pre>public static java.util.Set<<a href="../../../../../org/apache/cassandra/io/sstable/Component.html" title="class in org.apache.cassandra.io.sstable">Component</a>> componentsFor(<a href="../../../../../org/apache/cassandra/io/sstable/Descriptor.html" title="class in org.apache.cassandra.io.sstable">Descriptor</a> desc)</pre>
<div class="block">Discovers existing components for the descriptor. Slow: only intended for use outside the critical path.</div>
</li>
</ul>
<a name="bytesOnDisk()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bytesOnDisk</h4>
<pre>public long bytesOnDisk()</pre>
</li>
</ul>
<a name="toString()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public java.lang.String toString()</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code>toString</code> in class <code>java.lang.Object</code></dd>
</dl>
</li>
</ul>
<a name="readTOC(org.apache.cassandra.io.sstable.Descriptor)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readTOC</h4>
<pre>protected static java.util.Set<<a href="../../../../../org/apache/cassandra/io/sstable/Component.html" title="class in org.apache.cassandra.io.sstable">Component</a>> readTOC(<a href="../../../../../org/apache/cassandra/io/sstable/Descriptor.html" title="class in org.apache.cassandra.io.sstable">Descriptor</a> descriptor)
throws java.io.IOException</pre>
<div class="block">Reads the list of components from the TOC component.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>set of components found in the TOC</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd></dl>
</li>
</ul>
<a name="appendTOC(org.apache.cassandra.io.sstable.Descriptor, java.util.Collection)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appendTOC</h4>
<pre>protected static void appendTOC(<a href="../../../../../org/apache/cassandra/io/sstable/Descriptor.html" title="class in org.apache.cassandra.io.sstable">Descriptor</a> descriptor,
java.util.Collection<<a href="../../../../../org/apache/cassandra/io/sstable/Component.html" title="class in org.apache.cassandra.io.sstable">Component</a>> components)</pre>
<div class="block">Appends new component names to the TOC component.</div>
</li>
</ul>
<a name="addComponents(java.util.Collection)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>addComponents</h4>
<pre>public void addComponents(java.util.Collection<<a href="../../../../../org/apache/cassandra/io/sstable/Component.html" title="class in org.apache.cassandra.io.sstable">Component</a>> newComponents)</pre>
<div class="block">Registers new custom components. Used by custom compaction strategies.
Adding a component for the second time is a no-op.
Don't remove this - this method is a part of the public API, intended for use by custom compaction strategies.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>newComponents</code> - collection of components to be added</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SSTable.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/cassandra/io/sstable/ReducingKeyIterator.html" title="class in org.apache.cassandra.io.sstable"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/cassandra/io/sstable/SSTableDeletingTask.html" title="class in org.apache.cassandra.io.sstable"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/cassandra/io/sstable/SSTable.html" target="_top">Frames</a></li>
<li><a href="SSTable.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary: </li>
<li>Nested | </li>
<li><a href="#field_summary">Field</a> | </li>
<li><a href="#constructor_summary">Constr</a> | </li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li><a href="#field_detail">Field</a> | </li>
<li><a href="#constructor_detail">Constr</a> | </li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright © 2014 The Apache Software Foundation</small></p>
</body>
</html>