/******************************************************************************* * Copyright (c) 2005 BEA Systems, Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * tyeung@bea.com - initial API *******************************************************************************/ package org.eclipse.jdt.apt.core.env; import java.util.Set; import com.sun.mirror.apt.AnnotationProcessor; import com.sun.mirror.apt.AnnotationProcessorFactory; import com.sun.mirror.declaration.AnnotationTypeDeclaration; /** * Extend the APT annotation processor factory API to provide extra features. * Implementation of this annotation processor is treated just like * the regular annotation processor during build and reconcile. * @author tyeung * */ public interface EclipseAnnotationProcessorFactory extends AnnotationProcessorFactory { /** * Returns an annotation processor for a set of annotation types. * Implementation of this API is guaranteed to be invoked with an * extended annotation processor environment for both * {@link #getProcessorFor} version of the method. * * @param atds the set of annotation types * @param env the environment for processing. * @return an annotation processor or null if the processor cannot be created. */ AnnotationProcessor getProcessorFor(Set<AnnotationTypeDeclaration> atds, EclipseAnnotationProcessorEnvironment env); }