Skip to content

Commit

Permalink
-- Update to 3.0-Beta-2 --
Browse files Browse the repository at this point in the history
Renamed LightningSerializable.serialize to deserialize and
added a serialize method.

Added new constructors for JSON/TOML/LightningFile.

Improved performance of JSON.
  • Loading branch information
EsGibtKeineMitte committed Dec 5, 2019
1 parent 7a1508c commit 06f676c
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public interface LightningSerializable<T> {
*
* @throws ClassCastException Exception thrown when serialization failed.
*/
Object serialize() throws ClassCastException;
Object serialize(T t) throws ClassCastException;

Class<T> getClazz();
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ public class LightningSerializer {
* @param lightningSerializable Serializable to register
*/
public void registerSerializable(LightningSerializable lightningSerializable) {
Valid.notNull(lightningSerializable, "Serializable mustn't be null");
Valid.notNull(lightningSerializable.getClazz(), "Class mustn't be null");
serializes.add(lightningSerializable);
}

Expand All @@ -39,9 +41,10 @@ public <T> T serialize(Object obj, Class<T> clazz) {
return (T) serializable.deserialize(obj);
}

@SuppressWarnings("unchecked")
public Object deserialize(Object obj) {
LightningSerializable serializable = findSerializable(obj.getClass());
Valid.checkBoolean(serializable != null, "No serializable found for '" + obj.getClass().getSimpleName() + "'");
return serializable.serialize();
return serializable.serialize(obj);
}
}

0 comments on commit 06f676c

Please sign in to comment.