Package org.flywaydb.core.api.callback
Interface GenericCallback<E extends CallbackEvent<E>>
- Type Parameters:
E- The callback event type
- All Known Subinterfaces:
Callback
- All Known Implementing Classes:
BaseCallback
public interface GenericCallback<E extends CallbackEvent<E>>
Generic version of the CallbackEvent interface, allowing for additional events defined outside core
-
Method Summary
Modifier and TypeMethodDescriptionbooleancanHandleInTransaction(E event, Context context) Whether this event can be handled in a transaction or whether it must be handled outside a transaction instead.The callback name, Flyway will use this to sort the callbacks alphabetically before executing themvoidHandles this Flyway lifecycle event.booleanWhether this callback supports this event or not.
-
Method Details
-
supports
Whether this callback supports this event or not. This is primarily meant as a way to optimize event handling by avoiding unnecessary connection state setups for events that will not be handled anyway.- Parameters:
event- The event to check.context- The context for this event.- Returns:
trueif it can be handled,falseif not.
-
canHandleInTransaction
Whether this event can be handled in a transaction or whether it must be handled outside a transaction instead. In the vast majority of the cases the answer will betrue. Only in the rare cases where non-transactional statements are executed should this returnfalse. This method is called beforehandle(E, Context)in order to determine in advance whether a transaction can be used or not.- Parameters:
event- The event to check.context- The context for this event.- Returns:
trueif it can be handled within a transaction (almost all cases).falseif it must be handled outside a transaction instead (very rare).
-
handle
Handles this Flyway lifecycle event.- Parameters:
event- The event to handle.context- The context for this event.
-
getCallbackName
String getCallbackName()The callback name, Flyway will use this to sort the callbacks alphabetically before executing them- Returns:
- The callback name
-