001    /*
002     * file ListClasses.java
003     *
004     * IBM Confidential
005     * OCO Source Materials
006     * Rational ClearCase
007     * (C) Copyright IBM Corp. 2010.  All rights reserved.
008     *
009     * The source code for this program is not published or otherwise
010     * divested of its trade secrets, irrespective of what has been
011     * deposited with the U.S. Copyright Office.
012     */
013    package com.ibm.rational.wvcm.stpex.annotation.processing;
014    
015    import static com.sun.mirror.util.DeclarationVisitors.NO_OP;
016    import static com.sun.mirror.util.DeclarationVisitors.getDeclarationScanner;
017    
018    import com.sun.mirror.apt.AnnotationProcessor;
019    import com.sun.mirror.apt.AnnotationProcessorEnvironment;
020    import com.sun.mirror.declaration.AnnotationTypeDeclaration;
021    import com.sun.mirror.declaration.Declaration;
022    
023    public class ListClasses implements AnnotationProcessor{
024    
025        private final AnnotationProcessorEnvironment m_env;
026        
027        ListClasses(
028            AnnotationProcessorEnvironment env
029        ) 
030        {
031            m_env = env;
032        }
033    
034        public void 
035        process() 
036        {
037            for (Declaration typeDecl : m_env.getSpecifiedTypeDeclarations()) {
038                System.out.println("Processing " + typeDecl.getSimpleName());
039                typeDecl.accept(
040                    getDeclarationScanner(NO_OP, new ListClassesVisitor(m_env)));
041            }
042        }
043    }