<li><ahref="../../../../com/comphenix/protocol/concurrency/AbstractConcurrentListenerMultimap.html"title="class in com.comphenix.protocol.concurrency"><spanclass="strong">Prev Class</span></a></li>
<li><ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.EndPoint.html"title="class in com.comphenix.protocol.concurrency"><spanclass="strong">Next Class</span></a></li>
<dl><dt><spanclass="strong">Type Parameters:</span></dt><dd><code>TKey</code> - - type of the key. Must implement Comparable.</dd><dd><code>TValue</code> - - type of the value to associate.</dd></dl>
<hr>
<br>
<pre>public abstract class <spanclass="strong">AbstractIntervalTree<TKey extends java.lang.Comparable<TKey>,TValue></span>
extends java.lang.Object</pre>
<divclass="block">Represents a generic store of intervals and associated values. No two intervals
can overlap in this representation.
<p>
Note that this implementation is not thread safe.</div>
<tdclass="colLast"><code><strong><ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.EndPoint.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.EndPoint</a></strong></code>
<divclass="block">Represents a single end point (open, close or both) of a range.</div>
</td>
</tr>
<trclass="rowColor">
<tdclass="colFirst"><code>class </code></td>
<tdclass="colLast"><code><strong><ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.Entry.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.Entry</a></strong></code>
<divclass="block">Represents a range and a value in this interval tree.</div>
<tdclass="colLast"><code><strong><ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.State.html"title="enum in com.comphenix.protocol.concurrency">AbstractIntervalTree.State</a></strong></code> </td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ulclass="blockList">
<liclass="blockList"><aname="field_summary">
<!---->
</a>
<h3>Field Summary</h3>
<tableclass="overviewSummary"border="0"cellpadding="3"cellspacing="0"summary="Field Summary table, listing fields, and an explanation">
<thclass="colFirst"scope="col">Modifier and Type</th>
<thclass="colLast"scope="col">Field and Description</th>
</tr>
<trclass="altColor">
<tdclass="colFirst"><code>protected java.util.NavigableMap<<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a>,<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.EndPoint.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.EndPoint</a>></code></td>
<thclass="colFirst"scope="col">Modifier and Type</th>
<thclass="colLast"scope="col">Method and Description</th>
</tr>
<trclass="altColor">
<tdclass="colFirst"><code>protected <ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.EndPoint.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.EndPoint</a></code></td>
<tdclass="colLast"><code><strong><ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html#addEndPoint(TKey, TValue, com.comphenix.protocol.concurrency.AbstractIntervalTree.State)">addEndPoint</a></strong>(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> key,
<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TValue</a> value,
<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.State.html"title="enum in com.comphenix.protocol.concurrency">AbstractIntervalTree.State</a> state)</code> </td>
<tdclass="colLast"><code><strong><ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html#containsKey(TKey)">containsKey</a></strong>(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> key)</code>
<divclass="block">Determines if the given key is within an interval.</div>
</td>
</tr>
<trclass="rowColor">
<tdclass="colFirst"><code>protected abstract <ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a></code></td>
<tdclass="colLast"><code><strong><ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html#decrementKey(TKey)">decrementKey</a></strong>(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> key)</code>
<divclass="block">Decrement the given key by one unit.</div>
</td>
</tr>
<trclass="altColor">
<tdclass="colFirst"><code>java.util.Set<<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.Entry.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.Entry</a>></code></td>
<divclass="block">Enumerates over every range in this interval tree.</div>
</td>
</tr>
<trclass="rowColor">
<tdclass="colFirst"><code><ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TValue</a></code></td>
<tdclass="colLast"><code><strong><ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html#get(TKey)">get</a></strong>(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> key)</code>
<divclass="block">Retrieves the value of the range that matches the given key, or NULL if nothing was found.</div>
</td>
</tr>
<trclass="altColor">
<tdclass="colFirst"><code>protected <ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.EndPoint.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.EndPoint</a></code></td>
<tdclass="colLast"><code><strong><ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html#getEndPoint(TKey)">getEndPoint</a></strong>(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> key)</code>
<tdclass="colFirst"><code>protected <ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.Entry.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.Entry</a></code></td>
<tdclass="colLast"><code><strong><ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html#getEntry(com.comphenix.protocol.concurrency.AbstractIntervalTree.EndPoint, com.comphenix.protocol.concurrency.AbstractIntervalTree.EndPoint)">getEntry</a></strong>(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.EndPoint.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.EndPoint</a> left,
<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.EndPoint.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.EndPoint</a> right)</code>
<divclass="block">Retrieve the entry from a given set of end points.</div>
</td>
</tr>
<trclass="altColor">
<tdclass="colFirst"><code>protected <ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.EndPoint.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.EndPoint</a></code></td>
<tdclass="colLast"><code><strong><ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html#getNextEndPoint(TKey, boolean)">getNextEndPoint</a></strong>(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> point,
boolean inclusive)</code>
<divclass="block">Get the next end point of a given key.</div>
</td>
</tr>
<trclass="rowColor">
<tdclass="colFirst"><code>protected <ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.EndPoint.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.EndPoint</a></code></td>
<tdclass="colLast"><code><strong><ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html#getPreviousEndPoint(TKey, boolean)">getPreviousEndPoint</a></strong>(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> point,
boolean inclusive)</code>
<divclass="block">Get the previous end point of a given key.</div>
<tdclass="colFirst"><code>protected abstract <ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a></code></td>
<tdclass="colLast"><code><strong><ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html#incrementKey(TKey)">incrementKey</a></strong>(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> key)</code>
<divclass="block">Increment the given key by one unit.</div>
<tdclass="colLast"><code><strong><ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html#onEntryAdded(com.comphenix.protocol.concurrency.AbstractIntervalTree.Entry)">onEntryAdded</a></strong>(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.Entry.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.Entry</a> added)</code>
<divclass="block">Invoked when an entry is added.</div>
<tdclass="colLast"><code><strong><ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html#onEntryRemoved(com.comphenix.protocol.concurrency.AbstractIntervalTree.Entry)">onEntryRemoved</a></strong>(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.Entry.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.Entry</a> removed)</code>
<divclass="block">Invoked when an entry is removed.</div>
<tdclass="colLast"><code><strong><ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html#put(TKey, TKey, TValue)">put</a></strong>(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> lowerBound,
<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> upperBound,
<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TValue</a> value)</code>
<divclass="block">Associates a given interval of keys with a certain value.</div>
<tdclass="colLast"><code><strong><ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html#putAll(com.comphenix.protocol.concurrency.AbstractIntervalTree)">putAll</a></strong>(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree</a><<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a>,<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TValue</a>> other)</code>
<divclass="block">Inserts every range from the given tree into the current tree.</div>
<tdclass="colFirst"><code>java.util.Set<<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.Entry.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.Entry</a>></code></td>
<tdclass="colLast"><code><strong><ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html#remove(TKey, TKey)">remove</a></strong>(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> lowerBound,
<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> upperBound)</code>
<divclass="block">Removes every interval that intersects with the given range.</div>
<tdclass="colFirst"><code>java.util.Set<<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.Entry.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.Entry</a>></code></td>
<tdclass="colLast"><code><strong><ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html#remove(TKey, TKey, boolean)">remove</a></strong>(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> lowerBound,
<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> upperBound,
boolean preserveDifference)</code>
<divclass="block">Removes every interval that intersects with the given range.</div>
<pre>protected java.util.NavigableMap<<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> extends java.lang.Comparable<<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a>>,<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.EndPoint.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.EndPoint</a>> bounds</pre>
<pre>public java.util.Set<<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.Entry.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.Entry</a>> remove(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> lowerBound,
<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> upperBound)</pre>
<divclass="block">Removes every interval that intersects with the given range.</div>
<dl><dt><spanclass="strong">Parameters:</span></dt><dd><code>lowerBound</code> - - lowest value to remove.</dd><dd><code>upperBound</code> - - highest value to remove.</dd></dl>
<pre>public java.util.Set<<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.Entry.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.Entry</a>> remove(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> lowerBound,
<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> upperBound,
boolean preserveDifference)</pre>
<divclass="block">Removes every interval that intersects with the given range.</div>
<dl><dt><spanclass="strong">Parameters:</span></dt><dd><code>lowerBound</code> - - lowest value to remove.</dd><dd><code>upperBound</code> - - highest value to remove.</dd><dd><code>preserveDifference</code> - - whether or not to preserve the intervals that are partially outside.</dd></dl>
<pre>protected <ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.Entry.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.Entry</a> getEntry(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.EndPoint.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.EndPoint</a> left,
<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.EndPoint.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.EndPoint</a> right)</pre>
<divclass="block">Retrieve the entry from a given set of end points.</div>
<dl><dt><spanclass="strong">Parameters:</span></dt><dd><code>left</code> - - leftmost end point.</dd><dd><code>right</code> - - rightmost end point.</dd>
<pre>protected <ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.EndPoint.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.EndPoint</a> addEndPoint(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> key,
<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TValue</a> value,
<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.State.html"title="enum in com.comphenix.protocol.concurrency">AbstractIntervalTree.State</a> state)</pre>
<pre>public void put(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> lowerBound,
<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> upperBound,
<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TValue</a> value)</pre>
<divclass="block">Associates a given interval of keys with a certain value. Any previous
association will be overwritten in the given interval.
<p>
Overlapping intervals are not permitted. A key can only be associated with a single value.</div>
<dl><dt><spanclass="strong">Parameters:</span></dt><dd><code>lowerBound</code> - - the minimum key (inclusive).</dd><dd><code>upperBound</code> - - the maximum key (inclusive).</dd><dd><code>value</code> - - the value, or NULL to reset this range.</dd></dl>
</li>
</ul>
<aname="containsKey(java.lang.Comparable)">
<!---->
</a><aname="containsKey(TKey)">
<!---->
</a>
<ulclass="blockList">
<liclass="blockList">
<h4>containsKey</h4>
<pre>public boolean containsKey(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> key)</pre>
<divclass="block">Determines if the given key is within an interval.</div>
<dl><dt><spanclass="strong">Parameters:</span></dt><dd><code>key</code> - - key to check.</dd>
<dt><spanclass="strong">Returns:</span></dt><dd>TRUE if the given key is within an interval in this tree, FALSE otherwise.</dd></dl>
</li>
</ul>
<aname="entrySet()">
<!---->
</a>
<ulclass="blockList">
<liclass="blockList">
<h4>entrySet</h4>
<pre>public java.util.Set<<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.Entry.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.Entry</a>> entrySet()</pre>
<divclass="block">Enumerates over every range in this interval tree.</div>
<dl><dt><spanclass="strong">Returns:</span></dt><dd>Number of ranges.</dd></dl>
<pre>public void putAll(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree</a><<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a>,<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TValue</a>> other)</pre>
<divclass="block">Inserts every range from the given tree into the current tree.</div>
<dl><dt><spanclass="strong">Parameters:</span></dt><dd><code>other</code> - - the other tree to read from.</dd></dl>
</li>
</ul>
<aname="get(java.lang.Comparable)">
<!---->
</a><aname="get(TKey)">
<!---->
</a>
<ulclass="blockList">
<liclass="blockList">
<h4>get</h4>
<pre>public <ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TValue</a> get(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> key)</pre>
<divclass="block">Retrieves the value of the range that matches the given key, or NULL if nothing was found.</div>
<dl><dt><spanclass="strong">Parameters:</span></dt><dd><code>key</code> - - the level to read for.</dd>
<dt><spanclass="strong">Returns:</span></dt><dd>The correct amount of experience, or NULL if nothing was recorded.</dd></dl>
</li>
</ul>
<aname="getEndPoint(java.lang.Comparable)">
<!---->
</a><aname="getEndPoint(TKey)">
<!---->
</a>
<ulclass="blockList">
<liclass="blockList">
<h4>getEndPoint</h4>
<pre>protected <ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.EndPoint.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.EndPoint</a> getEndPoint(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> key)</pre>
<pre>protected <ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.EndPoint.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.EndPoint</a> getPreviousEndPoint(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> point,
boolean inclusive)</pre>
<divclass="block">Get the previous end point of a given key.</div>
<dl><dt><spanclass="strong">Parameters:</span></dt><dd><code>point</code> - - the point to search with.</dd><dd><code>inclusive</code> - - whether or not to include the current point in the search.</dd>
<dt><spanclass="strong">Returns:</span></dt><dd>The previous end point of a given given key, or NULL if not found.</dd></dl>
<pre>protected <ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.EndPoint.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.EndPoint</a> getNextEndPoint(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> point,
boolean inclusive)</pre>
<divclass="block">Get the next end point of a given key.</div>
<dl><dt><spanclass="strong">Parameters:</span></dt><dd><code>point</code> - - the point to search with.</dd><dd><code>inclusive</code> - - whether or not to include the current point in the search.</dd>
<dt><spanclass="strong">Returns:</span></dt><dd>The next end point of a given given key, or NULL if not found.</dd></dl>
<pre>protected void onEntryAdded(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.Entry.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.Entry</a> added)</pre>
<divclass="block">Invoked when an entry is added.</div>
<dl><dt><spanclass="strong">Parameters:</span></dt><dd><code>added</code> - - the entry that was added.</dd></dl>
<pre>protected void onEntryRemoved(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.Entry.html"title="class in com.comphenix.protocol.concurrency">AbstractIntervalTree.Entry</a> removed)</pre>
<divclass="block">Invoked when an entry is removed.</div>
<dl><dt><spanclass="strong">Parameters:</span></dt><dd><code>removed</code> - - the removed entry.</dd></dl>
</li>
</ul>
<aname="decrementKey(java.lang.Comparable)">
<!---->
</a><aname="decrementKey(TKey)">
<!---->
</a>
<ulclass="blockList">
<liclass="blockList">
<h4>decrementKey</h4>
<pre>protected abstract <ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> decrementKey(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> key)</pre>
<divclass="block">Decrement the given key by one unit.</div>
<dl><dt><spanclass="strong">Parameters:</span></dt><dd><code>key</code> - - the key that should be decremented.</dd>
<dt><spanclass="strong">Returns:</span></dt><dd>The new decremented key.</dd></dl>
</li>
</ul>
<aname="incrementKey(java.lang.Comparable)">
<!---->
</a><aname="incrementKey(TKey)">
<!---->
</a>
<ulclass="blockListLast">
<liclass="blockList">
<h4>incrementKey</h4>
<pre>protected abstract <ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> incrementKey(<ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.html"title="type parameter in AbstractIntervalTree">TKey</a> key)</pre>
<divclass="block">Increment the given key by one unit.</div>
<dl><dt><spanclass="strong">Parameters:</span></dt><dd><code>key</code> - - the key that should be incremented.</dd>
<dt><spanclass="strong">Returns:</span></dt><dd>The new incremented key.</dd></dl>
<li><ahref="../../../../com/comphenix/protocol/concurrency/AbstractConcurrentListenerMultimap.html"title="class in com.comphenix.protocol.concurrency"><spanclass="strong">Prev Class</span></a></li>
<li><ahref="../../../../com/comphenix/protocol/concurrency/AbstractIntervalTree.EndPoint.html"title="class in com.comphenix.protocol.concurrency"><spanclass="strong">Next Class</span></a></li>