1 /* 2 * Copyright (C) 2010 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package com.android.tradefed.util; 17 18 19 /** 20 * Contains the result of a command. 21 */ 22 public class CommandResult { 23 24 private CommandStatus mCmdStatus = CommandStatus.TIMED_OUT; 25 private String mStdout = null; 26 private String mStderr = null; 27 private Integer mExitCode = null; 28 29 /** 30 * Create a {@link CommandResult} with the default {@link CommandStatus#TIMED_OUT} status. 31 */ CommandResult()32 public CommandResult() { 33 } 34 35 /** 36 * Create a {@link CommandResult} with the given status. 37 * 38 * @param status the {@link CommandStatus} 39 */ CommandResult(CommandStatus status)40 public CommandResult(CommandStatus status) { 41 mCmdStatus = status; 42 } 43 44 /** 45 * Get status of command. 46 * 47 * @return the {@link CommandStatus} 48 */ getStatus()49 public CommandStatus getStatus() { 50 return mCmdStatus; 51 } 52 setStatus(CommandStatus status)53 public void setStatus(CommandStatus status) { 54 mCmdStatus = status; 55 } 56 57 /** 58 * Get the standard output produced by command. 59 * 60 * @return the standard output or <code>null</code> if output could not be retrieved 61 */ getStdout()62 public String getStdout() { 63 return mStdout; 64 } 65 setStdout(String stdout)66 public void setStdout(String stdout) { 67 mStdout = stdout; 68 } 69 70 /** 71 * Get the standard error output produced by command. 72 * 73 * @return the standard error or <code>null</code> if output could not be retrieved 74 */ getStderr()75 public String getStderr() { 76 return mStderr; 77 } 78 setStderr(String stderr)79 public void setStderr(String stderr) { 80 mStderr = stderr; 81 } 82 83 /** 84 * Get the exit/return code produced by command. 85 * 86 * @return the exit code or <code>null</code> if it is unset 87 */ getExitCode()88 public Integer getExitCode() { 89 return mExitCode; 90 } 91 setExitCode(int exitCode)92 public void setExitCode(int exitCode) { 93 mExitCode = exitCode; 94 } 95 96 /** Returns a string representation of this object. Stdout/err can be very large. */ 97 @Override toString()98 public String toString() { 99 return String.format( 100 "CommandResult: exit code=%d, out=%s, err=%s", mExitCode, mStdout, mStderr); 101 } 102 } 103