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 }