001 /* 002 * file CMAnnotationProcessor.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 java.util.Collections.emptySet; 016 import static java.util.Collections.unmodifiableCollection; 017 018 import java.util.ArrayList; 019 import java.util.Collection; 020 import java.util.Set; 021 022 import com.ibm.rational.wvcm.stpex.annotation.RpcEnum; 023 import com.sun.mirror.apt.AnnotationProcessor; 024 import com.sun.mirror.apt.AnnotationProcessorEnvironment; 025 import com.sun.mirror.apt.AnnotationProcessorFactory; 026 import com.sun.mirror.declaration.AnnotationTypeDeclaration; 027 028 public class CMAnnotationProcessor implements AnnotationProcessorFactory 029 { 030 public Collection<String> supportedAnnotationTypes() { 031 ArrayList<String> list = new ArrayList<String>(1); 032 list.add("com.ibm.rational.wvcm.stpex.annotation.RpcEnum"); 033 034 for (String s : list) { 035 System.out.println("CMAnnotationProcessor supports: " + s); 036 } 037 038 return unmodifiableCollection(list); 039 } 040 041 public Collection<String> supportedOptions() { 042 return emptySet(); 043 } 044 045 public AnnotationProcessor 046 getProcessorFor( 047 Set<AnnotationTypeDeclaration> atds, 048 AnnotationProcessorEnvironment env 049 ) 050 { 051 return new ListClasses(env); 052 } 053 }