/* * Copyright 2004-2012 the original author or authors. * * 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. */ package org.springframework.webflow.engine.builder; import org.springframework.binding.convert.ConversionService; import org.springframework.binding.expression.ExpressionParser; import org.springframework.context.ApplicationContext; import org.springframework.validation.Validator; import org.springframework.webflow.core.collection.AttributeMap; import org.springframework.webflow.definition.registry.FlowDefinitionLocator; import org.springframework.webflow.validation.ValidationHintResolver; /** * Provides services needed to a direct a flow builder through building a flow definition. * @author Keith Donald */ public interface FlowBuilderContext { /** * Returns an externally configured flow definition identifier to assign to the flow being built. * @return the flow id */ public String getFlowId(); /** * Returns externally configured attributes to assign to the flow definition being built. * @return the flow attributes */ public AttributeMap<Object> getFlowAttributes(); /** * Returns the locator for locating dependent flows (subflows). * @return the flow definition locator */ public FlowDefinitionLocator getFlowDefinitionLocator(); /** * Returns the factory for core flow artifacts such as Flow and State. * @return the flow artifact factory */ public FlowArtifactFactory getFlowArtifactFactory(); /** * Returns a generic type conversion service for converting between types, typically from string to a rich value * object. * @return the generic conversion service */ public ConversionService getConversionService(); /** * Returns the view factory creator for configuring a ViewFactory per view state * @return the view factory creator */ public ViewFactoryCreator getViewFactoryCreator(); /** * Returns the expression parser for parsing expression strings. * @return the expression parser */ public ExpressionParser getExpressionParser(); /** * Returns the Validator instance to use for validating a model. * @return the validator */ public Validator getValidator(); /** * Return the {@link ValidationHintResolver}. */ public ValidationHintResolver getValidationHintResolver(); /** * Returns the application context hosting the flow system. * @return the application context */ public ApplicationContext getApplicationContext(); }