1 /* 2 * Copyright 2002-2006 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.webflow.definition.registry; 17 18 import org.springframework.webflow.definition.FlowDefinition; 19 20 /** 21 * A runtime service locator interface for retrieving flow definitions by 22 * <code>id</code>. 23 * <p> 24 * Flow locators are needed by flow executors at runtime to retrieve 25 * fully-configured flow definitions to support launching new flow executions. 26 * 27 * @author Keith Donald 28 * @author Erwin Vervaet 29 */ 30 public interface FlowDefinitionLocator { 31 32 /** 33 * Lookup the flow definition with the specified <code>id</code>. 34 * @param id the flow definition id 35 * @return the flow definition 36 * @throws NoSuchFlowDefinitionException when the flow definition with the 37 * specified id does not exist 38 * @throws FlowDefinitionConstructionException if there is a problem constructing 39 * the identified flow definition 40 */ 41 public FlowDefinition getFlowDefinition(String id) 42 throws NoSuchFlowDefinitionException, FlowDefinitionConstructionException; 43 }