All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jiucheng.ioc.ClassTemplate Maven / Gradle / Ivy

The newest version!
package org.jiucheng.ioc;

import java.lang.annotation.Annotation;
import java.util.List;

public class ClassTemplate {

	
    public static List> listClass(String packageName) {
    	ClassScanner classScanner = new AbstractClassScanner() {
    		public boolean accept(Class clazz) {
    			return true;
    		}
    	};
		return classScanner.listClass(packageName);
    }
    
	public static List> listClassByAnnotation(String packageName, final Class... annotationClasses) {
       	ClassScanner classScanner = new AbstractClassScanner() {
    		public boolean accept(Class clazz) {
    			boolean r = false;
    			for(Class annotaion : annotationClasses) {
    				if(null != clazz.getAnnotation(annotaion)) {
    					r = true;
    					break;
    				}
    			}
    			return r;
    		}
    	};
		return classScanner.listClass(packageName);
    }
    
    public static List> listClassBySuper(String packageName, final Class... classes) {
       	ClassScanner classScanner = new AbstractClassScanner() {
    		public boolean accept(Class clazz) {
    			boolean r = false;
    			for(Class cls : classes) {
    				while (null != clazz) {
						if(clazz == cls) {
							r = true;
							break;
						}
						clazz = clazz.getSuperclass();
					}
    			}
    			return r;
    		}
    	};
		return classScanner.listClass(packageName);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy