Class ConfigurationSerialization

java.lang.Object
org.bukkit.configuration.serialization.ConfigurationSerialization

public class ConfigurationSerialization extends Object
Utility class for storing and retrieving classes for Configuration.
  • Field Details

  • Constructor Details

  • Method Details

    • getMethod

      @Nullable protected @Nullable Method getMethod(@NotNull @NotNull String name, boolean isStatic)
    • getConstructor

      @Nullable protected @Nullable Constructor<? extends ConfigurationSerializable> getConstructor()
    • deserializeViaMethod

      @Nullable protected @Nullable ConfigurationSerializable deserializeViaMethod(@NotNull @NotNull Method method, @NotNull @NotNull Map<String,?> args)
    • deserializeViaCtor

      @Nullable protected @Nullable ConfigurationSerializable deserializeViaCtor(@NotNull @NotNull Constructor<? extends ConfigurationSerializable> ctor, @NotNull @NotNull Map<String,?> args)
    • deserialize

      @Nullable public @Nullable ConfigurationSerializable deserialize(@NotNull @NotNull Map<String,?> args)
    • deserializeObject

      @Nullable public static @Nullable ConfigurationSerializable deserializeObject(@NotNull @NotNull Map<String,?> args, @NotNull @NotNull Class<? extends ConfigurationSerializable> clazz)
      Attempts to deserialize the given arguments into a new instance of the given class.

      The class must implement ConfigurationSerializable, including the extra methods as specified in the javadoc of ConfigurationSerializable.

      If a new instance could not be made, an example being the class not fully implementing the interface, null will be returned.

      Parameters:
      args - Arguments for deserialization
      clazz - Class to deserialize into
      Returns:
      New instance of the specified class
    • deserializeObject

      @Nullable public static @Nullable ConfigurationSerializable deserializeObject(@NotNull @NotNull Map<String,?> args)
      Attempts to deserialize the given arguments into a new instance of the given class.

      The class must implement ConfigurationSerializable, including the extra methods as specified in the javadoc of ConfigurationSerializable.

      If a new instance could not be made, an example being the class not fully implementing the interface, null will be returned.

      Parameters:
      args - Arguments for deserialization
      Returns:
      New instance of the specified class
    • registerClass

      public static void registerClass(@NotNull @NotNull Class<? extends ConfigurationSerializable> clazz)
      Registers the given ConfigurationSerializable class by its alias
      Parameters:
      clazz - Class to register
    • registerClass

      public static void registerClass(@NotNull @NotNull Class<? extends ConfigurationSerializable> clazz, @NotNull @NotNull String alias)
      Registers the given alias to the specified ConfigurationSerializable class
      Parameters:
      clazz - Class to register
      alias - Alias to register as
      See Also:
    • unregisterClass

      public static void unregisterClass(@NotNull @NotNull String alias)
      Unregisters the specified alias to a ConfigurationSerializable
      Parameters:
      alias - Alias to unregister
    • unregisterClass

      public static void unregisterClass(@NotNull @NotNull Class<? extends ConfigurationSerializable> clazz)
      Unregisters any aliases for the specified ConfigurationSerializable class
      Parameters:
      clazz - Class to unregister
    • getClassByAlias

      @Nullable public static @Nullable Class<? extends ConfigurationSerializable> getClassByAlias(@NotNull @NotNull String alias)
      Attempts to get a registered ConfigurationSerializable class by its alias
      Parameters:
      alias - Alias of the serializable
      Returns:
      Registered class, or null if not found
    • getAlias

      @NotNull public static @NotNull String getAlias(@NotNull @NotNull Class<? extends ConfigurationSerializable> clazz)
      Gets the correct alias for the given ConfigurationSerializable class
      Parameters:
      clazz - Class to get alias for
      Returns:
      Alias to use for the class