001    /*----------------------------------------------------------------------------*/
002    /* Copyright (c) FIRST 2008-2012. All Rights Reserved.                        */
003    /* Open Source Software - may be modified and shared by FRC teams. The code   */
004    /* must be accompanied by the FIRST BSD license file in the root directory of */
005    /* the project.                                                               */
006    /*----------------------------------------------------------------------------*/
007    
008    package edu.wpi.first.wpilibj.command;
009    
010    /**
011     * A {@link PrintCommand} is a command which prints out a string when it is initialized, and then immediately finishes.
012     * It is useful if you want a {@link CommandGroup} to print out a string when it reaches a certain point.
013     *
014     * @author Joe Grinstead
015     */
016    public class PrintCommand extends Command {
017    
018        /** The message to print out */
019        private String message;
020    
021        /**
022         * Instantiates a {@link PrintCommand} which will print the given message when it is run.
023         * @param message the message to print
024         */
025        public PrintCommand(String message) {
026            super("Print(\"" + message + "\"");
027            this.message = message;
028        }
029    
030        protected void initialize() {
031            System.out.println(message);
032        }
033    
034        protected void execute() {
035        }
036    
037        protected boolean isFinished() {
038            return true;
039        }
040    
041        protected void end() {
042        }
043    
044        protected void interrupted() {
045        }
046    }