Package ch.njol.skript.classes.registry
Class RegistrySerializer<R extends Keyed>
java.lang.Object
ch.njol.yggdrasil.YggdrasilSerializer<R>
ch.njol.skript.classes.Serializer<R>
ch.njol.skript.classes.registry.RegistrySerializer<R>
- Type Parameters:
R- Registry class
- All Implemented Interfaces:
ClassResolver
Serializer for
RegistryClassInfo-
Field Summary
Fields inherited from class ch.njol.skript.classes.Serializer
info -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanReturns whether the class should be instantiated using its nullary constructor or not.protected Rdeserialize(Fields fields) Used to deserialise Bukkit objects and other stuff that cannot be instantiated, e.g.booleanNot currently used (everything happens on Bukkit's main thread).@NotNull FieldsSerialises the given object.Methods inherited from class ch.njol.skript.classes.Serializer
canBeInstantiated, deserialize, deserialize, deserialize, getClass, getID, newInstance
-
Constructor Details
-
RegistrySerializer
-
-
Method Details
-
serialize
Description copied from class:SerializerSerialises the given object.Use return new
Fields(this); to emulate the default behaviour.This method must be thread-safe. Use
Task.callSync(Callable)if you need to serialise on Bukkit's main thread.- Specified by:
serializein classSerializer<R extends Keyed>- Parameters:
o- The object to serialise- Returns:
- A Fields object representing the object's fields to serialise. Must not be null.
-
deserialize
Description copied from class:SerializerUsed to deserialise Bukkit objects and other stuff that cannot be instantiated, e.g. a plugin may and should not create a new instance ofWorld, but useBukkit.getWorld(String)to get an existing world object.- Overrides:
deserializein classSerializer<R extends Keyed>- Parameters:
fields- The Fields object that holds the information about the serialised object- Returns:
- The deserialised object. Must not be null (throw an exception instead).
- Throws:
StreamCorruptedException- If the given data is invalid or incomplete
-
mustSyncDeserialization
public boolean mustSyncDeserialization()Description copied from class:SerializerNot currently used (everything happens on Bukkit's main thread).- Specified by:
mustSyncDeserializationin classSerializer<R extends Keyed>- Returns:
- Whether deserialisation must be done on Bukkit's main thread.
-
canBeInstantiated
protected boolean canBeInstantiated()Description copied from class:SerializerReturns whether the class should be instantiated using its nullary constructor or not. Return false if the class has no nullary constructor or if you do not have control over the source of the class (e.g. if it's from an API).You must override and use
Serializer.deserialize(Fields)if this method returns false (Serializer.deserialize(Object, Fields)will no be used anymore in this case).- Specified by:
canBeInstantiatedin classSerializer<R extends Keyed>
-