1 /* 2 * Copyright 2006-2007 the original author or authors. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package org.springframework.batch.admin.service; 17 18 import java.util.Collection; 19 20 import org.springframework.batch.core.StepExecution; 21 import org.springframework.batch.core.repository.dao.StepExecutionDao; 22 23 /** 24 * Extension of the {@link StepExecutionDao} interface to add additional search 25 * features. 26 * 27 * @author Dave Syer 28 * 29 */ 30 public interface SearchableStepExecutionDao extends StepExecutionDao { 31 32 /** 33 * Find all the names of steps that have been executed as part of this job. 34 * Implementations should remove step names matching the pattern provided. 35 * 36 * @param jobName 37 * the name of the job to search for 38 * @param excludesPattern 39 * a pattern for step names to exclude 40 * @return the names of step executions from job executions in the 41 * repository 42 */ 43 Collection<String> findStepNamesForJobExecution(String jobName, 44 String excludesPattern); 45 46 /** 47 * Find all the step executions for a given step name, or step name pattern 48 * (with wildcards specified as '*') sorted in descending order of id. 49 * @param jobName the job name or pattern 50 * @param stepName 51 * the step name or pattern 52 * @param start 53 * the start index of the step executions to return 54 * @param count 55 * the maximum number of step executions to return 56 * 57 * @return a collection of step executions 58 */ 59 Collection<StepExecution> findStepExecutions(String jobName, String stepName, 60 int start, int count); 61 62 /** 63 * Count all the step executions for a given step name pattern. 64 * @param jobName the job name pattern 65 * @param stepName the step name pattern. 66 * 67 * @return the total number of step executions in the repository matching the pattern 68 */ 69 int countStepExecutions(String jobName, String stepName); 70 }