⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 annotationtester.java

📁 JAVA SE6 全方位学习 朱仲杰 编著 机械工业出版社出版
💻 JAVA
字号:
package java2.H;

import java.lang.annotation.*;
import java.lang.reflect.*;
import java.util.*;
import java2.H.myannotation.*;
import static java.lang.System.out;

public class AnnotationTester
{
	public static void main(String[] args) throws Exception
	{
		for(int i = 0; i<args.length; i++)
		{
			List<Method> todoMethods = new ArrayList<Method>();
			List<Method> inProgressMethods = new ArrayList<Method>();
			List<Method> overrideMethods = new ArrayList<Method>();;
			
			Class c = Class.forName(args[i]);
			Method[] methods = c.getMethods();
			out.printf("%nClass %s in processing...%n", c.getName());
			
			//Check @Copyright
			boolean hasCopyright = c.isAnnotationPresent(Copyright.class);
			if (hasCopyright)
			{
				Copyright cr = (Copyright)c.getAnnotation(Copyright.class);
				out.printf("Copyright@%s%n", cr.value());
			}
			
			for(int j=0; j<methods.length; j++)
			{
				//Check @Todo
				boolean hasTodo = methods[j].isAnnotationPresent(Todo.class);
				if (hasTodo) todoMethods.add(methods[j]);
				//Check @InProgress
				boolean hasInProgress = methods[j].isAnnotationPresent(InProgress.class);
				if (hasInProgress) inProgressMethods.add(methods[j]);
				//Check @Override
				boolean hasOverride = methods[j].isAnnotationPresent(Override.class);
				if (hasOverride) overrideMethods.add(methods[j]);
			}
			
			//process @Todo
			out.println("Todo list:");
			for(Method m : todoMethods)
			{
				Todo todo = m.getAnnotation(Todo.class);
				out.printf("    Method:%s, Owner=%s, Priority=%s, Deadline=%s%n", 
								m.getName(), todo.owner(), todo.priority(), todo.deadline());
			}

			//process @InProgress
			out.println("InProgress list:");
			for(Method m : inProgressMethods)
				out.printf("    Method:%s%n", m.getName());

			//process @Override
			out.println("Override list:");
			for(Method m : overrideMethods)
				out.printf("    Method:%s%n", m.getName());
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -