Class JsonConfigurationSerialization
java.lang.Object
com.jeff_media.jsonconfigurationserialization.JsonConfigurationSerialization
Utility class for serializing and deserializing ConfigurationSerializables to and from Json
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ConfigurationSerializableTypeHierarchyAdapterAJsonSerializerandJsonDeserializerforConfigurationSerializables to be used withGsonBuilder.registerTypeHierarchyAdapter(Class, Object) -
Method Summary
Modifier and TypeMethodDescriptionstatic ConfigurationSerializabledeserialize(String json) Deserializes a ConfigurationSerializable from a Json Stringstatic <T extends ConfigurationSerializable>
Tdeserialize(String json, Class<T> clazz) Deserializes a ConfigurationSerializable from a Json Stringstatic Stringserialize(ConfigurationSerializable serializable) Serializes a ConfigurationSerializable to a Json String
-
Field Details
-
TYPE_HIERARCHY_ADAPTER
AJsonSerializerandJsonDeserializerforConfigurationSerializables to be used withGsonBuilder.registerTypeHierarchyAdapter(Class, Object)
-
-
Method Details
-
serialize
Serializes a ConfigurationSerializable to a Json String- Parameters:
serializable- ConfigurationSerializable to serialize- Returns:
- Json String
-
deserialize
Deserializes a ConfigurationSerializable from a Json String- Parameters:
json- Json String- Returns:
- deserialized ConfigurationSerializable
- Throws:
IllegalArgumentException- if the Json String is invalid or if the ConfigurationSerializable class is not found
-
deserialize
public static <T extends ConfigurationSerializable> T deserialize(String json, Class<T> clazz) throws IllegalArgumentException, ClassCastException Deserializes a ConfigurationSerializable from a Json String- Parameters:
json- Json Stringclazz- Class of the ConfigurationSerializable- Returns:
- deserialized ConfigurationSerializable
- Throws:
IllegalArgumentException- if the Json String is invalid or if the ConfigurationSerializable class is not foundClassCastException- if the ConfigurationSerializable is not of the specified class
-