Class CommandBase

    • Field Detail

    • Constructor Detail

      • CommandBase

        protected CommandBase()
    • Method Detail

      • addRequirements

        public final void addRequirements​(Subsystem... requirements)
        Adds the specified requirements to the command.
        Parameters:
        requirements - the requirements to add
      • getRequirements

        public Set<Subsystem> getRequirements()
        Description copied from interface: Command
        Specifies 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:
        getRequirements in interface Command
        Returns:
        the set of subsystems that are required
      • setName

        public void setName​(String name)
        Sets the name of this Command.
        Specified by:
        setName in interface Sendable
        Parameters:
        name - name
      • withName

        public Command withName​(String name)
        Decorates this Command with a name. Is an inline function for #setName(String);
        Parameters:
        name - name
        Returns:
        the decorated Command
      • getSubsystem

        public String getSubsystem()
        Gets the subsystem name of this Command.
        Specified by:
        getSubsystem in interface Sendable
        Returns:
        Subsystem name
      • setSubsystem

        public void setSubsystem​(String subsystem)
        Sets the subsystem name of this Command.
        Specified by:
        setSubsystem in interface Sendable
        Parameters:
        subsystem - subsystem name
      • initSendable

        public void initSendable​(SendableBuilder builder)
        Initializes this sendable. Useful for allowing implementations to easily extend SendableBase.
        Specified by:
        initSendable in interface Sendable
        Parameters:
        builder - the builder used to construct this sendable