package com.thinkbiganalytics.jobrepo.query.model; /*- * #%L * thinkbig-job-repository-api * %% * Copyright (C) 2017 ThinkBig Analytics * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * #L% */ import org.joda.time.DateTime; import java.util.Map; /** * Represents a Step Execution that is part of a {@link ExecutedJob}, usually transformed from the domain {@link com.thinkbiganalytics.metadata.api.jobrepo.step.BatchStepExecution} */ public interface ExecutedStep { /** * Return the display name for this step * * @return the name for this step */ String getStepName(); /** * set the name of this step */ void setStepName(String stepName); /** * Return the status of this step * * @return the step status */ ExecutionStatus getStatus(); /** * set the status of this step */ void setStatus(ExecutionStatus status); /** * Return the time this step was started * * @return the time the step was started */ DateTime getStartTime(); /** * set the starttime */ void setStartTime(DateTime startTime); /** * Return the time this step was completed * * @return the end time of this step */ DateTime getEndTime(); /** * set the endtime for this step */ void setEndTime(DateTime endTime); /** * Return the time this step was last updated * * @return the last update time for this step */ DateTime getLastUpdateTime(); /** * set the time this step was last updated */ void setLastUpdateTime(DateTime lastUpdateTime); /** * Return a map holding any values saved during this step execution * * @return a map indicating values/what happened during this step execution */ Map<String, Object> getExecutionContext(); /** * set the step execution context */ void setExecutionContext(Map<String, Object> executionContext); /** * Return the ExitCode for this step */ String getExitCode(); /** * set the exit code for this step */ void setExitCode(String exitCode); /** * Return a message describing what happened during this step execution * * @return a message describing this step execution */ String getExitDescription(); /** * set the step exit description message */ void setExitDescription(String exitDescription); /** * Return the id representing this step. This is the Primary key for this step */ long getId(); /** * set the id for this step */ void setId(long id); /** * Return the version number for this step indicating if any updates were done on the step and how many. */ int getVersion(); /** * set the current version of this step */ void setVersion(int version); /** * Return the runtime, in millis, for this step execution */ Long getRunTime(); /** * set the runtime, in millis, for this step execution */ void setRunTime(Long runtime); /** * return the time, in millis, since the time step ended */ Long getTimeSinceEndTime(); /** * set the time, in millis, since the time this step ended */ void setTimeSinceEndTime(Long timeSinceEndTime); /** * Return a flag indicating if this step is executing or not * * @return true if the step is still running, false if not */ public boolean isRunning(); /** * set the flag to indicate if this step is running */ public void setRunning(boolean running); /** * Return the reference to the respective NiFi event that produced this step * * @return the id of the NiFi event that produced this step */ Long getNifiEventId(); /** * set the reference to the respective NiFi event that produced this step */ void setNifiEventId(Long nifiEventId); }