001 package org.crsh.shell.impl.command;
002
003 import org.crsh.shell.ShellProcessContext;
004 import org.crsh.shell.ShellResponse;
005 import org.crsh.text.Text;
006
007 import java.io.IOException;
008
009 /**
010 * @author Julien Viet
011 */
012 class CRaSHResponseProcess extends CRaSHProcess {
013
014 /** . */
015 private final StringBuilder msg;
016
017 /** . */
018 private final ShellResponse response;
019
020 public CRaSHResponseProcess(CRaSHSession session, String request, StringBuilder msg, ShellResponse response) {
021 super(session, request);
022
023 //
024 this.msg = msg;
025 this.response = response;
026 }
027
028 @Override
029 ShellResponse doInvoke(ShellProcessContext context) throws InterruptedException {
030 if (msg.length() > 0) {
031 try {
032 context.write(Text.create(msg));
033 }
034 catch (IOException ignore) {
035 }
036 }
037 return response;
038 }
039 }