mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-22 01:11:42 +00:00
[commands] Add until() as alias for withInterrupt() (#3981)
This is a clearer description for the functionality. Will deprecate withInterrupt next year.
This commit is contained in:
@@ -91,10 +91,29 @@ public interface Command {
|
||||
* @param condition the interrupt condition
|
||||
* @return the command with the interrupt condition added
|
||||
*/
|
||||
default ParallelRaceGroup withInterrupt(BooleanSupplier condition) {
|
||||
default ParallelRaceGroup until(BooleanSupplier condition) {
|
||||
return raceWith(new WaitUntilCommand(condition));
|
||||
}
|
||||
|
||||
/**
|
||||
* Decorates this command with an interrupt condition. If the specified condition becomes true
|
||||
* before the command finishes normally, the command will be interrupted and un-scheduled. Note
|
||||
* that this only applies to the command returned by this method; the calling command is not
|
||||
* itself changed.
|
||||
*
|
||||
* <p>Note: This decorator works by composing this command within a CommandGroup. The command
|
||||
* cannot be used independently after being decorated, or be re-decorated with a different
|
||||
* decorator, unless it is manually cleared from the list of grouped commands with {@link
|
||||
* CommandGroupBase#clearGroupedCommand(Command)}. The decorated command can, however, be further
|
||||
* decorated without issue.
|
||||
*
|
||||
* @param condition the interrupt condition
|
||||
* @return the command with the interrupt condition added
|
||||
*/
|
||||
default ParallelRaceGroup withInterrupt(BooleanSupplier condition) {
|
||||
return until(condition);
|
||||
}
|
||||
|
||||
/**
|
||||
* Decorates this command with a runnable to run before this command starts.
|
||||
*
|
||||
|
||||
@@ -9,7 +9,7 @@ import edu.wpi.first.wpilibj.Notifier;
|
||||
/**
|
||||
* A command that starts a notifier to run the given runnable periodically in a separate thread. Has
|
||||
* no end condition as-is; either subclass it or use {@link Command#withTimeout(double)} or {@link
|
||||
* Command#withInterrupt(java.util.function.BooleanSupplier)} to give it one.
|
||||
* Command#until(java.util.function.BooleanSupplier)} to give it one.
|
||||
*
|
||||
* <p>WARNING: Do not use this class unless you are confident in your ability to make the executed
|
||||
* code thread-safe. If you do not know what "thread-safe" means, that is a good sign that you
|
||||
|
||||
@@ -10,8 +10,8 @@ import java.util.function.BooleanSupplier;
|
||||
|
||||
/**
|
||||
* A command that runs a Runnable continuously. Has no end condition as-is; either subclass it or
|
||||
* use {@link Command#withTimeout(double)} or {@link Command#withInterrupt(BooleanSupplier)} to give
|
||||
* it one. If you only wish to execute a Runnable once, use {@link InstantCommand}.
|
||||
* use {@link Command#withTimeout(double)} or {@link Command#until(BooleanSupplier)} to give it one.
|
||||
* If you only wish to execute a Runnable once, use {@link InstantCommand}.
|
||||
*
|
||||
* <p>This class is provided by the NewCommands VendorDep
|
||||
*/
|
||||
|
||||
@@ -10,7 +10,7 @@ import static edu.wpi.first.wpilibj.util.ErrorMessages.requireNonNullParam;
|
||||
* A command that runs a given runnable when it is initialized, and another runnable when it ends.
|
||||
* Useful for running and then stopping a motor, or extending and then retracting a solenoid. Has no
|
||||
* end condition as-is; either subclass it or use {@link Command#withTimeout(double)} or {@link
|
||||
* Command#withInterrupt(java.util.function.BooleanSupplier)} to give it one.
|
||||
* Command#until(java.util.function.BooleanSupplier)} to give it one.
|
||||
*
|
||||
* <p>This class is provided by the NewCommands VendorDep
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user