boosCooldowns/doc/org/mcstats/MetricsLite.html

639 lines
22 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="cs">
<head>
<!-- Generated by javadoc (version 1.7.0_21) on Sat May 11 13:26:20 CEST 2013 -->
<title>MetricsLite</title>
<meta name="date" content="2013-05-11">
<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="MetricsLite";
}
//-->
</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/MetricsLite.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-files/index-1.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li>Next Class</li>
</ul>
<ul class="navList">
<li><a href="../../index.html?org/mcstats/MetricsLite.html" target="_top">Frames</a></li>
<li><a href="MetricsLite.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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&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><a href="#field_detail">Field</a>&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">org.mcstats</div>
<h2 title="Class MetricsLite" class="title">Class MetricsLite</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.mcstats.MetricsLite</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="strong">MetricsLite</span>
extends java.lang.Object</pre>
</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">&nbsp;</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>private static java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../org/mcstats/MetricsLite.html#BASE_URL">BASE_URL</a></strong></code>
<div class="block">The base url of the metrics domain</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private org.bukkit.configuration.file.YamlConfiguration</code></td>
<td class="colLast"><code><strong><a href="../../org/mcstats/MetricsLite.html#configuration">configuration</a></strong></code>
<div class="block">The plugin configuration file</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.io.File</code></td>
<td class="colLast"><code><strong><a href="../../org/mcstats/MetricsLite.html#configurationFile">configurationFile</a></strong></code>
<div class="block">The plugin configuration file</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><strong><a href="../../org/mcstats/MetricsLite.html#debug">debug</a></strong></code>
<div class="block">Debug mode</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../org/mcstats/MetricsLite.html#guid">guid</a></strong></code>
<div class="block">Unique server id</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../org/mcstats/MetricsLite.html#optOutLock">optOutLock</a></strong></code>
<div class="block">Lock for synchronization</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static int</code></td>
<td class="colLast"><code><strong><a href="../../org/mcstats/MetricsLite.html#PING_INTERVAL">PING_INTERVAL</a></strong></code>
<div class="block">Interval of time to ping (in minutes)</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private org.bukkit.plugin.Plugin</code></td>
<td class="colLast"><code><strong><a href="../../org/mcstats/MetricsLite.html#plugin">plugin</a></strong></code>
<div class="block">The plugin this metrics submits for</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../org/mcstats/MetricsLite.html#REPORT_URL">REPORT_URL</a></strong></code>
<div class="block">The url used to report a server's status</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static int</code></td>
<td class="colLast"><code><strong><a href="../../org/mcstats/MetricsLite.html#REVISION">REVISION</a></strong></code>
<div class="block">The current revision number</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private org.bukkit.scheduler.BukkitTask</code></td>
<td class="colLast"><code><strong><a href="../../org/mcstats/MetricsLite.html#task">task</a></strong></code>
<div class="block">Id of the scheduled task</div>
</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">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../org/mcstats/MetricsLite.html#MetricsLite(org.bukkit.plugin.Plugin)">MetricsLite</a></strong>(org.bukkit.plugin.Plugin&nbsp;plugin)</code>&nbsp;</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">&nbsp;</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/mcstats/MetricsLite.html#disable()">disable</a></strong>()</code>
<div class="block">Disables metrics for the server by setting "opt-out" to true in the
config file and canceling the metrics task.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../org/mcstats/MetricsLite.html#enable()">enable</a></strong>()</code>
<div class="block">Enables metrics for the server by setting "opt-out" to false in the
config file and starting the metrics task.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../org/mcstats/MetricsLite.html#encode(java.lang.String)">encode</a></strong>(java.lang.String&nbsp;text)</code>
<div class="block">Encode text as UTF-8</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static void</code></td>
<td class="colLast"><code><strong><a href="../../org/mcstats/MetricsLite.html#encodeDataPair(java.lang.StringBuilder, java.lang.String, java.lang.String)">encodeDataPair</a></strong>(java.lang.StringBuilder&nbsp;buffer,
java.lang.String&nbsp;key,
java.lang.String&nbsp;value)</code>
<div class="block">
Encode a key/value data pair to be used in a HTTP post request.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.io.File</code></td>
<td class="colLast"><code><strong><a href="../../org/mcstats/MetricsLite.html#getConfigFile()">getConfigFile</a></strong>()</code>
<div class="block">Gets the File object of the config file that should be used to store data
such as the GUID and opt-out status</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><strong><a href="../../org/mcstats/MetricsLite.html#isMineshafterPresent()">isMineshafterPresent</a></strong>()</code>
<div class="block">Check if mineshafter is present.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../org/mcstats/MetricsLite.html#isOptOut()">isOptOut</a></strong>()</code>
<div class="block">Has the server owner denied plugin metrics?</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><strong><a href="../../org/mcstats/MetricsLite.html#postPlugin(boolean)">postPlugin</a></strong>(boolean&nbsp;isPing)</code>
<div class="block">Generic method that posts a plugin to the metrics website</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../org/mcstats/MetricsLite.html#start()">start</a></strong>()</code>
<div class="block">Start measuring statistics.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, 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="REVISION">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>REVISION</h4>
<pre>private static final&nbsp;int REVISION</pre>
<div class="block">The current revision number</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../constant-values.html#org.mcstats.MetricsLite.REVISION">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="BASE_URL">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BASE_URL</h4>
<pre>private static final&nbsp;java.lang.String BASE_URL</pre>
<div class="block">The base url of the metrics domain</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../constant-values.html#org.mcstats.MetricsLite.BASE_URL">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="REPORT_URL">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>REPORT_URL</h4>
<pre>private static final&nbsp;java.lang.String REPORT_URL</pre>
<div class="block">The url used to report a server's status</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../constant-values.html#org.mcstats.MetricsLite.REPORT_URL">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="PING_INTERVAL">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PING_INTERVAL</h4>
<pre>private static final&nbsp;int PING_INTERVAL</pre>
<div class="block">Interval of time to ping (in minutes)</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../constant-values.html#org.mcstats.MetricsLite.PING_INTERVAL">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="plugin">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>plugin</h4>
<pre>private final&nbsp;org.bukkit.plugin.Plugin plugin</pre>
<div class="block">The plugin this metrics submits for</div>
</li>
</ul>
<a name="configuration">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>configuration</h4>
<pre>private final&nbsp;org.bukkit.configuration.file.YamlConfiguration configuration</pre>
<div class="block">The plugin configuration file</div>
</li>
</ul>
<a name="configurationFile">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>configurationFile</h4>
<pre>private final&nbsp;java.io.File configurationFile</pre>
<div class="block">The plugin configuration file</div>
</li>
</ul>
<a name="guid">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>guid</h4>
<pre>private final&nbsp;java.lang.String guid</pre>
<div class="block">Unique server id</div>
</li>
</ul>
<a name="debug">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>debug</h4>
<pre>private final&nbsp;boolean debug</pre>
<div class="block">Debug mode</div>
</li>
</ul>
<a name="optOutLock">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>optOutLock</h4>
<pre>private final&nbsp;java.lang.Object optOutLock</pre>
<div class="block">Lock for synchronization</div>
</li>
</ul>
<a name="task">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>task</h4>
<pre>private volatile&nbsp;org.bukkit.scheduler.BukkitTask task</pre>
<div class="block">Id of the scheduled task</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="MetricsLite(org.bukkit.plugin.Plugin)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MetricsLite</h4>
<pre>public&nbsp;MetricsLite(org.bukkit.plugin.Plugin&nbsp;plugin)
throws java.io.IOException</pre>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.IOException</code></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="encode(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encode</h4>
<pre>private static&nbsp;java.lang.String&nbsp;encode(java.lang.String&nbsp;text)
throws java.io.UnsupportedEncodingException</pre>
<div class="block">Encode text as UTF-8</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>text</code> - the text to encode</dd>
<dt><span class="strong">Returns:</span></dt><dd>the encoded text, as UTF-8</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.UnsupportedEncodingException</code></dd></dl>
</li>
</ul>
<a name="encodeDataPair(java.lang.StringBuilder, java.lang.String, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encodeDataPair</h4>
<pre>private static&nbsp;void&nbsp;encodeDataPair(java.lang.StringBuilder&nbsp;buffer,
java.lang.String&nbsp;key,
java.lang.String&nbsp;value)
throws java.io.UnsupportedEncodingException</pre>
<div class="block"><p>
Encode a key/value data pair to be used in a HTTP post request. This
INCLUDES a & so the first key/value pair MUST be included manually, e.g:
</p>
<code>
StringBuffer data = new StringBuffer();
data.append(encode("guid")).append('=').append(encode(guid));
encodeDataPair(data, "version", description.getVersion());
</code></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>buffer</code> - the stringbuilder to append the data pair onto</dd><dd><code>key</code> - the key value</dd><dd><code>value</code> - the value</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.UnsupportedEncodingException</code></dd></dl>
</li>
</ul>
<a name="disable()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>disable</h4>
<pre>public&nbsp;void&nbsp;disable()
throws java.io.IOException</pre>
<div class="block">Disables metrics for the server by setting "opt-out" to true in the
config file and canceling the metrics task.</div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd></dl>
</li>
</ul>
<a name="enable()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>enable</h4>
<pre>public&nbsp;void&nbsp;enable()
throws java.io.IOException</pre>
<div class="block">Enables metrics for the server by setting "opt-out" to false in the
config file and starting the metrics task.</div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd></dl>
</li>
</ul>
<a name="getConfigFile()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConfigFile</h4>
<pre>public&nbsp;java.io.File&nbsp;getConfigFile()</pre>
<div class="block">Gets the File object of the config file that should be used to store data
such as the GUID and opt-out status</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the File object for the config file</dd></dl>
</li>
</ul>
<a name="isMineshafterPresent()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isMineshafterPresent</h4>
<pre>private&nbsp;boolean&nbsp;isMineshafterPresent()</pre>
<div class="block">Check if mineshafter is present. If it is, we need to bypass it to send
POST requests</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>true if mineshafter is installed on the server</dd></dl>
</li>
</ul>
<a name="isOptOut()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isOptOut</h4>
<pre>public&nbsp;boolean&nbsp;isOptOut()</pre>
<div class="block">Has the server owner denied plugin metrics?</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>true if metrics should be opted out of it</dd></dl>
</li>
</ul>
<a name="postPlugin(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>postPlugin</h4>
<pre>private&nbsp;void&nbsp;postPlugin(boolean&nbsp;isPing)
throws java.io.IOException</pre>
<div class="block">Generic method that posts a plugin to the metrics website</div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd></dl>
</li>
</ul>
<a name="start()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>start</h4>
<pre>public&nbsp;boolean&nbsp;start()</pre>
<div class="block">Start measuring statistics. This will immediately create an async
repeating task as the plugin and send the initial data to the metrics
backend, and then after that it will post in increments of PING_INTERVAL
* 1200 ticks.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>True if statistics measuring is running, otherwise false.</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/MetricsLite.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-files/index-1.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li>Next Class</li>
</ul>
<ul class="navList">
<li><a href="../../index.html?org/mcstats/MetricsLite.html" target="_top">Frames</a></li>
<li><a href="MetricsLite.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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&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><a href="#field_detail">Field</a>&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 ======= -->
</body>
</html>