2 * Copyright (c) 2000-2005 by JetBrains s.r.o. All Rights Reserved.
3 * Use is subject to license terms.
5 package com
.intellij
.psi
.ref
;
7 import com
.intellij
.psi
.PsiAnnotation
;
8 import com
.intellij
.psi
.PsiAnnotationMemberValue
;
9 import com
.intellij
.psi
.PsiChildLink
;
10 import com
.intellij
.util
.IncorrectOperationException
;
11 import org
.jetbrains
.annotations
.NonNls
;
12 import org
.jetbrains
.annotations
.NotNull
;
13 import org
.jetbrains
.annotations
.Nullable
;
18 public class AnnotationAttributeChildLink
extends PsiChildLink
<PsiAnnotation
, PsiAnnotationMemberValue
> {
19 private final String myAttributeName
;
21 public AnnotationAttributeChildLink(@NotNull @NonNls String attributeName
) {
22 myAttributeName
= attributeName
;
26 public String
getAttributeName() {
27 return myAttributeName
;
31 public PsiAnnotationMemberValue
findLinkedChild(@Nullable PsiAnnotation psiAnnotation
) {
32 if (psiAnnotation
== null) return null;
34 psiAnnotation
.getText();
35 return psiAnnotation
.findDeclaredAttributeValue(myAttributeName
);
39 public PsiAnnotationMemberValue
createChild(@NotNull PsiAnnotation psiAnnotation
) throws IncorrectOperationException
{
40 psiAnnotation
.getText();
41 throw new UnsupportedOperationException("Method createChild is not yet implemented in " + getClass().getName());