com.quartercode.quarterbukkit.util
Class Metrics

java.lang.Object
  extended by com.quartercode.quarterbukkit.util.Metrics

public class Metrics
extends java.lang.Object

The metrics class obtains data about a plugin and submits statistics about it to the metrics backend. Public methods provided by this class:


Nested Class Summary
static class Metrics.Graph
          Represents a custom graph on the website.
static class Metrics.Plotter
          Interface used to collect custom data for a plugin.
 
Constructor Summary
Metrics(org.bukkit.plugin.Plugin plugin)
          Creates a new Metrics-Sender for a defined Plugin.
 
Method Summary
 void addCustomData(Metrics.Plotter plotter)
          Adds a custom data plotter to the default graph.
 void addGraph(Metrics.Graph graph)
          Add a Graph object to Metrics that represents data for the plugin that should be sent to the backend.
 Metrics.Graph createGraph(java.lang.String name)
          Construct and create a Graph that can be used to separate specific plotters to their own graphs on the metrics website.
 void disable()
          Disables metrics for the server by setting "opt-out" to true in the config file and canceling the metrics task.
 void enable()
          Enables metrics for the server by setting "opt-out" to false in the config file and starting the metrics task.
 boolean equals(java.lang.Object obj)
           
 java.io.File getConfigFile()
          Gets the File object of the config file that should be used to store data such as the GUID and opt-out status.
 int hashCode()
           
 boolean isOptOut()
          Has the server owner denied plugin metrics?
 boolean start()
          Start measuring statistics.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Metrics

public Metrics(org.bukkit.plugin.Plugin plugin)
        throws java.io.IOException
Creates a new Metrics-Sender for a defined Plugin.

Parameters:
plugin - The Metrics-Plugin.
Throws:
java.io.IOException - If something goes wrong while creating the configuration-file.
Method Detail

createGraph

public Metrics.Graph createGraph(java.lang.String name)
Construct and create a Graph that can be used to separate specific plotters to their own graphs on the metrics website. Plotters can be added to the graph object returned.

Parameters:
name - The name of the graph.
Returns:
Graph object created. Will never return NULL under normal circumstances unless bad parameters are given.

addGraph

public void addGraph(Metrics.Graph graph)
Add a Graph object to Metrics that represents data for the plugin that should be sent to the backend.

Parameters:
graph - The name of the graph.

addCustomData

public void addCustomData(Metrics.Plotter plotter)
Adds a custom data plotter to the default graph.

Parameters:
plotter - The plotter to use to plot custom data.

start

public boolean start()
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.

Returns:
True if statistics measuring is running, otherwise false.

isOptOut

public boolean isOptOut()
Has the server owner denied plugin metrics?

Returns:
True if metrics should be opted out of it.

enable

public void enable()
            throws java.io.IOException
Enables metrics for the server by setting "opt-out" to false in the config file and starting the metrics task.

Throws:
java.io.IOException - If something goes wrong while creating the configuration-file.

disable

public void disable()
             throws java.io.IOException
Disables metrics for the server by setting "opt-out" to true in the config file and canceling the metrics task.

Throws:
java.io.IOException - If something goes wrong while creating the configuration-file.

getConfigFile

public java.io.File getConfigFile()
Gets the File object of the config file that should be used to store data such as the GUID and opt-out status.

Returns:
The File object for the config file.

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object