Interface RecordRemix<R extends Record>

All Known Implementing Classes:
RecordRemixImpl

public interface RecordRemix<R extends Record>
  • Method Details

    • blank

      void blank​(Consumer<RecordBuilder<R>> builder)
      Defines a global blank record that will be used as a basis when creating a new builder using Records.builder(Class).
    • copy

      void copy​(Consumer<RecordOperations<R>> operations)
      Defines the operations that should be performed when copying a record instance using Records.copy(Record) and Records.structuralCopy(Class, Record)

      If the copy operations should be different, override this method to explicitly specify copy operations.

      Otherwise, the get(Consumer) and assign(Consumer) are used to determine the copy operations.

    • get

      void get​(Consumer<RecordOperations<R>> operations)
      Adding a get operation to a record component specifies that an operation should be performed when calling the accessor of the associated record component.

      Requires the record component to be wrapped using either Wrapped, Mutable or one of its primitive equivalents.

    • assign

      void assign​(Consumer<RecordOperations<R>> operations)
      Adding a assign operation to a record component specifies that an operation should be performed when assigning a value to the associated record component.

      Assignment is defined as the initial value assignment in the constructor and the assignment using Records.set(LambdaSupport.MutableSupplier, Object) if the record component is made mutable by using Mutable.

      Requires the record component to be wrapped using either Wrapped, Mutable or one of its primitive equivalents.

    • set

      void set​(Consumer<RecordOperations<R>> operations)
      Adding a set operation to a record component specifies that an operation should be performed when setting the value of the associated record component using Records.set(LambdaSupport.MutableSupplier, Object)

      If the actions performed for the constructor assignment and setter assignment should be different, override this method to explicitly specify setter operations.

      Otherwise, assign(Consumer) is used to determine the setter operations.