<divclass="inheritance"title="Inheritance Tree"><ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html"title="class or interface in java.lang"class="external-link">java.lang.Object</a>
<spanclass="extends-implements">extends <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html"title="class or interface in java.lang"class="external-link">Object</a>
<divclass="block">Implementation for <ahref="ExtensionService.html"title="interface in com.djrapitops.plan.extension"><code>ExtensionService</code></a>.</div>
<h2id="nested-classes-inherited-from-class-com.djrapitops.plan.extension.ExtensionService">Nested classes/interfaces inherited from interface com.djrapitops.plan.extension.<ahref="ExtensionService.html"title="interface in com.djrapitops.plan.extension">ExtensionService</a></h2>
<divclass="col-constructor-name even-row-color"><code><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,com.djrapitops.plan.identification.UUIDUtility,net.playeranalytics.plugin.server.PluginLogger,com.djrapitops.plan.utilities.logging.ErrorLogger)"class="member-name-link">ExtensionSvc</a><wbr>(<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,
<ahref="../identification/UUIDUtility.html"title="class in com.djrapitops.plan.identification">UUIDUtility</a> uuidUtility,
<ahref="../utilities/logging/ErrorLogger.html"title="interface in com.djrapitops.plan.utilities.logging">ErrorLogger</a> errorLogger)</code></div>
<divclass="block">Obtain a new <ahref="builder/ExtensionDataBuilder.html"title="interface in com.djrapitops.plan.extension.builder"><code>ExtensionDataBuilder</code></a>, it is recommended to use <ahref="DataExtension.html#newExtensionDataBuilder()"><code>DataExtension.newExtensionDataBuilder()</code></a>.</div>
<divclass="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Optional.html"title="class or interface in java.util"class="external-link">Optional</a><<ahref="Caller.html"title="interface in com.djrapitops.plan.extension">Caller</a>></code></div>
<divclass="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><ahref="#register(com.djrapitops.plan.extension.DataExtension)"class="member-name-link">register</a><wbr>(<ahref="DataExtension.html"title="interface in com.djrapitops.plan.extension">DataExtension</a> dataExtension)</code></div>
<divclass="block">Register your <ahref="DataExtension.html"title="interface in com.djrapitops.plan.extension"><code>DataExtension</code></a> implementation.</div>
<divclass="block">Unregister your <ahref="DataExtension.html"title="interface in com.djrapitops.plan.extension"><code>DataExtension</code></a> implementation.</div>
<divclass="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><ahref="#updatePlayerValues(com.djrapitops.plan.extension.implementation.providers.gathering.DataValueGatherer,java.util.UUID,java.lang.String,com.djrapitops.plan.extension.CallEvents)"class="member-name-link">updatePlayerValues</a><wbr>(<ahref="implementation/providers/gathering/DataValueGatherer.html"title="class in com.djrapitops.plan.extension.implementation.providers.gathering">DataValueGatherer</a> gatherer,
<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/UUID.html"title="class or interface in java.util"class="external-link">UUID</a> playerUUID,
<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> playerName,
<divclass="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><ahref="#updatePlayerValues(java.util.UUID,java.lang.String,com.djrapitops.plan.extension.CallEvents)"class="member-name-link">updatePlayerValues</a><wbr>(<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/UUID.html"title="class or interface in java.util"class="external-link">UUID</a> playerUUID,
<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> playerName,
<ahref="CallEvents.html"title="enum class in com.djrapitops.plan.extension">CallEvents</a> event)</code></div>
<divclass="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><ahref="#updateServerValues(com.djrapitops.plan.extension.CallEvents)"class="member-name-link">updateServerValues</a><wbr>(<ahref="CallEvents.html"title="enum class in com.djrapitops.plan.extension">CallEvents</a> event)</code></div>
<h3id="methods-inherited-from-class-java.lang.Object">Methods inherited from class java.lang.<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html"title="class or interface in java.lang"class="external-link">Object</a></h3>
<code><ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()"title="class or interface in java.lang"class="external-link">clone</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)"title="class or interface in java.lang"class="external-link">equals</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()"title="class or interface in java.lang"class="external-link">finalize</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()"title="class or interface in java.lang"class="external-link">getClass</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()"title="class or interface in java.lang"class="external-link">hashCode</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()"title="class or interface in java.lang"class="external-link">notify</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()"title="class or interface in java.lang"class="external-link">notifyAll</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()"title="class or interface in java.lang"class="external-link">toString</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()"title="class or interface in java.lang"class="external-link">wait</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)"title="class or interface in java.lang"class="external-link">wait</a>, <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)"title="class or interface in java.lang"class="external-link">wait</a></code></div>
</span><spanclass="modifiers">public</span> <spanclass="element-name">ExtensionSvc</span><wbr><spanclass="parameters">(<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,
<ahref="../identification/UUIDUtility.html"title="class in com.djrapitops.plan.identification">UUIDUtility</a> uuidUtility,
<ahref="../utilities/logging/ErrorLogger.html"title="interface in com.djrapitops.plan.utilities.logging">ErrorLogger</a> errorLogger)</span></div>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type"><ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Optional.html"title="class or interface in java.util"class="external-link">Optional</a><<ahref="Caller.html"title="interface in com.djrapitops.plan.extension">Caller</a>></span> <spanclass="element-name">register</span><wbr><spanclass="parameters">(<ahref="DataExtension.html"title="interface in com.djrapitops.plan.extension">DataExtension</a> dataExtension)</span></div>
<divclass="block"><spanclass="descfrm-type-label">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>dataExtension</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>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type">void</span> <spanclass="element-name">unregister</span><wbr><spanclass="parameters">(<ahref="DataExtension.html"title="interface in com.djrapitops.plan.extension">DataExtension</a> extension)</span></div>
<divclass="block"><spanclass="descfrm-type-label">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>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type"><ahref="builder/ExtensionDataBuilder.html"title="interface in com.djrapitops.plan.extension.builder">ExtensionDataBuilder</a></span> <spanclass="element-name">newExtensionDataBuilder</span><wbr><spanclass="parameters">(<ahref="DataExtension.html"title="interface in com.djrapitops.plan.extension">DataExtension</a> extension)</span></div>
<divclass="block"><spanclass="descfrm-type-label">Description copied from interface: <code><ahref="ExtensionService.html#newExtensionDataBuilder(com.djrapitops.plan.extension.DataExtension)">ExtensionService</a></code></span></div>
<divclass="block">Obtain a new <ahref="builder/ExtensionDataBuilder.html"title="interface in com.djrapitops.plan.extension.builder"><code>ExtensionDataBuilder</code></a>, it is recommended to use <ahref="DataExtension.html#newExtensionDataBuilder()"><code>DataExtension.newExtensionDataBuilder()</code></a>.
<dd><code><ahref="ExtensionService.html#newExtensionDataBuilder(com.djrapitops.plan.extension.DataExtension)">newExtensionDataBuilder</a></code> in interface <code><ahref="ExtensionService.html"title="interface in com.djrapitops.plan.extension">ExtensionService</a></code></dd>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type">void</span> <spanclass="element-name">updatePlayerValues</span><wbr><spanclass="parameters">(<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/UUID.html"title="class or interface in java.util"class="external-link">UUID</a> playerUUID,
<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> playerName,
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type">void</span> <spanclass="element-name">updatePlayerValues</span><wbr><spanclass="parameters">(<ahref="implementation/providers/gathering/DataValueGatherer.html"title="class in com.djrapitops.plan.extension.implementation.providers.gathering">DataValueGatherer</a> gatherer,
<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/UUID.html"title="class or interface in java.util"class="external-link">UUID</a> playerUUID,
<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html"title="class or interface in java.lang"class="external-link">String</a> playerName,
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type">void</span> <spanclass="element-name">updateServerValues</span><wbr><spanclass="parameters">(<ahref="CallEvents.html"title="enum class in com.djrapitops.plan.extension">CallEvents</a> event)</span></div>
<divclass="member-signature"><spanclass="modifiers">public</span> <spanclass="return-type">void</span> <spanclass="element-name">updateServerValues</span><wbr><spanclass="parameters">(<ahref="implementation/providers/gathering/DataValueGatherer.html"title="class in com.djrapitops.plan.extension.implementation.providers.gathering">DataValueGatherer</a> gatherer,