[commands] Add finallyDo with zero-arg lambda (#5862)

This commit is contained in:
shueja-personal
2023-11-03 15:21:21 -07:00
committed by GitHub
parent 1c35d42cd0
commit 8a3a268ae6
5 changed files with 46 additions and 0 deletions

View File

@@ -423,6 +423,18 @@ public abstract class Command implements Sendable {
};
}
/**
* Decorates this command with a lambda to call on interrupt or end, following the command's
* inherent {@link #end(boolean)} method. The provided lambda will run identically in both
* interrupt and end cases.
*
* @param end a lambda to run when the command ends, whether or not it was interrupted.
* @return the decorated command
*/
public WrapperCommand finallyDo(Runnable end) {
return finallyDo(interrupted -> end.run());
}
/**
* Decorates this command with a lambda to call on interrupt, following the command's inherent
* {@link #end(boolean)} method.