package org.nutz.mvc.annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import org.nutz.mvc.HttpAdaptor; import org.nutz.mvc.adaptor.PairAdaptor; /** * 声明适配 Http 请求的方式。通过这个注解直接声明,而没有使用类似 ViewMaker 一类的工厂模式。 是因为,我看不出有什么必要要采用工厂模式。 * <p> * 这个注解第一个参数没什么好说的,第二个参数是告诉框架你打算如何创建这个适配器。你可以: * <ul> * <li>直接调用适配器的构造函数,框架会根据你给出的参数数组,自动选择一个构造函数,或者静态工厂方法 * <li>从 Ioc 接口获得。 前提是,你必须在默认模块类中声明了 '@IocBy' 注解。并且你的参数数组的值为 {"ioc:xxx"}。 * 就是说,参数数组长度必须为 1。 ioc 是否为大写无所谓,xxx 就是你的注入名称。 * </ul> * * @author zozoh * */ @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD, ElementType.TYPE}) @Documented public @interface AdaptBy { Class<? extends HttpAdaptor> type() default PairAdaptor.class; String[] args() default {}; }