Class ConfigurationSerialization
- java.lang.Object
-
- org.bukkit.configuration.serialization.ConfigurationSerialization
-
public class ConfigurationSerialization extends Object
Utility class for storing and retrieving classes forConfiguration.
-
-
Field Summary
Fields Modifier and Type Field Description static StringSERIALIZED_TYPE_KEY
-
Constructor Summary
Constructors Modifier Constructor Description protectedConfigurationSerialization(Class<? extends ConfigurationSerializable> clazz)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ConfigurationSerializabledeserialize(Map<String,?> args)static ConfigurationSerializabledeserializeObject(Map<String,?> args)Attempts to deserialize the given arguments into a new instance of the given class.static ConfigurationSerializabledeserializeObject(Map<String,?> args, Class<? extends ConfigurationSerializable> clazz)Attempts to deserialize the given arguments into a new instance of the given class.protected ConfigurationSerializabledeserializeViaCtor(Constructor<? extends ConfigurationSerializable> ctor, Map<String,?> args)protected ConfigurationSerializabledeserializeViaMethod(Method method, Map<String,?> args)static StringgetAlias(Class<? extends ConfigurationSerializable> clazz)Gets the correct alias for the givenConfigurationSerializableclassstatic Class<? extends ConfigurationSerializable>getClassByAlias(String alias)Attempts to get a registeredConfigurationSerializableclass by its aliasprotected Constructor<? extends ConfigurationSerializable>getConstructor()protected MethodgetMethod(String name, boolean isStatic)static voidregisterClass(Class<? extends ConfigurationSerializable> clazz)Registers the givenConfigurationSerializableclass by its aliasstatic voidregisterClass(Class<? extends ConfigurationSerializable> clazz, String alias)Registers the given alias to the specifiedConfigurationSerializableclassstatic voidunregisterClass(Class<? extends ConfigurationSerializable> clazz)Unregisters any aliases for the specifiedConfigurationSerializableclassstatic voidunregisterClass(String alias)Unregisters the specified alias to aConfigurationSerializable
-
-
-
Field Detail
-
SERIALIZED_TYPE_KEY
public static final String SERIALIZED_TYPE_KEY
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ConfigurationSerialization
protected ConfigurationSerialization(Class<? extends ConfigurationSerializable> clazz)
-
-
Method Detail
-
getConstructor
protected Constructor<? extends ConfigurationSerializable> getConstructor()
-
deserializeViaMethod
protected ConfigurationSerializable deserializeViaMethod(Method method, Map<String,?> args)
-
deserializeViaCtor
protected ConfigurationSerializable deserializeViaCtor(Constructor<? extends ConfigurationSerializable> ctor, Map<String,?> args)
-
deserialize
public ConfigurationSerializable deserialize(Map<String,?> args)
-
deserializeObject
public static ConfigurationSerializable deserializeObject(Map<String,?> args, 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
public static ConfigurationSerializable deserializeObject(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(Class<? extends ConfigurationSerializable> clazz)
Registers the givenConfigurationSerializableclass by its alias- Parameters:
clazz- Class to register
-
registerClass
public static void registerClass(Class<? extends ConfigurationSerializable> clazz, String alias)
Registers the given alias to the specifiedConfigurationSerializableclass- Parameters:
clazz- Class to registeralias- Alias to register as- See Also:
SerializableAs
-
unregisterClass
public static void unregisterClass(String alias)
Unregisters the specified alias to aConfigurationSerializable- Parameters:
alias- Alias to unregister
-
unregisterClass
public static void unregisterClass(Class<? extends ConfigurationSerializable> clazz)
Unregisters any aliases for the specifiedConfigurationSerializableclass- Parameters:
clazz- Class to unregister
-
getClassByAlias
public static Class<? extends ConfigurationSerializable> getClassByAlias(String alias)
Attempts to get a registeredConfigurationSerializableclass by its alias- Parameters:
alias- Alias of the serializable- Returns:
- Registered class, or null if not found
-
getAlias
public static String getAlias(Class<? extends ConfigurationSerializable> clazz)
Gets the correct alias for the givenConfigurationSerializableclass- Parameters:
clazz- Class to get alias for- Returns:
- Alias to use for the class
-
-