Package edu.wpi.first.wpilibj2.command
Class CommandBase
java.lang.Object
edu.wpi.first.wpilibj2.command.CommandBase
- Direct Known Subclasses:
CommandGroupBase,ConditionalCommand,FunctionalCommand,InstantCommand,MecanumControllerCommand,NotifierCommand,PerpetualCommand,PIDCommand,ProfiledPIDCommand,ProxyScheduleCommand,RamseteCommand,RunCommand,ScheduleCommand,SelectCommand,StartEndCommand,SwerveControllerCommand,TrapezoidProfileCommand,WaitCommand,WaitUntilCommand
public abstract class CommandBase extends Object implements Sendable, Command
-
Field Summary
Fields Modifier and Type Field Description protected Set<Subsystem>m_requirements -
Constructor Summary
Constructors Modifier Constructor Description protectedCommandBase() -
Method Summary
Modifier and Type Method Description voidaddRequirements(Subsystem... requirements)Adds the specified requirements to the command.StringgetName()Gets the name of this Command.Set<Subsystem>getRequirements()Specifies the set of subsystems used by this command.StringgetSubsystem()Gets the subsystem name of this Command.voidinitSendable(SendableBuilder builder)Initializes this sendable.voidsetName(String name)Sets the name of this Command.voidsetSubsystem(String subsystem)Sets the subsystem name of this Command.CommandBasewithName(String name)Decorates this Command with a name.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface edu.wpi.first.wpilibj2.command.Command
alongWith, andThen, andThen, asProxy, beforeStarting, beforeStarting, cancel, deadlineWith, end, execute, hasRequirement, initialize, isFinished, isScheduled, perpetually, raceWith, runsWhenDisabled, schedule, schedule, withInterrupt, withTimeout
-
Field Details
-
Constructor Details
-
CommandBase
protected CommandBase()
-
-
Method Details
-
addRequirements
Adds the specified requirements to the command.- Parameters:
requirements- the requirements to add
-
getRequirements
Description copied from interface:CommandSpecifies the set of subsystems used by this command. Two commands cannot use the same subsystem at the same time. If the command is scheduled as interruptible and another command is scheduled that shares a requirement, the command will be interrupted. Else, the command will not be scheduled. If no subsystems are required, return an empty set.Note: it is recommended that user implementations contain the requirements as a field, and return that field here, rather than allocating a new set every time this is called.
- Specified by:
getRequirementsin interfaceCommand- Returns:
- the set of subsystems that are required
-
getName
Description copied from interface:CommandGets the name of this Command. -
setName
Sets the name of this Command.- Parameters:
name- name
-
withName
Decorates this Command with a name. Is an inline function for #setName(String);- Parameters:
name- name- Returns:
- the decorated Command
-
getSubsystem
Gets the subsystem name of this Command.- Returns:
- Subsystem name
-
setSubsystem
Sets the subsystem name of this Command.- Parameters:
subsystem- subsystem name
-
initSendable
Initializes this sendable. Useful for allowing implementations to easily extend SendableBase.- Specified by:
initSendablein interfaceSendable- Parameters:
builder- the builder used to construct this sendable
-