Plan/docs/main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html

802 lines
40 KiB
HTML
Raw Normal View History

2017-05-14 14:19:16 +02:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="fi">
<head>
<!-- Generated by javadoc (1.8.0_112) on Sun May 14 15:04:21 EEST 2017 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>DataCacheHandler (Plan 3.1.1 API)</title>
<meta name="date" content="2017-05-14">
<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="DataCacheHandler (Plan 3.1.1 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<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/DataCacheHandler.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="../../../../../../../main/java/com/djrapitops/plan/data/cache/AnalysisCacheHandler.html" title="class in main.java.com.djrapitops.plan.data.cache"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DBCallableProcessor.html" title="class in main.java.com.djrapitops.plan.data.cache"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html" target="_top">Frames</a></li>
<li><a href="DataCacheHandler.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</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">main.java.com.djrapitops.plan.data.cache</div>
<h2 title="Class DataCacheHandler" class="title">Class DataCacheHandler</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/SessionCache.html" title="class in main.java.com.djrapitops.plan.data.cache">main.java.com.djrapitops.plan.data.cache.SessionCache</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/LocationCache.html" title="class in main.java.com.djrapitops.plan.data.cache">main.java.com.djrapitops.plan.data.cache.LocationCache</a></li>
<li>
<ul class="inheritance">
<li>main.java.com.djrapitops.plan.data.cache.DataCacheHandler</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">DataCacheHandler</span>
extends <a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/LocationCache.html" title="class in main.java.com.djrapitops.plan.data.cache">LocationCache</a></pre>
<div class="block">This Class contains the Cache.
This class is the main processing class that initializes Save, Clear, Process
and Get queue and Starts the asyncronous save task.
It is used to store commanduse, locations, active sessions and UserData objects
in memory.
It's methods can be used to access all the data it stores and to clear them.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.0.0</dd>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Rsl1122</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html#DataCacheHandler-main.java.com.djrapitops.plan.Plan-">DataCacheHandler</a></span>(<a href="../../../../../../../main/java/com/djrapitops/plan/Plan.html" title="class in main.java.com.djrapitops.plan">Plan</a>&nbsp;plugin)</code>
<div class="block">Class Constructor.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html#addToPool-main.java.com.djrapitops.plan.data.handling.info.HandlingInfo-">addToPool</a></span>(<a href="../../../../../../../main/java/com/djrapitops/plan/data/handling/info/HandlingInfo.html" title="class in main.java.com.djrapitops.plan.data.handling.info">HandlingInfo</a>&nbsp;i)</code>
<div class="block">Used to add event HandlingInfo to the processTask's pool.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html#cache-main.java.com.djrapitops.plan.data.UserData-">cache</a></span>(<a href="../../../../../../../main/java/com/djrapitops/plan/data/UserData.html" title="class in main.java.com.djrapitops.plan.data">UserData</a>&nbsp;data)</code>
<div class="block">Used to Cache a UserData object to the Cache.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html#clearCache--">clearCache</a></span>()</code>
<div class="block">Schedules all UserData from the Cache to be cleared.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html#clearFromCache-java.util.UUID-">clearFromCache</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;uuid)</code>
<div class="block">Clears the matching UserData from the Cache if they're not online.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html#getCommandUse--">getCommandUse</a></span>()</code>
<div class="block">Used to get the cached commandUse.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html#getCommandUseFromDb--">getCommandUseFromDb</a></span>()</code>
<div class="block">Used to get the initial commandUse Map from the database.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>,<a href="../../../../../../../main/java/com/djrapitops/plan/data/UserData.html" title="class in main.java.com.djrapitops.plan.data">UserData</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html#getDataCache--">getDataCache</a></span>()</code>
<div class="block">Used to get the contents of the cache.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html#getMaxPlayers--">getMaxPlayers</a></span>()</code>
<div class="block">Used by Analysis for Player activity graphs.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html#getUserDataForProcessing-main.java.com.djrapitops.plan.data.cache.DBCallableProcessor-java.util.UUID-">getUserDataForProcessing</a></span>(<a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DBCallableProcessor.html" title="class in main.java.com.djrapitops.plan.data.cache">DBCallableProcessor</a>&nbsp;processor,
<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;uuid)</code>
<div class="block">Uses Database or Cache to retrieve the UserData of a matching player.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html#getUserDataForProcessing-main.java.com.djrapitops.plan.data.cache.DBCallableProcessor-java.util.UUID-boolean-">getUserDataForProcessing</a></span>(<a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DBCallableProcessor.html" title="class in main.java.com.djrapitops.plan.data.cache">DBCallableProcessor</a>&nbsp;processor,
<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;uuid,
boolean&nbsp;cache)</code>
<div class="block">Uses Database or Cache to retrieve the UserData of a matching player.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html#handleCommand-java.lang.String-">handleCommand</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;command)</code>
<div class="block">Used to handle a command's execution.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html#handleReload--">handleReload</a></span>()</code>
<div class="block">If /reload is run this treats every online player as a new login.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html#isDataAccessed-java.util.UUID-">isDataAccessed</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;uuid)</code>
<div class="block">Check whether or not the UserData object is being accessed by save or
process tasks.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html#newPlayer-org.bukkit.OfflinePlayer-">newPlayer</a></span>(org.bukkit.OfflinePlayer&nbsp;player)</code>
<div class="block">Creates a new UserData instance and saves it to the Database.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html#newPlayer-org.bukkit.entity.Player-">newPlayer</a></span>(org.bukkit.entity.Player&nbsp;player)</code>
<div class="block">Creates a new UserData instance and saves it to the Database.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html#newPlayer-main.java.com.djrapitops.plan.data.UserData-">newPlayer</a></span>(<a href="../../../../../../../main/java/com/djrapitops/plan/data/UserData.html" title="class in main.java.com.djrapitops.plan.data">UserData</a>&nbsp;data)</code>
<div class="block">Schedules a new player's data to be saved to the Database.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html#saveCachedData-java.util.UUID-">saveCachedData</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;uuid)</code>
<div class="block">Saves the cached data of matching Player if it is in the cache.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html#saveCachedUserData--">saveCachedUserData</a></span>()</code>
<div class="block">Saves all UserData in the cache to Database.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html#saveCacheOnDisable--">saveCacheOnDisable</a></span>()</code>
<div class="block">Saves all data in the cache to Database and closes the database down.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html#saveCommandUse--">saveCommandUse</a></span>()</code>
<div class="block">Saves the cached CommandUse.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html#saveHandlerDataToCache--">saveHandlerDataToCache</a></span>()</code>
<div class="block">Refreshes the calculations for all online players with ReloadInfo.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html#scheludeForClear-java.util.UUID-">scheludeForClear</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;uuid)</code>
<div class="block">Schedules a matching UserData object to be cleared from the cache.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html#startAsyncPeriodicSaveTask--">startAsyncPeriodicSaveTask</a></span>()</code>
<div class="block">Used to start the Asyncronous Save Task.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html#startQueues--">startQueues</a></span>()</code>
<div class="block">Used to start all processing Queue Threads.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.main.java.com.djrapitops.plan.data.cache.LocationCache">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;main.java.com.djrapitops.plan.data.cache.<a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/LocationCache.html" title="class in main.java.com.djrapitops.plan.data.cache">LocationCache</a></h3>
<code><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/LocationCache.html#addLocation-java.util.UUID-org.bukkit.Location-">addLocation</a>, <a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/LocationCache.html#addLocations-java.util.UUID-java.util.Collection-">addLocations</a>, <a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/LocationCache.html#clearLocations-java.util.UUID-">clearLocations</a>, <a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/LocationCache.html#getLocationsForSaving-java.util.UUID-">getLocationsForSaving</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.main.java.com.djrapitops.plan.data.cache.SessionCache">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;main.java.com.djrapitops.plan.data.cache.<a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/SessionCache.html" title="class in main.java.com.djrapitops.plan.data.cache">SessionCache</a></h3>
<code><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/SessionCache.html#addSession-main.java.com.djrapitops.plan.data.UserData-">addSession</a>, <a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/SessionCache.html#endSession-java.util.UUID-">endSession</a>, <a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/SessionCache.html#getActiveSessions--">getActiveSessions</a>, <a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/SessionCache.html#getSession-java.util.UUID-">getSession</a>, <a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/SessionCache.html#startSession-java.util.UUID-">startSession</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="DataCacheHandler-main.java.com.djrapitops.plan.Plan-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DataCacheHandler</h4>
<pre>public&nbsp;DataCacheHandler(<a href="../../../../../../../main/java/com/djrapitops/plan/Plan.html" title="class in main.java.com.djrapitops.plan">Plan</a>&nbsp;plugin)</pre>
<div class="block">Class Constructor.
Gets the Database from the plugin. Starts the queues. Registers
Asyncronous Periodic Save Task</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>plugin</code> - Current instance of Plan</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getCommandUseFromDb--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCommandUseFromDb</h4>
<pre>public&nbsp;boolean&nbsp;getCommandUseFromDb()</pre>
<div class="block">Used to get the initial commandUse Map from the database.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Was the fetch successful?</dd>
</dl>
</li>
</ul>
<a name="startQueues--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>startQueues</h4>
<pre>public&nbsp;void&nbsp;startQueues()</pre>
<div class="block">Used to start all processing Queue Threads.</div>
</li>
</ul>
<a name="startAsyncPeriodicSaveTask--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>startAsyncPeriodicSaveTask</h4>
<pre>public&nbsp;void&nbsp;startAsyncPeriodicSaveTask()
throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a>,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></pre>
<div class="block">Used to start the Asyncronous Save Task.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - BukkitRunnable was given wrong
parameters.</dd>
<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - BukkitScheduler is in a wrong state.</dd>
</dl>
</li>
</ul>
<a name="getUserDataForProcessing-main.java.com.djrapitops.plan.data.cache.DBCallableProcessor-java.util.UUID-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUserDataForProcessing</h4>
<pre>public&nbsp;void&nbsp;getUserDataForProcessing(<a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DBCallableProcessor.html" title="class in main.java.com.djrapitops.plan.data.cache">DBCallableProcessor</a>&nbsp;processor,
<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;uuid,
boolean&nbsp;cache)</pre>
<div class="block">Uses Database or Cache to retrieve the UserData of a matching player.
Caches the data to the Cache if cache-parameter is true.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>processor</code> - DBCallableProcessor Object used to process the data
after it was retrieved</dd>
<dd><code>uuid</code> - Player's UUID</dd>
<dd><code>cache</code> - Whether or not the UserData will be Cached in this instance
of DataCacheHandler after it has been fetched (if not already fetched)</dd>
</dl>
</li>
</ul>
<a name="cache-main.java.com.djrapitops.plan.data.UserData-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cache</h4>
<pre>public&nbsp;void&nbsp;cache(<a href="../../../../../../../main/java/com/djrapitops/plan/data/UserData.html" title="class in main.java.com.djrapitops.plan.data">UserData</a>&nbsp;data)</pre>
<div class="block">Used to Cache a UserData object to the Cache.
If a object already exists it will be replaced.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - UserData object with the UUID inside used as key.</dd>
</dl>
</li>
</ul>
<a name="getUserDataForProcessing-main.java.com.djrapitops.plan.data.cache.DBCallableProcessor-java.util.UUID-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUserDataForProcessing</h4>
<pre>public&nbsp;void&nbsp;getUserDataForProcessing(<a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DBCallableProcessor.html" title="class in main.java.com.djrapitops.plan.data.cache">DBCallableProcessor</a>&nbsp;processor,
<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;uuid)</pre>
<div class="block">Uses Database or Cache to retrieve the UserData of a matching player.
Always Caches the data after retrieval (unless already cached)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>processor</code> - DBCallableProcessor Object used to process the data
after it was retrieved</dd>
<dd><code>uuid</code> - Player's UUID</dd>
</dl>
</li>
</ul>
<a name="saveCachedUserData--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>saveCachedUserData</h4>
<pre>public&nbsp;void&nbsp;saveCachedUserData()</pre>
<div class="block">Saves all UserData in the cache to Database.
ATTENTION: TODO - Doesn't save the Locations in the locationCache.
Should only be called from Async thread</div>
</li>
</ul>
<a name="addToPool-main.java.com.djrapitops.plan.data.handling.info.HandlingInfo-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addToPool</h4>
<pre>public&nbsp;void&nbsp;addToPool(<a href="../../../../../../../main/java/com/djrapitops/plan/data/handling/info/HandlingInfo.html" title="class in main.java.com.djrapitops.plan.data.handling.info">HandlingInfo</a>&nbsp;i)</pre>
<div class="block">Used to add event HandlingInfo to the processTask's pool.
Given HandlingInfo object's process method will be called.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>i</code> - Object that extends HandlingInfo.</dd>
</dl>
</li>
</ul>
<a name="saveCacheOnDisable--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>saveCacheOnDisable</h4>
<pre>public&nbsp;void&nbsp;saveCacheOnDisable()</pre>
<div class="block">Saves all data in the cache to Database and closes the database down.
Stops all tasks.
If processTask has unprocessed information, it will be processed.</div>
</li>
</ul>
<a name="saveCachedData-java.util.UUID-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>saveCachedData</h4>
<pre>public&nbsp;void&nbsp;saveCachedData(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;uuid)</pre>
<div class="block">Saves the cached data of matching Player if it is in the cache.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>uuid</code> - Player's UUID</dd>
</dl>
</li>
</ul>
<a name="saveCommandUse--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>saveCommandUse</h4>
<pre>public&nbsp;void&nbsp;saveCommandUse()</pre>
<div class="block">Saves the cached CommandUse.
Should be only called from an Asyncronous Thread.</div>
</li>
</ul>
<a name="saveHandlerDataToCache--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>saveHandlerDataToCache</h4>
<pre>public&nbsp;void&nbsp;saveHandlerDataToCache()</pre>
<div class="block">Refreshes the calculations for all online players with ReloadInfo.</div>
</li>
</ul>
<a name="clearCache--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearCache</h4>
<pre>public&nbsp;void&nbsp;clearCache()</pre>
<div class="block">Schedules all UserData from the Cache to be cleared.</div>
</li>
</ul>
<a name="clearFromCache-java.util.UUID-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearFromCache</h4>
<pre>public&nbsp;void&nbsp;clearFromCache(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;uuid)</pre>
<div class="block">Clears the matching UserData from the Cache if they're not online.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>uuid</code> - Player's UUID</dd>
</dl>
</li>
</ul>
<a name="scheludeForClear-java.util.UUID-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scheludeForClear</h4>
<pre>public&nbsp;void&nbsp;scheludeForClear(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;uuid)</pre>
<div class="block">Schedules a matching UserData object to be cleared from the cache.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>uuid</code> - Player's UUID.</dd>
</dl>
</li>
</ul>
<a name="isDataAccessed-java.util.UUID-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDataAccessed</h4>
<pre>public&nbsp;boolean&nbsp;isDataAccessed(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;uuid)</pre>
<div class="block">Check whether or not the UserData object is being accessed by save or
process tasks.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>uuid</code> - Player's UUID</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true/false</dd>
</dl>
</li>
</ul>
<a name="newPlayer-org.bukkit.entity.Player-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newPlayer</h4>
<pre>public&nbsp;void&nbsp;newPlayer(org.bukkit.entity.Player&nbsp;player)</pre>
<div class="block">Creates a new UserData instance and saves it to the Database.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>player</code> - Player the new UserData is created for</dd>
</dl>
</li>
</ul>
<a name="newPlayer-org.bukkit.OfflinePlayer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newPlayer</h4>
<pre>public&nbsp;void&nbsp;newPlayer(org.bukkit.OfflinePlayer&nbsp;player)</pre>
<div class="block">Creates a new UserData instance and saves it to the Database.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>player</code> - Player the new UserData is created for</dd>
</dl>
</li>
</ul>
<a name="newPlayer-main.java.com.djrapitops.plan.data.UserData-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newPlayer</h4>
<pre>public&nbsp;void&nbsp;newPlayer(<a href="../../../../../../../main/java/com/djrapitops/plan/data/UserData.html" title="class in main.java.com.djrapitops.plan.data">UserData</a>&nbsp;data)</pre>
<div class="block">Schedules a new player's data to be saved to the Database.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - UserData object to schedule for save.</dd>
</dl>
</li>
</ul>
<a name="getDataCache--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDataCache</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>,<a href="../../../../../../../main/java/com/djrapitops/plan/data/UserData.html" title="class in main.java.com.djrapitops.plan.data">UserData</a>&gt;&nbsp;getDataCache()</pre>
<div class="block">Used to get the contents of the cache.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The HashMap containing all Cached UserData</dd>
</dl>
</li>
</ul>
<a name="getCommandUse--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCommandUse</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;getCommandUse()</pre>
<div class="block">Used to get the cached commandUse.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Map with key:value - "/command":4</dd>
</dl>
</li>
</ul>
<a name="handleReload--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleReload</h4>
<pre>public&nbsp;void&nbsp;handleReload()</pre>
<div class="block">If /reload is run this treats every online player as a new login.
Calls all the methods that are ran when PlayerJoinEvent is fired</div>
</li>
</ul>
<a name="getMaxPlayers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxPlayers</h4>
<pre>public&nbsp;int&nbsp;getMaxPlayers()</pre>
<div class="block">Used by Analysis for Player activity graphs.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Maximum number of players defined in server.properties.</dd>
</dl>
</li>
</ul>
<a name="handleCommand-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>handleCommand</h4>
<pre>public&nbsp;void&nbsp;handleCommand(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;command)</pre>
<div class="block">Used to handle a command's execution.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>command</code> - "/command"</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>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<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/DataCacheHandler.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="../../../../../../../main/java/com/djrapitops/plan/data/cache/AnalysisCacheHandler.html" title="class in main.java.com.djrapitops.plan.data.cache"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../main/java/com/djrapitops/plan/data/cache/DBCallableProcessor.html" title="class in main.java.com.djrapitops.plan.data.cache"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?main/java/com/djrapitops/plan/data/cache/DataCacheHandler.html" target="_top">Frames</a></li>
<li><a href="DataCacheHandler.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</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 &#169; 2017. All rights reserved.</small></p>
</body>
</html>