001/**   
002* @Title: GenericParam.java 
003* @Package net.gdface.annotation 
004* @Description: TODO 
005* @author guyadong   
006* @date 2015年7月19日 下午12:31:50 
007* @version V1.0   
008*/
009package net.gdface.annotation;
010
011import java.lang.annotation.ElementType;
012import java.lang.annotation.Inherited;
013import java.lang.annotation.Retention;
014import java.lang.annotation.RetentionPolicy;
015import java.lang.annotation.Target;
016/**
017 * 服务端口(方法)定义<br>
018 * @author guyadong
019 *
020 */
021@Target({ElementType.METHOD })
022@Retention(RetentionPolicy.RUNTIME)
023@Inherited
024public @interface ServicePort {
025        
026        /**端口(方法)名后缀,用于防止端口名冲突
027         * @return
028         */
029        String suffix() default "";
030        /**
031         * 指定要生成多态端口的参数名,默认不生成多态端口
032         * @return
033         */
034        String[] genericParam() default {};
035        /**
036         * 可以将{@link #bridgeType()}转成 {@link #targetType()}的数据类型列表<br>
037         * 会根据这个名字生成 "ByXXX"后缀的方法,例如:定义为{"URL","Base64"}<br>
038         * 不允许有重复的值,必须是{@link Service#genericTypes()}定义的子集<br>
039         * 为空时使用{@link Service#genericTypes()} 
040         * 
041         * @return
042         */
043        String[] genericTypes() default {};
044}