src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java
equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. Oracle designates this |
7 * published by the Free Software Foundation. Oracle designates this |
32 |
32 |
33 import jdk.javadoc.internal.doclets.toolkit.AnnotationTypeRequiredMemberWriter; |
33 import jdk.javadoc.internal.doclets.toolkit.AnnotationTypeRequiredMemberWriter; |
34 import jdk.javadoc.internal.doclets.toolkit.BaseConfiguration; |
34 import jdk.javadoc.internal.doclets.toolkit.BaseConfiguration; |
35 import jdk.javadoc.internal.doclets.toolkit.Content; |
35 import jdk.javadoc.internal.doclets.toolkit.Content; |
36 import jdk.javadoc.internal.doclets.toolkit.DocletException; |
36 import jdk.javadoc.internal.doclets.toolkit.DocletException; |
37 import jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberMap; |
37 import jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable; |
38 |
38 |
|
39 import static jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable.Kind.*; |
39 |
40 |
40 /** |
41 /** |
41 * Builds documentation for required annotation type members. |
42 * Builds documentation for required annotation type members. |
42 * |
43 * |
43 * <p><b>This is NOT part of any supported API. |
44 * <p><b>This is NOT part of any supported API. |
48 * @author Jamie Ho |
49 * @author Jamie Ho |
49 * @author Bhavesh Patel (Modified) |
50 * @author Bhavesh Patel (Modified) |
50 */ |
51 */ |
51 public class AnnotationTypeRequiredMemberBuilder extends AbstractMemberBuilder { |
52 public class AnnotationTypeRequiredMemberBuilder extends AbstractMemberBuilder { |
52 |
53 |
53 /** |
|
54 * The annotation type whose members are being documented. |
|
55 */ |
|
56 protected TypeElement typeElement; |
|
57 |
|
58 /** |
|
59 * The visible members for the given class. |
|
60 */ |
|
61 protected VisibleMemberMap visibleMemberMap; |
|
62 |
54 |
63 /** |
55 /** |
64 * The writer to output the member documentation. |
56 * The writer to output the member documentation. |
65 */ |
57 */ |
66 protected AnnotationTypeRequiredMemberWriter writer; |
58 protected AnnotationTypeRequiredMemberWriter writer; |
67 |
59 |
68 /** |
60 /** |
69 * The list of members being documented. |
61 * The list of members being documented. |
70 */ |
62 */ |
71 protected List<Element> members; |
63 protected List<? extends Element> members; |
72 |
64 |
73 /** |
65 /** |
74 * The index of the current member that is being documented at this point |
66 * The index of the current member that is being documented at this point |
75 * in time. |
67 * in time. |
76 */ |
68 */ |
85 * @param memberType the kind of member this builder processes. |
77 * @param memberType the kind of member this builder processes. |
86 */ |
78 */ |
87 protected AnnotationTypeRequiredMemberBuilder(Context context, |
79 protected AnnotationTypeRequiredMemberBuilder(Context context, |
88 TypeElement typeElement, |
80 TypeElement typeElement, |
89 AnnotationTypeRequiredMemberWriter writer, |
81 AnnotationTypeRequiredMemberWriter writer, |
90 VisibleMemberMap.Kind memberType) { |
82 VisibleMemberTable.Kind memberType) { |
91 super(context); |
83 super(context, typeElement); |
92 this.typeElement = typeElement; |
|
93 this.writer = writer; |
84 this.writer = writer; |
94 this.visibleMemberMap = configuration.getVisibleMemberMap(typeElement, memberType); |
85 this.members = getVisibleMembers(memberType); |
95 this.members = this.visibleMemberMap.getMembers(typeElement); |
|
96 } |
86 } |
97 |
87 |
98 |
88 |
99 /** |
89 /** |
100 * Construct a new AnnotationTypeMemberBuilder. |
90 * Construct a new AnnotationTypeMemberBuilder. |
106 */ |
96 */ |
107 public static AnnotationTypeRequiredMemberBuilder getInstance( |
97 public static AnnotationTypeRequiredMemberBuilder getInstance( |
108 Context context, TypeElement typeElement, |
98 Context context, TypeElement typeElement, |
109 AnnotationTypeRequiredMemberWriter writer) { |
99 AnnotationTypeRequiredMemberWriter writer) { |
110 return new AnnotationTypeRequiredMemberBuilder(context, typeElement, |
100 return new AnnotationTypeRequiredMemberBuilder(context, typeElement, |
111 writer, |
101 writer, ANNOTATION_TYPE_MEMBER_REQUIRED); |
112 VisibleMemberMap.Kind.ANNOTATION_TYPE_MEMBER_REQUIRED); |
|
113 } |
102 } |
114 |
103 |
115 /** |
104 /** |
116 * Returns whether or not there are members to document. |
105 * Returns whether or not there are members to document. |
117 * @return whether or not there are members to document |
106 * @return whether or not there are members to document |