Package xbot.common.command
Class BaseParallelDeadlineGroup
java.lang.Object
edu.wpi.first.wpilibj2.command.Command
xbot.common.command.BaseParallelDeadlineGroup
- All Implemented Interfaces:
Sendable
A command composition that runs a set of commands in parallel, ending only when a specific
command (the "deadline") ends, interrupting all other commands that are still running at that
point.
The rules for command compositions apply: command instances that are passed to it cannot be added to any other composition or scheduled individually, and the composition requires all subsystems its components require.
This class is provided by the NewCommands VendorDep
-
Nested Class Summary
Nested classes/interfaces inherited from class edu.wpi.first.wpilibj2.command.Command
Command.InterruptionBehavior
-
Constructor Summary
ConstructorsConstructorDescriptionBaseParallelDeadlineGroup
(Command deadline, Command... otherCommands) Creates a new ParallelDeadlineGroup. -
Method Summary
Modifier and TypeMethodDescriptionfinal void
addCommands
(Command... commands) Adds the given commands to the group.final void
end
(boolean interrupted) final void
execute()
final void
void
initSendable
(SendableBuilder builder) final boolean
boolean
final void
setDeadline
(Command deadline) Sets the deadline to the given command.Methods inherited from class edu.wpi.first.wpilibj2.command.Command
addRequirements, addRequirements, alongWith, andThen, andThen, asProxy, beforeStarting, beforeStarting, cancel, deadlineFor, deadlineWith, finallyDo, finallyDo, getName, getRequirements, getSubsystem, handleInterrupt, hasRequirement, ignoringDisable, isScheduled, onlyIf, onlyWhile, raceWith, repeatedly, schedule, setName, setSubsystem, unless, until, withDeadline, withInterruptBehavior, withName, withTimeout, withTimeout
-
Constructor Details
-
BaseParallelDeadlineGroup
Creates a new ParallelDeadlineGroup. The given commands, including the deadline, will be executed simultaneously. The composition will finish when the deadline finishes, interrupting all other still-running commands. If the composition is interrupted, only the commands still running will be interrupted.- Parameters:
deadline
- the command that determines when the composition endsotherCommands
- the other commands to be executed- Throws:
IllegalArgumentException
- if the deadline command is also in the otherCommands argument
-
-
Method Details
-
setDeadline
Sets the deadline to the given command. The deadline is added to the group if it is not already contained.- Parameters:
deadline
- the command that determines when the group ends- Throws:
IllegalArgumentException
- if the deadline command is already in the composition
-
addCommands
Adds the given commands to the group.- Parameters:
commands
- Commands to add to the group.
-
initialize
public final void initialize()- Overrides:
initialize
in classCommand
-
execute
public final void execute() -
end
public final void end(boolean interrupted) -
isFinished
public final boolean isFinished()- Overrides:
isFinished
in classCommand
-
runsWhenDisabled
public boolean runsWhenDisabled()- Overrides:
runsWhenDisabled
in classCommand
-
getInterruptionBehavior
- Overrides:
getInterruptionBehavior
in classCommand
-
initSendable
- Specified by:
initSendable
in interfaceSendable
- Overrides:
initSendable
in classCommand
-