extract Annotated Fields - Java java.lang.annotation

Java examples for java.lang.annotation:Field Annotation

Description

extract Annotated Fields

Demo Code

/*//from w  w w  .ja v  a 2 s . c  o  m
 *  Copyright 2011 Renato Couto da Costa.
 * 
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 * 
 *       http://www.apache.org/licenses/LICENSE-2.0
 * 
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 *  under the License.
 */
//package com.java2s;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] argv) throws Exception {
        Class clazz = String.class;
        Class annot = String.class;
        System.out.println(java.util.Arrays
                .toString(extractAnnotatedFields(clazz, annot)));
    }

    public static Field[] extractAnnotatedFields(Class clazz,
            Class<? extends Annotation> annot) {
        List<Field> ret = new ArrayList<Field>();

        Field[] fields = clazz.getDeclaredFields();
        for (Field f : fields) {
            if (f.getAnnotation(annot) != null) {
                ret.add(f);
            }
        }

        return ret.toArray(new Field[] {});
    }
}

Related Tutorials