Package org.bukkit.configuration.serialization

# 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 Summary

Fields
Modifier and Type
Field
Description
`static final String`
`SERIALIZED_TYPE_KEY`

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`ConfigurationSerialization(@NotNull Class<? extends ConfigurationSerializable> clazz)`

## Method Summary

Modifier and Type
Method
Description
`@Nullable ConfigurationSerializable`
`deserialize(@NotNull Map<String,?> args)`
`static @Nullable ConfigurationSerializable`
`deserializeObject(@NotNull Map<String,?> args)`
Attempts to deserialize the given arguments into a new instance of the given class.
`static @Nullable ConfigurationSerializable`
`deserializeObject(@NotNull Map<String,?> args, @NotNull Class<? extends ConfigurationSerializable> clazz)`
Attempts to deserialize the given arguments into a new instance of the given class.
`protected @Nullable ConfigurationSerializable`
`deserializeViaCtor(@NotNull Constructor<? extends ConfigurationSerializable> ctor, @NotNull Map<String,?> args)`
`protected @Nullable ConfigurationSerializable`
`deserializeViaMethod(@NotNull Method method, @NotNull Map<String,?> args)`
`static @NotNull String`
`getAlias(@NotNull Class<? extends ConfigurationSerializable> clazz)`
Gets the correct alias for the given `ConfigurationSerializable` class
`static @Nullable Class<? extends ConfigurationSerializable>`
`getClassByAlias(@NotNull String alias)`
Attempts to get a registered `ConfigurationSerializable` class by its alias
`protected @Nullable Constructor<? extends ConfigurationSerializable>`
`getConstructor()`
`protected @Nullable Method`
`getMethod(@NotNull String name, boolean isStatic)`
`static void`
`registerClass(@NotNull Class<? extends ConfigurationSerializable> clazz)`
Registers the given `ConfigurationSerializable` class by its alias
`static void`
`registerClass(@NotNull Class<? extends ConfigurationSerializable> clazz, @NotNull String alias)`
Registers the given alias to the specified `ConfigurationSerializable` class
`static void`
`unregisterClass(@NotNull Class<? extends ConfigurationSerializable> clazz)`
Unregisters any aliases for the specified `ConfigurationSerializable` class
`static void`
`unregisterClass(@NotNull String alias)`
Unregisters the specified alias to a `ConfigurationSerializable`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### SERIALIZED_TYPE_KEY

public static final String SERIALIZED_TYPE_KEY

See Also:
  - Constant Field Values

## Constructor Details

### ConfigurationSerialization

protected ConfigurationSerialization(@NotNull @NotNull Class<? extends ConfigurationSerializable> clazz)

## 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:
  - `SerializableAs`

### 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