All Downloads are FREE. Search and download functionalities are using the official Maven repository.

xyz.cofe.ipc.process.ProcessResult Maven / Gradle / Ivy

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();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy