package com.supaham.commons.bukkit.serializers; import com.supaham.commons.bukkit.utils.VectorUtils; import org.bukkit.util.Vector; 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 Vector} serializer that simply calls {@link VectorUtils#serialize(Vector)} in return. * * @since 0.1 */ public class VectorSerializer implements Serializer<Vector> { @Nullable @Override public Object serialize(@Nullable Vector object, @Nonnull SerializerSet serializerSet) { return object == null ? null : VectorUtils.serialize(object); } @Nullable @Override public Vector deserialize(@Nullable Object serialized, @NotNull Class wantedType, @Nonnull SerializerSet serializerSet) throws IllegalArgumentException { return serialized == null ? null : VectorUtils.deserialize(serialized.toString()); } }