net.jrouter.ActionFactory Maven / Gradle / Ivy
Show all versions of jrouter Show documentation
/*
* Copyright (C) 2010-2111 [email protected]
*
* 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 net.jrouter;
import java.util.Map;
import net.jrouter.annotation.Action;
/**
* ActionFactory接口。
*
* @param 调用{@link Action}的标识。
*/
public interface ActionFactory
{
/**
* 返回Action过滤器。
*
* @return Action过滤器。
*/
ActionFilter getActionFilter();
/**
* 返回创建对象的工厂对象。
*
* @return 创建对象的工厂对象。
*/
ObjectFactory getObjectFactory();
/**
* 返回创建方法调用对象的工厂对象。
*
* @return 创建方法调用对象的工厂对象。
*/
MethodInvokerFactory getMethodInvokerFactory();
/**
* 返回路径生成器。
*
* @return 路径生成器。
*/
PathGenerator
getPathGenerator();
/**
* 返回创建方法转换器的工厂对象。
*
* @param ActionInvocation type.
*
* @return 创建方法转换器的工厂对象。
*/
> ConverterFactory getConverterFactory();
/**
* 通过路径调用相应的Action,可以传递Action代理方法相应的参数。
*
* @param 调用Action的结果类型。
* @param path Action的映射标识。
* @param params 用于Action的调用参数。
*
* @return 调用后的结果。
*
* @throws JRouterException 如果发生调用错误。
*/
T invokeAction(P path, Object... params) throws JRouterException;
/**
* 移除ActionFactory中所有关联关系。
*
* @throws JRouterException 如果发生错误。
*/
void clear() throws JRouterException;
/**
* 返回Action集合。
*
* @return Action集合。
*/
Map getActions();
/**
* 返回拦截器集合。
*
* @return 拦截器集合。
*/
Map getInterceptors();
/**
* 返回拦截栈集合。
*
* @return 拦截栈集合。
*/
Map getInterceptorStacks();
/**
* 返回结果类型集合。
*
* @return 结果类型集合。
*/
Map getResultTypes();
/**
* 返回结果对象集合。
*
* @return 结果对象集合。
*/
Map getResults();
/**
* 返回默认拦截栈名称。
*
* @return 默认拦截栈名称。
*/
String getDefaultInterceptorStack();
/**
* 设置默认视图类型。
*
* @return 默认视图类型。
*/
String getDefaultResultType();
}