001package org.crsh.shell.impl.command;
002
003import org.crsh.shell.ShellProcessContext;
004import org.crsh.shell.ShellResponse;
005import org.crsh.text.Text;
006
007import java.io.IOException;
008
009/**
010* @author Julien Viet
011*/
012class 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}