net.jrouter.ActionProxy 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.List;
import java.util.Map;
import net.jrouter.annotation.Action;
import net.jrouter.annotation.Interceptor;
import net.jrouter.annotation.Result;
/**
* {@link Action}代理类接口。
*
* @param Path type.
*/
public interface ActionProxy
{
/**
* 返回所代理的Action对象。
*
* @return 代理的Action对象。
*/
Action getAction();
/**
* 返回Action所映射的全路径(可能为带参数的动态路径,而非真实调用路径)。
*
* @return Action所对应的全路径(可能为带参数的动态路径,而非真实调用路径)。
*/
P getPath();
/**
* 返回Action的命名空间。
*
* @return Action的命名空间。
*/
String getNamespace();
/**
* 返回Action初始化参数键/值(多值)映射,不包含任何参数映射则返回长度为 0 的映射。
*
* @return Action初始化参数键/值(多值)映射。
*
* @see Action#parameters()
*/
Map getActionParameters();
/**
* 由指定名称返回Action初始化参数中字符串形式的值。
*
* 如果值不存在则返回 null;
* 如果为多值,请使用{@link #getActionParameterValues}。
* 如果为多值,请使用返回多值数组中的第一个。
*
*
* @param name 指定的名称。
*
* @return Action初始化参数中字符串形式的值。
*
* @see #getActionParameterValues(java.lang.String)
*/
String getActionParameter(String name);
/**
* 由指定名称返回Action初始化参数中多值字符串数组。
*
* 如果值不存在,则返回 null。如果值为空,则返回长宽为 0 的数组。
*
*
* @param name 指定的名称。
*
* @return Action初始化参数中多值字符串数组。
*
* @see #getActionParameter(java.lang.String)
*/
String[] getActionParameterValues(String name);
/**
* 返回Action所配置的拦截器集合,不包含任何拦截器则返回长度为 0 的集合。
*
* @return Action所配置的拦截器集合。
*
* @see Action#interceptors()
*/
List getInterceptors();
/**
* 返回Action的结果对象集合,不包含任何结果对象则返回长度为 0 的集合。
*
* @return Action的结果对象集合。
*
* @see Action#results()
* @deprecated
*/
@Deprecated
Map getResults();
/**
* 返回调用的底层方法。
*
* @return 调用的底层方法。
*/
java.lang.reflect.Method getMethod();
/**
* 返回调用方法的描述信息。
*
* @return 调用方法的描述信息。
*
* @deprecated
*/
@Deprecated
String getMethodInfo();
}