<dd><code><ahref="Identifier.html"title="interface in io.github.simplexdevelopment.api">Identifier</a></code>, <code><ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Runnable.html"title="class or interface in java.lang"class="external-link">Runnable</a></code></dd>
<dd><code><ahref="../scheduler/ExecutableService.html"title="class in io.github.simplexdevelopment.scheduler">ExecutableService</a></code>, <code><ahref="../impl/ServiceImpl.html"title="class in io.github.simplexdevelopment.impl">ServiceImpl</a></code></dd>
extends <ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Runnable.html"title="class or interface in java.lang"class="external-link">Runnable</a>, <ahref="Identifier.html"title="interface in io.github.simplexdevelopment.api">Identifier</a></span></div>
<divclass="block">Represents a service that can be registered to a <ahref="../scheduler/ServicePool.html"title="class in io.github.simplexdevelopment.scheduler"><code>ServicePool</code></a>.
<p>
This interface provides surface level methods to be used by the <ahref="../scheduler/ServicePool.html"title="class in io.github.simplexdevelopment.scheduler"><code>ServicePool</code></a>
<divclass="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>reactor.core.publisher.Mono<<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Void.html"title="class or interface in java.lang"class="external-link">Void</a>></code></div>
<divclass="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><ahref="#setParentPool(io.github.simplexdevelopment.scheduler.ServicePool)"class="member-name-link">setParentPool</a><wbr>(<ahref="../scheduler/ServicePool.html"title="class in io.github.simplexdevelopment.scheduler">ServicePool</a> servicePool)</code></div>
<divclass="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>reactor.core.publisher.Mono<<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Void.html"title="class or interface in java.lang"class="external-link">Void</a>></code></div>
<divclass="block">The actual start method for the service.</div>
</div>
<divclass="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>reactor.core.publisher.Mono<<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Void.html"title="class or interface in java.lang"class="external-link">Void</a>></code></div>
<h3id="methods-inherited-from-class-io.github.simplexdevelopment.api.Identifier">Methods inherited from interface io.github.simplexdevelopment.api.<ahref="Identifier.html"title="interface in io.github.simplexdevelopment.api">Identifier</a></h3>
<dd>How long the service should wait before executing the first time.</dd>
</dl>
</section>
</li>
<li>
<sectionclass="detail"id="start()">
<h3>start</h3>
<divclass="member-signature"><spanclass="return-type">reactor.core.publisher.Mono<<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Void.html"title="class or interface in java.lang"class="external-link">Void</a>></span> <spanclass="element-name">start</span>()</div>
<divclass="block">The actual start method for the service. This should be overridden by subclasses,
and should include all the required code necessary to execute when the service is queued.</div>
<dlclass="notes">
<dt>Returns:</dt>
<dd>An encapsulated Mono object representing the start method for the service.</dd>
</dl>
</section>
</li>
<li>
<sectionclass="detail"id="stop()">
<h3>stop</h3>
<divclass="member-signature"><spanclass="return-type">reactor.core.publisher.Mono<<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Void.html"title="class or interface in java.lang"class="external-link">Void</a>></span> <spanclass="element-name">stop</span>()</div>
<divclass="block">The actual end method for the service. This should be overridden by subclasses,
and should include all the required code necessary to execute when the service is stopped.</div>
<dlclass="notes">
<dt>Returns:</dt>
<dd>An encapsulated Mono object representing the end method for the service.</dd>
<dd>The plugin which was defined in the constructor.
This should be an instance of your main plugin class.</dd>
</dl>
</section>
</li>
<li>
<sectionclass="detail"id="getParentPool()">
<h3>getParentPool</h3>
<divclass="member-signature"><spanclass="return-type">reactor.core.publisher.Mono<<ahref="../scheduler/ServicePool.html"title="class in io.github.simplexdevelopment.scheduler">ServicePool</a>></span> <spanclass="element-name">getParentPool</span>()</div>
<dlclass="notes">
<dt>Returns:</dt>
<dd>The <ahref="../scheduler/ServicePool.html"title="class in io.github.simplexdevelopment.scheduler"><code>ServicePool</code></a> which this service is executing on.</dd>
<divclass="member-signature"><spanclass="return-type">reactor.core.publisher.Mono<<ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Void.html"title="class or interface in java.lang"class="external-link">Void</a>></span> <spanclass="element-name">setParentPool</span><wbr><spanclass="parameters">(<ahref="../scheduler/ServicePool.html"title="class in io.github.simplexdevelopment.scheduler">ServicePool</a> servicePool)</span></div>
<divclass="block">Sets the parent pool for this service.</div>
<dd><code><ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Runnable.html#run()"title="class or interface in java.lang"class="external-link">run</a></code> in interface <code><ahref="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Runnable.html"title="class or interface in java.lang"class="external-link">Runnable</a></code></dd>