package com.supaham.commons.bukkit.serializers;
import com.supaham.commons.bukkit.utils.LocationUtils;
import org.bukkit.Location;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.annotation.Nonnull;
import pluginbase.config.serializers.Serializer;
import pluginbase.config.serializers.SerializerSet;
/**
* A {@link Location} serializer that simply calls {@link LocationUtils#serialize(Location)} in
* return.
*
* @since 0.1
*/
public class LocationSerializer implements Serializer<Location> {
@Nullable
@Override
public Object serialize(@Nullable Location object, @Nonnull SerializerSet serializerSet) {
if (object == null) {
return null;
}
return LocationUtils.serialize(object);
}
@Nullable
@Override
public Location deserialize(@Nullable Object serialized, @NotNull Class wantedType,
@Nonnull SerializerSet serializerSet)
throws IllegalArgumentException {
if (serialized == null) {
return null;
}
return LocationUtils.deserialize(serialized.toString());
}
}