Some articles suggest
that now build()
is included in perform()
itself, while others suggest
that build().perform()
is used when multi
build()
is included in perform()
, you can see it in the source code
public void perform() {
build().perform();
}
The perform()
inside the methods calls the perform()
method in the inner class BuiltAction
.
Calling build().perform()
in your code is actually calling build()
twice, build().build().perform()
.
build
Generates a composite action containing all actions so far, ready to be performed (and resets the internal builder state, so subsequent calls to build() will contain fresh sequences).
performe
A convenience method for performing the actions without calling build() first.
This is little misleading (IMO), because build()
is being called, even if implicitly.
build()
method in Actions class is use to create chain of action or operation you want to perform.
perform()
this method in Actions Class is use to execute chain of action which are build using Action build method.
build().perform()
= create chain of actions + execute
build() - Generates a composite action containing all actions so far, ready to be performed (and resets the internal builder state, so subsequent calls to build() will contain fresh sequences).
perform() A convenience method for performing the actions without calling build() first.
So, whenever going for composite actions (multiple actions) use build().perform(), else perform().