Integration action traits
As opposed to local action traits and extension action traits, integration action traits apply only to initializable and setupable objects. They are normally used for piping other actions at the end of the current one, if the current action is completed successfully.
They are similar to the extension action traits but have a few notable differences:
- Their methods are always prefixed with
- The methods are called after the extension traits.
- The methods can return a different exception type so, in case of failure, the result may be wrapped in an exception of the proper type.
- The integration traits inherit different corresponding traits.
Let's use as an example the default
InitializableTraitthat you can find here. If you check the
initializemethod, all the points above should be obvious by looking at the second
A good example of an integration trait is the
SetupOnInitializationTraitwhich automagically calls the
setupmethod of an object that initialized successfully and is also setupable.