Added ExternalAnnotationsManager.editExternalAnnotation()

This commit is contained in:
Evgeny Gerashchenko
2012-08-24 19:12:14 +04:00
parent 8e44a9d83e
commit eb9ecd52ca
2 changed files with 17 additions and 0 deletions
@@ -327,6 +327,20 @@ public class ExternalAnnotationsManagerImpl extends BaseExternalAnnotationsManag
});
}
@Override
public boolean editExternalAnnotation(@NotNull PsiModifierListOwner listOwner,
@NotNull final String annotationFQN,
@NotNull final PsiNameValuePair[] value) {
return processExistingExternalAnnotations(listOwner, annotationFQN, new Processor<XmlTag>() {
@Override
public boolean process(XmlTag annotationTag) {
annotationTag.replace(XmlElementFactory.getInstance(myPsiManager.getProject()).createTagFromText(
createAnnotationTag(annotationFQN, value)));
return true;
}
});
}
private boolean processExistingExternalAnnotations(@NotNull final PsiModifierListOwner listOwner, @NotNull final String annotationFQN,
@NotNull final Processor<XmlTag> annotationTagProcessor) {
try {
@@ -60,6 +60,9 @@ public abstract class ExternalAnnotationsManager {
public abstract boolean deannotate(@NotNull PsiModifierListOwner listOwner, @NotNull String annotationFQN);
public abstract boolean editExternalAnnotation(@NotNull PsiModifierListOwner listOwner, @NotNull String annotationFQN,
@NotNull PsiNameValuePair[] value);
public abstract AnnotationPlace chooseAnnotationsPlace(@NotNull PsiElement element);
@Nullable