001 /** 002 * Copyright (c) 2010 Yahoo! Inc. All rights reserved. 003 * Licensed under the Apache License, Version 2.0 (the "License"); 004 * you may not use this file except in compliance with the License. 005 * You may obtain a copy of the License at 006 * 007 * http://www.apache.org/licenses/LICENSE-2.0 008 * 009 * Unless required by applicable law or agreed to in writing, software 010 * distributed under the License is distributed on an "AS IS" BASIS, 011 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 012 * See the License for the specific language governing permissions and 013 * limitations under the License. See accompanying LICENSE file. 014 */ 015 package org.apache.oozie.client; 016 017 import java.util.Date; 018 import java.util.List; 019 020 /** 021 * Bean that represents a workflow job. 022 */ 023 public interface WorkflowJob { 024 025 /** 026 * Defines the possible stati of a workflow. 027 */ 028 public static enum Status { 029 PREP, RUNNING, SUCCEEDED, KILLED, FAILED, SUSPENDED 030 } 031 032 //add NAME 033 034 /** 035 * Return the path to the workflow application for the workflow job. 036 * 037 * @return the path to the workflow application for the workflow job. 038 */ 039 String getAppPath(); 040 041 /** 042 * Return the name of the workflow application (from the workflow definition). 043 * 044 * @return the name of the workflow application. 045 */ 046 String getAppName(); 047 048 /** 049 * Return the workflow job ID. 050 * 051 * @return the workflow job ID. 052 */ 053 String getId(); 054 055 /** 056 * Return the job configuration. 057 * 058 * @return the job configuration. 059 */ 060 String getConf(); 061 062 /** 063 * Return the workflow job status. 064 * 065 * @return the workflow job status. 066 */ 067 Status getStatus(); 068 069 /** 070 * Return the workflow job last modified time. 071 * 072 * @return the workflow job last modified time. 073 */ 074 Date getLastModifiedTime(); 075 076 /** 077 * Return the workflow job creation time. 078 * 079 * @return the workflow job creation time. 080 */ 081 Date getCreatedTime(); 082 083 /** 084 * Return the workflow job start time. 085 * 086 * @return the workflow job start time. 087 */ 088 Date getStartTime(); 089 090 /** 091 * Return the workflow job end time. 092 * 093 * @return the workflow job end time. 094 */ 095 Date getEndTime(); 096 097 /** 098 * Return the workflow job user owner. 099 * 100 * @return the workflow job user owner. 101 */ 102 String getUser(); 103 104 /** 105 * Return the workflow job group. 106 * 107 * @return the workflow job group. 108 */ 109 String getGroup(); 110 111 /** 112 * Return the workflow job run number. <p/> Except for reruns, this property is always 1. 113 * 114 * @return the workflow job run number. 115 */ 116 int getRun(); 117 118 /** 119 * Return the workflow job console URL. 120 * 121 * @return the workflow job console URL. 122 */ 123 String getConsoleUrl(); 124 125 /** 126 * Return the workflow nodes that already executed and are executing. 127 * 128 * @return the workflow nodes that already executed and are executing. 129 */ 130 List<WorkflowAction> getActions(); 131 132 }