/******************************************************************************* | |
* Copyright (c) 2009 by SAP AG, Walldorf. | |
* 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: | |
* SAP AG - initial API and implementation | |
*******************************************************************************/ | |
package org.eclipse.jst.ws.jaxws.dom.runtime.persistence.annotation; | |
import org.eclipse.jdt.core.IJavaElement; | |
import org.eclipse.jst.ws.jaxws.utils.annotations.IAnnotation; | |
/** | |
* Adapter that holds location information for the annotations applied on the | |
* java artifact/s which is represent by the DOM object adapted to this interface. | |
* | |
* @author Georgi Vachkov | |
*/ | |
public interface IAnnotationAdapter | |
{ | |
/** | |
* Provides the {@link IAnnotation} for annotation with <code>annFQName</code>. | |
* @param annFQName the fully qualified name of the annotation | |
* @return locator instance or <code>null</code> if not existing | |
*/ | |
public IAnnotation<? extends IJavaElement> getAnnotation(String annFQName); | |
/** | |
* Adds annotation to the list of used annotations. | |
* <code>annotation</code> can be <code>null</code> then the locator for this annotation | |
* is removed. | |
* @param annFQName the fully qualified name of the annotation | |
* @param annotation th annotation instance | |
*/ | |
public void addAnnotation(String annFQName, IAnnotation<? extends IJavaElement> annotation); | |
} |