Class ConfigurationSerialization
java.lang.Object
org.bukkit.configuration.serialization.ConfigurationSerialization
public class ConfigurationSerialization
extends java.lang.Object
Utility class for storing and retrieving classes for
Configuration
.-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
SERIALIZED_TYPE_KEY
-
Constructor Summary
Constructors Modifier Constructor Description protected
ConfigurationSerialization(java.lang.Class<? extends ConfigurationSerializable> clazz)
-
Method Summary
Modifier and Type Method Description ConfigurationSerializable
deserialize(java.util.Map<java.lang.String,?> args)
static ConfigurationSerializable
deserializeObject(java.util.Map<java.lang.String,?> args)
Attempts to deserialize the given arguments into a new instance of the given class.static ConfigurationSerializable
deserializeObject(java.util.Map<java.lang.String,?> args, java.lang.Class<? extends ConfigurationSerializable> clazz)
Attempts to deserialize the given arguments into a new instance of the given class.protected ConfigurationSerializable
deserializeViaCtor(java.lang.reflect.Constructor<? extends ConfigurationSerializable> ctor, java.util.Map<java.lang.String,?> args)
protected ConfigurationSerializable
deserializeViaMethod(java.lang.reflect.Method method, java.util.Map<java.lang.String,?> args)
static java.lang.String
getAlias(java.lang.Class<? extends ConfigurationSerializable> clazz)
Gets the correct alias for the givenConfigurationSerializable
classstatic java.lang.Class<? extends ConfigurationSerializable>
getClassByAlias(java.lang.String alias)
Attempts to get a registeredConfigurationSerializable
class by its aliasprotected java.lang.reflect.Constructor<? extends ConfigurationSerializable>
getConstructor()
protected java.lang.reflect.Method
getMethod(java.lang.String name, boolean isStatic)
static void
registerClass(java.lang.Class<? extends ConfigurationSerializable> clazz)
Registers the givenConfigurationSerializable
class by its aliasstatic void
registerClass(java.lang.Class<? extends ConfigurationSerializable> clazz, java.lang.String alias)
Registers the given alias to the specifiedConfigurationSerializable
classstatic void
unregisterClass(java.lang.Class<? extends ConfigurationSerializable> clazz)
Unregisters any aliases for the specifiedConfigurationSerializable
classstatic void
unregisterClass(java.lang.String alias)
Unregisters the specified alias to aConfigurationSerializable
-
Field Details
-
SERIALIZED_TYPE_KEY
public static final java.lang.String SERIALIZED_TYPE_KEY- See Also:
- Constant Field Values
-
-
Constructor Details
-
Method Details
-
getMethod
protected java.lang.reflect.Method getMethod(java.lang.String name, boolean isStatic) -
getConstructor
-
deserializeViaMethod
protected ConfigurationSerializable deserializeViaMethod(java.lang.reflect.Method method, java.util.Map<java.lang.String,?> args) -
deserializeViaCtor
protected ConfigurationSerializable deserializeViaCtor(java.lang.reflect.Constructor<? extends ConfigurationSerializable> ctor, java.util.Map<java.lang.String,?> args) -
deserialize
-
deserializeObject
public static ConfigurationSerializable deserializeObject(java.util.Map<java.lang.String,?> args, java.lang.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 deserializationclazz
- Class to deserialize into- Returns:
- New instance of the specified class
-
deserializeObject
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
Registers the givenConfigurationSerializable
class by its alias- Parameters:
clazz
- Class to register
-
registerClass
public static void registerClass(java.lang.Class<? extends ConfigurationSerializable> clazz, java.lang.String alias)Registers the given alias to the specifiedConfigurationSerializable
class- Parameters:
clazz
- Class to registeralias
- Alias to register as- See Also:
SerializableAs
-
unregisterClass
public static void unregisterClass(java.lang.String alias)Unregisters the specified alias to aConfigurationSerializable
- Parameters:
alias
- Alias to unregister
-
unregisterClass
Unregisters any aliases for the specifiedConfigurationSerializable
class- Parameters:
clazz
- Class to unregister
-
getClassByAlias
public static java.lang.Class<? extends ConfigurationSerializable> getClassByAlias(java.lang.String alias)Attempts to get a registeredConfigurationSerializable
class by its alias- Parameters:
alias
- Alias of the serializable- Returns:
- Registered class, or null if not found
-
getAlias
public static java.lang.String getAlias(java.lang.Class<? extends ConfigurationSerializable> clazz)Gets the correct alias for the givenConfigurationSerializable
class- Parameters:
clazz
- Class to get alias for- Returns:
- Alias to use for the class
-