Class Signature<T>

java.lang.Object
ch.njol.skript.lang.function.Signature<T>
All Implemented Interfaces:
Signature<T>

public class Signature<T> extends Object implements Signature<T>
Function signature: name, parameter types and a return type.
  • Constructor Details

    • Signature

      public Signature(@Nullable @Nullable String script, String name, Parameter<?>[] parameters, boolean local, @Nullable @Nullable ClassInfo<T> returnType, boolean single, @Nullable @Nullable Contract contract)
    • Signature

      public Signature(@Nullable @Nullable String script, String name, Parameter<?>[] parameters, boolean local, @Nullable @Nullable ClassInfo<T> returnType, boolean single, String stacktrace)
    • Signature

      public Signature(String script, String name, Parameter<?>[] parameters, boolean local, ClassInfo<T> returnType, boolean single, String stacktrace, @Nullable @Nullable Contract contract)
    • Signature

      public Signature(@Nullable @Nullable String script, String name, Parameters parameters, Class<T> returnType, boolean local, @Nullable @Nullable Contract contract)
    • Signature

      public Signature(@Nullable @Nullable String script, String name, Parameters parameters, Class<T> returnType, boolean local)
    • Signature

      public Signature(String namespace, String name, Parameter<?>[] parameters, Class<T> returnType, boolean single, @Nullable @Nullable Contract contract)
  • Method Details

    • getParameter

      @Deprecated(forRemoval=true, since="2.14") public Parameter<?> getParameter(int index)
      Deprecated, for removal: This API element is subject to removal in a future version.
    • getParameters

      @Deprecated(forRemoval=true, since="2.14") public Parameter<?>[] getParameters()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Use parameters() instead.
    • returnType

      @Nullable public @Nullable Class<T> returnType()
      Specified by:
      returnType in interface Signature<T>
      Returns:
      The type of this parameter.
    • parameters

      @NotNull public @NotNull Parameters parameters()
      Specified by:
      parameters in interface Signature<T>
      Returns:
      A SequencedMap containing all parameters.
    • contract

      public Contract contract()
      Specified by:
      contract in interface Signature<T>
      Returns:
      The contract of this signature.
    • addCall

      public void addCall(FunctionReference<?> reference)
      Description copied from interface: Signature
      Adds a reference to the clearing list.
      Specified by:
      addCall in interface Signature<T>
      Parameters:
      reference - The reference.
    • getParameter

      public Parameter<?> getParameter(@NotNull @NotNull String name)
      Parameters:
      name - The parameter name.
      Returns:
      The parameter with the specified name, or null if none is found.
    • getName

      public String getName()
    • isLocal

      public boolean isLocal()
    • namespace

      public String namespace()
      Returns:
      The namespace of this signature.
    • getReturnType

      @Nullable public @Nullable ClassInfo<T> getReturnType()
    • isSingle

      public boolean isSingle()
      Specified by:
      isSingle in interface Signature<T>
      Returns:
      Whether this signature returns a single or multiple values.
    • getOriginClassPath

      @Deprecated(forRemoval=true, since="2.13") public String getOriginClassPath()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Unused.
    • getContract

      @Nullable public @Nullable Contract getContract()
    • calls

      public Collection<FunctionReference<?>> calls()
    • getMaxParameters

      public int getMaxParameters()
      Gets maximum number of parameters that the function described by this signature is able to take.
      Returns:
      Maximum number of parameters.
    • getMinParameters

      public int getMinParameters()
      Gets minimum number of parameters that the function described by this signature is able to take. Parameters that have default values and do not have any parameters that are mandatory after them, are optional.
      Returns:
      Minimum number of parameters required.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toString

      public String toString(boolean includeReturnType, boolean debug)