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% */ /** * Represents summary data for a feed and Batch Job Execution status */ public interface FeedSummary { /** * Return the feed name */ String getFeed(); /** * Return the state of the feed (Waiting, Running) */ String getState(); /** * Return the last Feed status */ String getLastStatus(); /** * flag indicating if the job is idle/waiting * * @return true if waiting, false if not */ boolean isWaiting(); /** * flag to indicate if the job is running * * @return true if the job is running , false if not */ boolean isRunning(); /** * return the time since this feed finished * * @return the time in millis since the feed has last finished */ Long getTimeSinceEndTime(); /** * format the millis to a readable time * * @return a formatted time of the {@link this#getTimeSinceEndTime()} */ String formatTimeMinSec(Long millis); /** * Return a formatted string of the {@link this#getTimeSinceEndTime()} * * @return a formatted string of the {@link this#getTimeSinceEndTime()} */ String getTimeSinceEndTimeString(); /** * Return time, in millis, of the run time for the last job of this feed * * @return time, in millis, of the run time for the last job of this feed */ Long getRunTime(); /** * Return a formatted string of the {@link this#getRunTime()} * * @return a formatted string of the {@link this#getRunTime()} */ String getRunTimeString(); /** * Return the average completion time, in millis, for the jobs on this feed * * @return the average completion time, in millis, for the jobs on this feed */ Long getAvgCompleteTime(); /** * Return a formatted string of the {@link this#getAvgCompleteTime()} */ String getAvgCompleteTimeString(); /** * Return boolean if this feed is healthy * * @return true if healthy, false if not */ boolean isHealthy(); /** * Return the last exit code on from the last job execution for this feed * * @return the last exit code on from the last job execution for this feed */ String getLastExitCode(); /** * Return the FeedHealth object for this feed * * @return the FeedHealth object for this feed */ FeedHealth getFeedHealth(); }