Interface ChameleonExtensionDependency


  • @NonExtendable
    public interface ChameleonExtensionDependency
    Chameleon extension dependency.
    • Method Detail

      • required

        @Contract("_ -> new")
        @NotNull
        static @NotNull ChameleonExtensionDependency required​(@NotNull
                                                              @NotNull Class<? extends ChameleonExtension> extension)
        Create a new required extension dependency.
        Parameters:
        extension - Extension class.
        Returns:
        new dependency.
      • required

        @Contract("_, _ -> new")
        @NotNull
        static @NotNull ChameleonExtensionDependency required​(@NotNull
                                                              @NotNull String name,
                                                              @NotNull
                                                              @NotNull Class<? extends ChameleonExtension> extension)
        Create a new required extension dependency with the extension name.
        Parameters:
        name - Extension name.
        extension - Extension class.
        Returns:
        new dependency.
      • required

        @Contract("_ -> new")
        @NotNull
        static @NotNull ChameleonExtensionDependency required​(@NotNull
                                                              @NotNull String extension)
        Create a new required extension dependency.
        Parameters:
        extension - Extension class name.
        Returns:
        new dependency.
      • required

        @Contract("_, _ -> new")
        @NotNull
        static @NotNull ChameleonExtensionDependency required​(@NotNull
                                                              @NotNull String name,
                                                              @NotNull
                                                              @NotNull String extension)
        Create a new required extension dependency with the extension name.
        Parameters:
        name - Extension name.
        extension - Extension class name.
        Returns:
        new dependency.
      • required

        boolean required()
        Returns whether this dependency is a required for loading the extension.
        Returns:
        required.
      • optional

        @Contract("_ -> new")
        @NotNull
        static @NotNull ChameleonExtensionDependency optional​(@NotNull
                                                              @NotNull Class<? extends ChameleonExtension> extension)
        Create a new optional extension dependency.
        Parameters:
        extension - Extension class.
        Returns:
        new dependency.
      • optional

        @Contract("_, _ -> new")
        @NotNull
        static @NotNull ChameleonExtensionDependency optional​(@NotNull
                                                              @NotNull String name,
                                                              @NotNull
                                                              @NotNull Class<? extends ChameleonExtension> extension)
        Create a new optional extension dependency with the extension name.
        Parameters:
        name - Extension name.
        extension - Extension class.
        Returns:
        new dependency.
      • optional

        @Contract("_ -> new")
        @NotNull
        static @NotNull ChameleonExtensionDependency optional​(@NotNull
                                                              @NotNull String extension)
        Create a new optional extension dependency.
        Parameters:
        extension - Extension class name.
        Returns:
        new dependency.
      • optional

        @Contract("_, _ -> new")
        @NotNull
        static @NotNull ChameleonExtensionDependency optional​(@NotNull
                                                              @NotNull String name,
                                                              @NotNull
                                                              @NotNull String extension)
        Create a new optional extension dependency with the extension name.
        Parameters:
        name - Extension name.
        extension - Extension class name.
        Returns:
        new dependency.
      • optional

        default boolean optional()
        Returns whether this dependency is optional for loading the extension.
        Returns:
        optional.
      • name

        @NotNull
        @NotNull String name()
        Returns the name of the extension this dependency is for.
        Returns:
        extension name.
      • extension

        @NotNull
        @NotNull Optional<Class<? extends ChameleonExtension>> extension()
        Returns the extension class this dependency is for.
        Returns:
        an optional containing the extension class, if found, otherwise an empty optional.