package co.smartreceipts.android.persistence.database.controllers; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import java.util.List; import co.smartreceipts.android.persistence.database.operations.DatabaseOperationMetadata; public interface TableEventsListener<T> { void onGetSuccess(@NonNull List<T> list); void onGetFailure(@Nullable Throwable e); void onInsertSuccess(@NonNull T t, @NonNull DatabaseOperationMetadata databaseOperationMetadata); void onInsertFailure(@NonNull T t, @Nullable Throwable e, @NonNull DatabaseOperationMetadata databaseOperationMetadata); void onUpdateSuccess(@NonNull T oldT, @NonNull T newT, @NonNull DatabaseOperationMetadata databaseOperationMetadata); void onUpdateFailure(@NonNull T oldT, @Nullable Throwable e, @NonNull DatabaseOperationMetadata databaseOperationMetadata); void onDeleteSuccess(@NonNull T t, @NonNull DatabaseOperationMetadata databaseOperationMetadata); void onDeleteFailure(@NonNull T t, @Nullable Throwable e, @NonNull DatabaseOperationMetadata databaseOperationMetadata); }