org.springframework.data.relational.core.mapping.event

## Interface BeforeSaveCallback<T>

All Superinterfaces:
  EntityCallback<T>

Functional Interface:
  This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

    @FunctionalInterface
    public interface BeforeSaveCallback<T>
    extends EntityCallback<T>

An `EntityCallback` that gets invoked before changes are applied to the database, after the aggregate was converted to a database change.

Since:
  1.1
Author:
  Jens Schauder, Mark Paluch

### Method Summary

All Methods Instance Methods Abstract Methods
`T` `onBeforeSave(T aggregate, MutableAggregateChange<T> aggregateChange)` Entity callback method invoked before an aggregate root is saved.

### Method Detail

#### onBeforeSave

    T onBeforeSave(T aggregate,
                   MutableAggregateChange<T> aggregateChange)

Entity callback method invoked before an aggregate root is saved. Can return either the same or a modified instance of the aggregate and can modify `MutableAggregateChange` contents. This method is called after converting the `aggregate` to `MutableAggregateChange`. Changes to the aggregate are not taken into account for saving. Use the `BeforeConvertCallback` to change the persistent the entity before being converted.

Parameters:
  `aggregate` - the aggregate.
  `aggregateChange` - the associated `MutableAggregateChange`.
Returns:
  the aggregate object to be persisted.