implements <ahref="ExtensionService.html"title="interface in com.djrapitops.plan.extension">ExtensionService</a></pre>
<divclass="block">Implementation for <ahref="ExtensionService.html"title="interface in com.djrapitops.plan.extension"><code>ExtensionService</code></a>.</div>
<h3>Nested classes/interfaces inherited from interface com.djrapitops.plan.extension.<ahref="ExtensionService.html"title="interface in com.djrapitops.plan.extension">ExtensionService</a></h3>
<code><ahref="ExtensionService.Holder.html"title="class in com.djrapitops.plan.extension">ExtensionService.Holder</a></code></li>
<thclass="colConstructorName"scope="row"><code><spanclass="memberNameLink"><ahref="#%3Cinit%3E(com.djrapitops.plan.settings.config.PlanConfig,com.djrapitops.plan.storage.database.DBSystem,com.djrapitops.plan.identification.ServerInfo,com.djrapitops.plan.processing.Processing,com.djrapitops.plan.extension.implementation.ExtensionRegister,net.playeranalytics.plugin.server.PluginLogger,com.djrapitops.plan.utilities.logging.ErrorLogger)">ExtensionSvc</a></span>​(<ahref="../settings/config/PlanConfig.html"title="class in com.djrapitops.plan.settings.config">PlanConfig</a> config,
<ahref="../storage/database/DBSystem.html"title="class in com.djrapitops.plan.storage.database">DBSystem</a> dbSystem,
<ahref="../identification/ServerInfo.html"title="class in com.djrapitops.plan.identification">ServerInfo</a> serverInfo,
<ahref="../processing/Processing.html"title="class in com.djrapitops.plan.processing">Processing</a> processing,
<ahref="implementation/ExtensionRegister.html"title="class in com.djrapitops.plan.extension.implementation">ExtensionRegister</a> extensionRegister,
<tdclass="colFirst"><code>java.util.Optional<<ahref="Caller.html"title="interface in com.djrapitops.plan.extension">Caller</a>></code></td>
<thclass="colSecond"scope="row"><code><spanclass="memberNameLink"><ahref="#register(com.djrapitops.plan.extension.DataExtension)">register</a></span>​(<ahref="DataExtension.html"title="interface in com.djrapitops.plan.extension">DataExtension</a> extension)</code></th>
<tdclass="colLast">
<divclass="block">Register your <ahref="DataExtension.html"title="interface in com.djrapitops.plan.extension"><code>DataExtension</code></a> implementation.</div>
<thclass="colSecond"scope="row"><code><spanclass="memberNameLink"><ahref="#unregister(com.djrapitops.plan.extension.DataExtension)">unregister</a></span>​(<ahref="DataExtension.html"title="interface in com.djrapitops.plan.extension">DataExtension</a> extension)</code></th>
<tdclass="colLast">
<divclass="block">Unregister your <ahref="DataExtension.html"title="interface in com.djrapitops.plan.extension"><code>DataExtension</code></a> implementation.</div>
<thclass="colSecond"scope="row"><code><spanclass="memberNameLink"><ahref="#updatePlayerValues(com.djrapitops.plan.extension.implementation.providers.gathering.ProviderValueGatherer,java.util.UUID,java.lang.String,com.djrapitops.plan.extension.CallEvents)">updatePlayerValues</a></span>​(<ahref="implementation/providers/gathering/ProviderValueGatherer.html"title="class in com.djrapitops.plan.extension.implementation.providers.gathering">ProviderValueGatherer</a> gatherer,
<thclass="colSecond"scope="row"><code><spanclass="memberNameLink"><ahref="#updateServerValues(com.djrapitops.plan.extension.CallEvents)">updateServerValues</a></span>​(<ahref="CallEvents.html"title="enum in com.djrapitops.plan.extension">CallEvents</a> event)</code></th>
<thclass="colSecond"scope="row"><code><spanclass="memberNameLink"><ahref="#updateServerValues(com.djrapitops.plan.extension.implementation.providers.gathering.ProviderValueGatherer,com.djrapitops.plan.extension.CallEvents)">updateServerValues</a></span>​(<ahref="implementation/providers/gathering/ProviderValueGatherer.html"title="class in com.djrapitops.plan.extension.implementation.providers.gathering">ProviderValueGatherer</a> gatherer,
<ahref="CallEvents.html"title="enum in com.djrapitops.plan.extension">CallEvents</a> event)</code></th>
public ExtensionSvc​(<ahref="../settings/config/PlanConfig.html"title="class in com.djrapitops.plan.settings.config">PlanConfig</a> config,
<ahref="../storage/database/DBSystem.html"title="class in com.djrapitops.plan.storage.database">DBSystem</a> dbSystem,
<ahref="../identification/ServerInfo.html"title="class in com.djrapitops.plan.identification">ServerInfo</a> serverInfo,
<ahref="../processing/Processing.html"title="class in com.djrapitops.plan.processing">Processing</a> processing,
<ahref="implementation/ExtensionRegister.html"title="class in com.djrapitops.plan.extension.implementation">ExtensionRegister</a> extensionRegister,
<preclass="methodSignature">public java.util.Optional<<ahref="Caller.html"title="interface in com.djrapitops.plan.extension">Caller</a>> register​(<ahref="DataExtension.html"title="interface in com.djrapitops.plan.extension">DataExtension</a> extension)</pre>
<divclass="block"><spanclass="descfrmTypeLabel">Description copied from interface: <code><ahref="ExtensionService.html#register(com.djrapitops.plan.extension.DataExtension)">ExtensionService</a></code></span></div>
<divclass="block">Register your <ahref="DataExtension.html"title="interface in com.djrapitops.plan.extension"><code>DataExtension</code></a> implementation.
You can use <ahref="extractor/ExtensionExtractor.html#validateAnnotations()"><code>ExtensionExtractor.validateAnnotations()</code></a> in your Unit Tests to prevent IllegalArgumentExceptions here at runtime.</div>
<dd><code><ahref="ExtensionService.html#register(com.djrapitops.plan.extension.DataExtension)">register</a></code> in interface <code><ahref="ExtensionService.html"title="interface in com.djrapitops.plan.extension">ExtensionService</a></code></dd>
<dd><code>extension</code> - Your DataExtension implementation, see <ahref="DataExtension.html"title="interface in com.djrapitops.plan.extension"><code>DataExtension</code></a> for requirements.</dd>
<dd>Optional <ahref="Caller.html"title="interface in com.djrapitops.plan.extension"><code>Caller</code></a> that can be used to call for data update in Plan database manually - If the Optional is not present the user has disabled the extension in Plan config.</dd>
<preclass="methodSignature">public void unregister​(<ahref="DataExtension.html"title="interface in com.djrapitops.plan.extension">DataExtension</a> extension)</pre>
<divclass="block"><spanclass="descfrmTypeLabel">Description copied from interface: <code><ahref="ExtensionService.html#unregister(com.djrapitops.plan.extension.DataExtension)">ExtensionService</a></code></span></div>
<divclass="block">Unregister your <ahref="DataExtension.html"title="interface in com.djrapitops.plan.extension"><code>DataExtension</code></a> implementation.
<dd><code><ahref="ExtensionService.html#unregister(com.djrapitops.plan.extension.DataExtension)">unregister</a></code> in interface <code><ahref="ExtensionService.html"title="interface in com.djrapitops.plan.extension">ExtensionService</a></code></dd>
<preclass="methodSignature">public void updatePlayerValues​(<ahref="implementation/providers/gathering/ProviderValueGatherer.html"title="class in com.djrapitops.plan.extension.implementation.providers.gathering">ProviderValueGatherer</a> gatherer,
<preclass="methodSignature">public void updateServerValues​(<ahref="CallEvents.html"title="enum in com.djrapitops.plan.extension">CallEvents</a> event)</pre>
<preclass="methodSignature">public void updateServerValues​(<ahref="implementation/providers/gathering/ProviderValueGatherer.html"title="class in com.djrapitops.plan.extension.implementation.providers.gathering">ProviderValueGatherer</a> gatherer,
<ahref="CallEvents.html"title="enum in com.djrapitops.plan.extension">CallEvents</a> event)</pre>