xyz.cofe.ipc.process.ProcessResult Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ipc Show documentation
Show all versions of ipc Show documentation
Interprocess communications
The newest version!
/*
* The MIT License
*
* Copyright 2014 Kamnev Georgiy ([email protected]).
*
* Данная лицензия разрешает, безвозмездно, лицам, получившим копию данного программного
* обеспечения и сопутствующей документации (в дальнейшем именуемыми "Программное Обеспечение"),
* использовать Программное Обеспечение без ограничений, включая неограниченное право на
* использование, копирование, изменение, объединение, публикацию, распространение, сублицензирование
* и/или продажу копий Программного Обеспечения, также как и лицам, которым предоставляется
* данное Программное Обеспечение, при соблюдении следующих условий:
*
* Вышеупомянутый копирайт и данные условия должны быть включены во все копии
* или значимые части данного Программного Обеспечения.
*
* ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ ЛЮБОГО ВИДА ГАРАНТИЙ,
* ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ,
* СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И НЕНАРУШЕНИЯ ПРАВ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ
* ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО ИСКАМ О ВОЗМЕЩЕНИИ УЩЕРБА, УБЫТКОВ
* ИЛИ ДРУГИХ ТРЕБОВАНИЙ ПО ДЕЙСТВУЮЩИМ КОНТРАКТАМ, ДЕЛИКТАМ ИЛИ ИНОМУ, ВОЗНИКШИМ ИЗ, ИМЕЮЩИМ
* ПРИЧИНОЙ ИЛИ СВЯЗАННЫМ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
* ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.
*/
package xyz.cofe.ipc.process;
import java.util.Date;
/**
* Описывает результат вызова программы
* @author GoCha
*/
public class ProcessResult
{
private String stdout = null;
private String stderr = null;
private int exitCode = 0;
private Date startDate = null;
private Date endDate = null;
/**
* Конструктор
* @param stdout Резултат вывода процесса через стандартный поток
* @param stderr Резултат вывода процесса через поток ошибок
* @param exitCode Код выхода процесса
* @param startDate Дата/время начала процесса
* @param endDate Дата/время конца процесса
*/
public ProcessResult(String stdout, String stderr, int exitCode, Date startDate, Date endDate)
{
this.stdout = stdout;
this.stderr = stderr;
this.exitCode = exitCode;
this.startDate = startDate;
this.endDate = endDate;
}
/**
* Возвращает Дата/время конца процесса
* @return Дата/время конца процесса
*/
public Date getEndDate() {
return endDate;
}
/**
* Возвращает Код выхода процесса
* @return Код выхода процесса
*/
public int getExitCode() {
return exitCode;
}
/**
* Возвращает Дата/время начала процесса
* @return Дата/время начала процесса
*/
public Date getStartDate() {
return startDate;
}
/**
* Возвращает Резултат вывода процесса через поток ошибок
* @return Резултат вывода процесса через поток ошибок
*/
public String getStderr() {
return stderr;
}
/**
* Возвращает Резултат вывода процесса через стандартный поток
* @return Резултат вывода процесса через стандартный поток
*/
public String getStdout() {
return stdout;
}
/**
* Возвращает время выполнения процесса в милисекундах
* @return время выполнения процесса в милисекундах
*/
public long getExecutePeriod()
{
if( endDate==null || startDate==null )return -1;
return endDate.getTime() - startDate.getTime();
}
}