Class RecordDeserializer.Builder<R extends Record>

java.lang.Object
dev.siroshun.configapi.serialization.record.RecordDeserializer.Builder<R>
Type Parameters:
R - the type of the Record
Enclosing class:
RecordDeserializer<R extends Record>

public static final class RecordDeserializer.Builder<R extends Record> extends Object
  • Method Details

    • addDeserializer

      @Contract("_, _ -> this") @NotNull public <T> @NotNull RecordDeserializer.Builder<R> addDeserializer(@NotNull @NotNull Class<T> clazz, @NotNull @NotNull dev.siroshun.serialization.core.Deserializer<? super Node<?>,? extends T> deserializer)
      Adds a Deserializer for the specifies Class.
      Type Parameters:
      T - a type of objects after deserialization
      Parameters:
      clazz - a type of objects after deserialization
      deserializer - a Deserializer
      Returns:
      this RecordDeserializer.Builder instance
    • addDeserializers

      @Contract("_ -> this") @NotNull public @NotNull RecordDeserializer.Builder<R> addDeserializers(@NotNull @NotNull dev.siroshun.serialization.core.registry.DeserializerRegistry<Node<?>> registry)
      Adds Deserializers in the DeserializerRegistry.
      Parameters:
      registry - a DeserializerRegistry that contains Deserializers to register
      Returns:
      this RecordDeserializer.Builder instance
    • keyGenerator

      @Contract("_ -> this") @NotNull public @NotNull RecordDeserializer.Builder<R> keyGenerator(@NotNull @NotNull dev.siroshun.serialization.core.key.KeyGenerator keyGenerator)
      Sets the KeyGenerator.
      Parameters:
      keyGenerator - the KeyGenerator to generate keys
      Returns:
      this RecordDeserializer.Builder instance
    • build

      @Contract(value="-> new", pure=true) @NotNull public @NotNull RecordDeserializer<R> build()
      Returns:
      a RecordDeserializer