Marked Handler as internal

This commit is contained in:
Auxilor
2021-11-01 16:07:14 +00:00
parent e89008cf97
commit 462abd46c6
3 changed files with 30 additions and 16 deletions

View File

@@ -1,6 +1,5 @@
package com.willfp.eco.core;
import lombok.Getter;
import lombok.experimental.UtilityClass;
import org.apache.commons.lang.Validate;
import org.jetbrains.annotations.ApiStatus;
@@ -15,26 +14,39 @@ import org.jetbrains.annotations.NotNull;
public class Eco {
/**
* Instance of eco handler.
* <p>
* The handler is, in essence, a way to interface between the eco-api
* frontend module, and the eco-backend implementations.
* <p>
* There shouldn't really be any reason to ever use the handler
* in your own plugins, but if you want to then you can - it's
* just a part of the API like any other.
*/
@Getter
@ApiStatus.Internal
private Handler handler;
/**
* Set the handler.
*
* @param handler The handler.
*/
@ApiStatus.Internal
public void setHandler(@NotNull final Handler handler) {
Validate.isTrue(Eco.handler == null, "Already initialized!");
Eco.handler = handler;
}
/**
* Get the instance of the eco handler.
* <p>
* The handler is, in essence, a way to interface between the eco-api
* frontend module, and the eco-backend implementations.
* <p>
* There shouldn't really be any reason to ever use the handler
* in your own plugins, and you are likely to break things. All parts of
* the handler are abstracted into logically named parts of the API.
* <p>
* In versions of eco before 6.12.0, the handler was considered part of
* the eco API, however it has since been moved into an internal component
* that shouldn't be used in your plugins.
*
* @return The handler.
* @apiNote As of eco 6.12.0, the handler is no longer regarded as part
* of the eco API. It is scheduled to be made internal-only *somehow* at
* some point in the future.
*/
@ApiStatus.Internal
public Handler getHandler() {
return handler;
}
}

View File

@@ -19,6 +19,7 @@ import com.willfp.eco.core.requirement.RequirementFactory;
import com.willfp.eco.core.scheduling.Scheduler;
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -26,8 +27,9 @@ import java.util.List;
import java.util.logging.Logger;
/**
* @see Eco
* @see Eco#getHandler()
*/
@ApiStatus.Internal
public interface Handler {
/**
* Create a scheduler.

View File

@@ -9,7 +9,7 @@ import org.jetbrains.annotations.NotNull;
*
* @param <T> The eco plugin type.
*/
public abstract class PluginDependent<@NotNull T extends EcoPlugin> {
public abstract class PluginDependent<T extends EcoPlugin> {
/**
* The {@link EcoPlugin} that is stored.
*/