1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.tools.plugin.extractor.annotations.datamodel;
20
21 import java.lang.annotation.Annotation;
22 import java.util.List;
23 import java.util.Objects;
24
25 import org.apache.maven.plugins.annotations.Parameter;
26
27
28
29
30
31 public class ParameterAnnotationContent extends AnnotatedField implements Parameter {
32
33 private String name;
34
35 private String alias;
36
37 private String property;
38
39 private String defaultValue;
40
41 private boolean required = false;
42
43 private boolean readonly = false;
44
45 private String className;
46
47 private boolean annotationOnMethod;
48
49 private final List<String> typeParameters;
50
51 public ParameterAnnotationContent(
52 String fieldName, String className, List<String> typeParameters, boolean annotationOnMethod) {
53 super(fieldName);
54 this.className = className;
55 this.typeParameters = typeParameters;
56 this.annotationOnMethod = annotationOnMethod;
57 }
58
59 public ParameterAnnotationContent(
60 String fieldName,
61 String alias,
62 String property,
63 String defaultValue,
64 boolean required,
65 boolean readonly,
66 String className,
67 List<String> typeParameters,
68 boolean annotationOnMethod) {
69 this(fieldName, className, typeParameters, annotationOnMethod);
70 this.alias = alias;
71 this.property = property;
72 this.defaultValue = defaultValue;
73 this.required = required;
74 this.readonly = readonly;
75 }
76
77 @Override
78 public String name() {
79 return name;
80 }
81
82 public void name(String name) {
83 this.name = name;
84 }
85
86 @Override
87 public String alias() {
88 return alias;
89 }
90
91 public void alias(String alias) {
92 this.alias = alias;
93 }
94
95 @Override
96 public String property() {
97 return property;
98 }
99
100 public void property(String property) {
101 this.property = property;
102 }
103
104 @Override
105 public String defaultValue() {
106 return defaultValue;
107 }
108
109 public void defaultValue(String defaultValue) {
110 this.defaultValue = defaultValue;
111 }
112
113 @Override
114 public boolean required() {
115 return required;
116 }
117
118 public void required(boolean required) {
119 this.required = required;
120 }
121
122 @Override
123 public boolean readonly() {
124 return readonly;
125 }
126
127 public void readonly(boolean readonly) {
128 this.readonly = readonly;
129 }
130
131 @Override
132 public Class<? extends Annotation> annotationType() {
133 return null;
134 }
135
136 public String getClassName() {
137 return className;
138 }
139
140 public void setClassName(String className) {
141 this.className = className;
142 }
143
144 public List<String> getTypeParameters() {
145 return typeParameters;
146 }
147
148 public boolean isAnnotationOnMethod() {
149 return annotationOnMethod;
150 }
151
152 @Override
153 public String toString() {
154 final StringBuilder sb = new StringBuilder();
155 sb.append(super.toString());
156 sb.append("ParameterAnnotationContent");
157 sb.append("{fieldName='").append(getFieldName()).append('\'');
158 sb.append(", className='").append(getClassName()).append('\'');
159 sb.append(", typeParameters='").append(getTypeParameters()).append('\'');
160 sb.append(", name='").append(name).append('\'');
161 sb.append(", alias='").append(alias).append('\'');
162 sb.append(", alias='").append(alias).append('\'');
163 sb.append(", property='").append(property).append('\'');
164 sb.append(", defaultValue='").append(defaultValue).append('\'');
165 sb.append(", required=").append(required);
166 sb.append(", readonly=").append(readonly);
167 sb.append(", methodSource=").append(annotationOnMethod);
168 sb.append('}');
169 return sb.toString();
170 }
171
172 @Override
173 public boolean equals(Object o) {
174 if (this == o) {
175 return true;
176 }
177 if (!(o instanceof ParameterAnnotationContent)) {
178 return false;
179 }
180
181 ParameterAnnotationContent that = (ParameterAnnotationContent) o;
182
183 if (readonly != that.readonly) {
184 return false;
185 }
186 if (required != that.required) {
187 return false;
188 }
189
190 if (annotationOnMethod != that.annotationOnMethod) {
191 return false;
192 }
193
194 if (getFieldName() != null ? !getFieldName().equals(that.getFieldName()) : that.getFieldName() != null) {
195 return false;
196 }
197
198 if (getClassName() != null ? !getClassName().equals(that.getClassName()) : that.getClassName() != null) {
199 return false;
200 }
201
202 if (!Objects.equals(typeParameters, that.typeParameters)) {
203 return false;
204 }
205 if (!Objects.equals(alias, that.alias)) {
206 return false;
207 }
208 if (!Objects.equals(defaultValue, that.defaultValue)) {
209 return false;
210 }
211 return Objects.equals(property, that.property);
212 }
213
214 @Override
215 public int hashCode() {
216 return Objects.hash(
217 alias,
218 getFieldName(),
219 getClassName(),
220 typeParameters,
221 property,
222 defaultValue,
223 required,
224 readonly,
225 annotationOnMethod);
226 }
227 }