码迷,mamicode.com
首页 > 编程语言 > 详细

Java解析注解

时间:2014-10-17 22:02:23      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:des   blog   http   io   ar   java   for   2014   on   

package com.itbuluoge.anno;

import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Test {

	public static void trackUseCases(List<Integer> useCases,Class<?> cl)
	{
		for(Method m:cl.getDeclaredMethods())
		{
			UseCase uc=m.getAnnotation(UseCase.class);
			if(uc!=null)
			{
				System.out.println("FOUND:"+uc.id()+" "+uc.description());
			}
		}
		
		for(int i:useCases)
		{
			System.out.println("Warning.."+i);
		}
	}
	
	public static void Case(Class<?> cl)
	{
		for(Method m:cl.getDeclaredMethods())
		{
			UseCase uc=m.getAnnotation(UseCase.class);
			if(uc!=null)
			{
				System.out.println("FOUND:"+uc.id()+" "+uc.description());
			}
		}
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//List<Integer> useCases=new ArrayList<Integer>();
		//Collections.addAll(useCases, 41,42);
		//trackUseCases(useCases,Testable.class);
		
		Case(Testable.class);
	}

}


package com.itbuluoge.anno;

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.junit.Test;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@interface UseCase
{
	public int id();
	public String description() default "no des";
}

public class Testable {

	@UseCase(id=19,description="中国人")
	public void say()
	{
		
	}
	
	@UseCase(id=19)
	public void listen()
	{
		
	}
}



输出结果

bubuko.com,布布扣

Java解析注解

标签:des   blog   http   io   ar   java   for   2014   on   

原文地址:http://blog.csdn.net/itbuluoge/article/details/40190515

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!