Skip to content

Commit d36af30

Browse files
committed
Make ModifierAccessor an utility class
1 parent fb5ebf4 commit d36af30

File tree

7 files changed

+87
-89
lines changed

7 files changed

+87
-89
lines changed

impl/src/main/java/org/jboss/forge/roaster/model/ast/ModifierAccessor.java

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,37 +9,41 @@
99
import java.util.ArrayList;
1010
import java.util.Collections;
1111
import java.util.List;
12-
import java.util.stream.Collectors;
1312

1413
import org.eclipse.jdt.core.dom.ASTNode;
1514
import org.eclipse.jdt.core.dom.BodyDeclaration;
1615
import org.eclipse.jdt.core.dom.Modifier;
1716
import org.eclipse.jdt.core.dom.Modifier.ModifierKeyword;
1817
import org.eclipse.jdt.core.dom.SingleVariableDeclaration;
1918

20-
public class ModifierAccessor
19+
public final class ModifierAccessor
2120
{
22-
public boolean hasModifier(ASTNode body, final ModifierKeyword keyword)
21+
22+
private ModifierAccessor()
23+
{
24+
throw new InternalError("Utility class");
25+
}
26+
27+
public static boolean hasModifier(ASTNode body, final ModifierKeyword keyword)
2328
{
24-
return getModifiers(body).stream().filter(modifier -> modifier.getKeyword() == keyword).count() != 0;
29+
return getModifiers(body).stream().anyMatch(modifier -> modifier.getKeyword() == keyword);
2530
}
2631

27-
private List<Modifier> getModifiers(ASTNode body)
32+
private static List<Modifier> getModifiers(ASTNode body)
2833
{
2934
List<Modifier> result = new ArrayList<>();
3035
List<?> modifiers = getInternalModifiers(body);
3136
for (Object m : modifiers)
3237
{
33-
if (m instanceof Modifier)
38+
if (m instanceof Modifier mod)
3439
{
35-
Modifier mod = (Modifier) m;
3640
result.add(mod);
3741
}
3842
}
3943
return result;
4044
}
4145

42-
public List<Modifier> clearVisibility(ASTNode body)
46+
public static List<Modifier> clearVisibility(ASTNode body)
4347
{
4448
List<Modifier> modifiers = getModifiers(body);
4549

@@ -56,19 +60,19 @@ public List<Modifier> clearVisibility(ASTNode body)
5660
return modifiers;
5761
}
5862

59-
public void addModifier(ASTNode body, ModifierKeyword keyword)
63+
public static void addModifier(ASTNode body, ModifierKeyword keyword)
6064
{
6165
if (!hasModifier(body, keyword))
6266
{
6367
getInternalModifiers(body).add(body.getAST().newModifier(keyword));
6468
}
6569
}
6670

67-
public void removeModifier(ASTNode body, ModifierKeyword keyword)
71+
public static void removeModifier(ASTNode body, ModifierKeyword keyword)
6872
{
6973
List<Modifier> toBeRemoved = getModifiers(body).stream()
7074
.filter(modifier -> modifier.getKeyword().equals(keyword))
71-
.collect(Collectors.toList());
75+
.toList();
7276
getInternalModifiers(body).removeAll(toBeRemoved);
7377
}
7478

impl/src/main/java/org/jboss/forge/roaster/model/impl/AbstractJavaSource.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ public abstract class AbstractJavaSource<O extends JavaSource<O>> extends JavaSo
4141
TypeHolderSource<O>, StaticCapableSource<O>
4242
{
4343
protected final BodyDeclaration body;
44-
private final ModifierAccessor modifiers = new ModifierAccessor();
4544

4645
protected AbstractJavaSource(JavaSource<?> enclosingType, final Document document, final CompilationUnit unit,
4746
BodyDeclaration body)
@@ -166,19 +165,19 @@ public <NESTED_TYPE extends JavaSource<?>> NESTED_TYPE addNestedType(String decl
166165
@Override
167166
public boolean isStatic()
168167
{
169-
return modifiers.hasModifier(getDeclaration(), ModifierKeyword.STATIC_KEYWORD);
168+
return ModifierAccessor.hasModifier(getDeclaration(), ModifierKeyword.STATIC_KEYWORD);
170169
}
171170

172171
@Override
173172
public O setStatic(boolean _static)
174173
{
175174
if (_static)
176175
{
177-
modifiers.addModifier(getDeclaration(), ModifierKeyword.STATIC_KEYWORD);
176+
ModifierAccessor.addModifier(getDeclaration(), ModifierKeyword.STATIC_KEYWORD);
178177
}
179178
else
180179
{
181-
modifiers.removeModifier(getDeclaration(), ModifierKeyword.STATIC_KEYWORD);
180+
ModifierAccessor.removeModifier(getDeclaration(), ModifierKeyword.STATIC_KEYWORD);
182181
}
183182
return (O) this;
184183
}

impl/src/main/java/org/jboss/forge/roaster/model/impl/FieldImpl.java

Lines changed: 22 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
public class FieldImpl<O extends JavaSource<O>> implements FieldSource<O>
4040
{
4141
private final AnnotationAccessor<O, FieldSource<O>> annotations = new AnnotationAccessor<>();
42-
private final ModifierAccessor modifiers = new ModifierAccessor();
4342

4443
private final O parent;
4544
private final AST ast;
@@ -188,32 +187,32 @@ public String toString()
188187
@Override
189188
public boolean isFinal()
190189
{
191-
return modifiers.hasModifier(field, ModifierKeyword.FINAL_KEYWORD);
190+
return ModifierAccessor.hasModifier(field, ModifierKeyword.FINAL_KEYWORD);
192191
}
193192

194193
@Override
195194
public FieldSource<O> setFinal(final boolean finl)
196195
{
197196
if (finl)
198-
modifiers.addModifier(field, ModifierKeyword.FINAL_KEYWORD);
197+
ModifierAccessor.addModifier(field, ModifierKeyword.FINAL_KEYWORD);
199198
else
200-
modifiers.removeModifier(field, ModifierKeyword.FINAL_KEYWORD);
199+
ModifierAccessor.removeModifier(field, ModifierKeyword.FINAL_KEYWORD);
201200
return this;
202201
}
203202

204203
@Override
205204
public boolean isStatic()
206205
{
207-
return getOrigin().isInterface() || modifiers.hasModifier(field, ModifierKeyword.STATIC_KEYWORD);
206+
return getOrigin().isInterface() || ModifierAccessor.hasModifier(field, ModifierKeyword.STATIC_KEYWORD);
208207
}
209208

210209
@Override
211210
public FieldSource<O> setStatic(final boolean statc)
212211
{
213212
if (statc)
214-
modifiers.addModifier(field, ModifierKeyword.STATIC_KEYWORD);
213+
ModifierAccessor.addModifier(field, ModifierKeyword.STATIC_KEYWORD);
215214
else
216-
modifiers.removeModifier(field, ModifierKeyword.STATIC_KEYWORD);
215+
ModifierAccessor.removeModifier(field, ModifierKeyword.STATIC_KEYWORD);
217216
return this;
218217
}
219218

@@ -226,49 +225,49 @@ public boolean isPackagePrivate()
226225
@Override
227226
public FieldSource<O> setPackagePrivate()
228227
{
229-
modifiers.clearVisibility(field);
228+
ModifierAccessor.clearVisibility(field);
230229
return this;
231230
}
232231

233232
@Override
234233
public boolean isPublic()
235234
{
236-
return modifiers.hasModifier(field, ModifierKeyword.PUBLIC_KEYWORD);
235+
return ModifierAccessor.hasModifier(field, ModifierKeyword.PUBLIC_KEYWORD);
237236
}
238237

239238
@Override
240239
public FieldSource<O> setPublic()
241240
{
242-
modifiers.clearVisibility(field);
243-
modifiers.addModifier(field, ModifierKeyword.PUBLIC_KEYWORD);
241+
ModifierAccessor.clearVisibility(field);
242+
ModifierAccessor.addModifier(field, ModifierKeyword.PUBLIC_KEYWORD);
244243
return this;
245244
}
246245

247246
@Override
248247
public boolean isPrivate()
249248
{
250-
return modifiers.hasModifier(field, ModifierKeyword.PRIVATE_KEYWORD);
249+
return ModifierAccessor.hasModifier(field, ModifierKeyword.PRIVATE_KEYWORD);
251250
}
252251

253252
@Override
254253
public FieldSource<O> setPrivate()
255254
{
256-
modifiers.clearVisibility(field);
257-
modifiers.addModifier(field, ModifierKeyword.PRIVATE_KEYWORD);
255+
ModifierAccessor.clearVisibility(field);
256+
ModifierAccessor.addModifier(field, ModifierKeyword.PRIVATE_KEYWORD);
258257
return this;
259258
}
260259

261260
@Override
262261
public boolean isProtected()
263262
{
264-
return modifiers.hasModifier(field, ModifierKeyword.PROTECTED_KEYWORD);
263+
return ModifierAccessor.hasModifier(field, ModifierKeyword.PROTECTED_KEYWORD);
265264
}
266265

267266
@Override
268267
public FieldSource<O> setProtected()
269268
{
270-
modifiers.clearVisibility(field);
271-
modifiers.addModifier(field, ModifierKeyword.PROTECTED_KEYWORD);
269+
ModifierAccessor.clearVisibility(field);
270+
ModifierAccessor.addModifier(field, ModifierKeyword.PROTECTED_KEYWORD);
272271
return this;
273272
}
274273

@@ -411,32 +410,32 @@ else if (!fragment.equals(other.fragment))
411410
@Override
412411
public boolean isTransient()
413412
{
414-
return modifiers.hasModifier(field, ModifierKeyword.TRANSIENT_KEYWORD);
413+
return ModifierAccessor.hasModifier(field, ModifierKeyword.TRANSIENT_KEYWORD);
415414
}
416415

417416
@Override
418417
public FieldSource<O> setTransient(boolean value)
419418
{
420419
if (value)
421-
modifiers.addModifier(field, ModifierKeyword.TRANSIENT_KEYWORD);
420+
ModifierAccessor.addModifier(field, ModifierKeyword.TRANSIENT_KEYWORD);
422421
else
423-
modifiers.removeModifier(field, ModifierKeyword.TRANSIENT_KEYWORD);
422+
ModifierAccessor.removeModifier(field, ModifierKeyword.TRANSIENT_KEYWORD);
424423
return this;
425424
}
426425

427426
@Override
428427
public boolean isVolatile()
429428
{
430-
return modifiers.hasModifier(field, ModifierKeyword.VOLATILE_KEYWORD);
429+
return ModifierAccessor.hasModifier(field, ModifierKeyword.VOLATILE_KEYWORD);
431430
}
432431

433432
@Override
434433
public FieldSource<O> setVolatile(boolean value)
435434
{
436435
if (value)
437-
modifiers.addModifier(field, ModifierKeyword.VOLATILE_KEYWORD);
436+
ModifierAccessor.addModifier(field, ModifierKeyword.VOLATILE_KEYWORD);
438437
else
439-
modifiers.removeModifier(field, ModifierKeyword.VOLATILE_KEYWORD);
438+
ModifierAccessor.removeModifier(field, ModifierKeyword.VOLATILE_KEYWORD);
440439
return this;
441440
}
442441

impl/src/main/java/org/jboss/forge/roaster/model/impl/JavaClassImpl.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
*/
3232
public class JavaClassImpl extends AbstractGenericCapableJavaSource<JavaClassSource> implements JavaClassSource
3333
{
34-
private final ModifierAccessor modifiers = new ModifierAccessor();
3534

3635
public JavaClassImpl(JavaSource<?> enclosingType, final Document document, final CompilationUnit unit,
3736
BodyDeclaration body)
@@ -59,36 +58,36 @@ protected JavaClassSource updateTypeNames(final String newName)
5958
@Override
6059
public boolean isAbstract()
6160
{
62-
return modifiers.hasModifier(getDeclaration(), ModifierKeyword.ABSTRACT_KEYWORD);
61+
return ModifierAccessor.hasModifier(getDeclaration(), ModifierKeyword.ABSTRACT_KEYWORD);
6362
}
6463

6564
@Override
6665
public JavaClassSource setAbstract(final boolean abstrct)
6766
{
6867
if (abstrct)
6968
{
70-
modifiers.addModifier(getDeclaration(), ModifierKeyword.ABSTRACT_KEYWORD);
69+
ModifierAccessor.addModifier(getDeclaration(), ModifierKeyword.ABSTRACT_KEYWORD);
7170
}
7271
else
7372
{
74-
modifiers.removeModifier(getDeclaration(), ModifierKeyword.ABSTRACT_KEYWORD);
73+
ModifierAccessor.removeModifier(getDeclaration(), ModifierKeyword.ABSTRACT_KEYWORD);
7574
}
7675
return this;
7776
}
7877

7978
@Override
8079
public boolean isFinal()
8180
{
82-
return modifiers.hasModifier(getDeclaration(), ModifierKeyword.FINAL_KEYWORD);
81+
return ModifierAccessor.hasModifier(getDeclaration(), ModifierKeyword.FINAL_KEYWORD);
8382
}
8483

8584
@Override
8685
public JavaClassSource setFinal(boolean finl)
8786
{
8887
if (finl)
89-
modifiers.addModifier(getDeclaration(), ModifierKeyword.FINAL_KEYWORD);
88+
ModifierAccessor.addModifier(getDeclaration(), ModifierKeyword.FINAL_KEYWORD);
9089
else
91-
modifiers.removeModifier(getDeclaration(), ModifierKeyword.FINAL_KEYWORD);
90+
ModifierAccessor.removeModifier(getDeclaration(), ModifierKeyword.FINAL_KEYWORD);
9291
return this;
9392
}
9493

impl/src/main/java/org/jboss/forge/roaster/model/impl/JavaSourceImpl.java

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@
5353
public abstract class JavaSourceImpl<O extends JavaSource<O>> implements JavaSource<O>
5454
{
5555
private static List<WildcardImportResolver> resolvers;
56-
private final ModifierAccessor modifiers = new ModifierAccessor();
5756
private final AnnotationAccessor<O, O> annotations = new AnnotationAccessor<>();
5857

5958
protected final Document document;
@@ -681,52 +680,52 @@ public String toUnformattedString()
681680
@Override
682681
public O setPackagePrivate()
683682
{
684-
modifiers.clearVisibility(getDeclaration());
683+
ModifierAccessor.clearVisibility(getDeclaration());
685684
return (O) this;
686685
}
687686

688687
@Override
689688
public boolean isPublic()
690689
{
691-
return modifiers.hasModifier(getDeclaration(), ModifierKeyword.PUBLIC_KEYWORD);
690+
return ModifierAccessor.hasModifier(getDeclaration(), ModifierKeyword.PUBLIC_KEYWORD);
692691
}
693692

694693
@SuppressWarnings("unchecked")
695694
@Override
696695
public O setPublic()
697696
{
698-
modifiers.clearVisibility(getDeclaration());
699-
modifiers.addModifier(getDeclaration(), ModifierKeyword.PUBLIC_KEYWORD);
697+
ModifierAccessor.clearVisibility(getDeclaration());
698+
ModifierAccessor.addModifier(getDeclaration(), ModifierKeyword.PUBLIC_KEYWORD);
700699
return (O) this;
701700
}
702701

703702
@Override
704703
public boolean isPrivate()
705704
{
706-
return modifiers.hasModifier(getDeclaration(), ModifierKeyword.PRIVATE_KEYWORD);
705+
return ModifierAccessor.hasModifier(getDeclaration(), ModifierKeyword.PRIVATE_KEYWORD);
707706
}
708707

709708
@SuppressWarnings("unchecked")
710709
@Override
711710
public O setPrivate()
712711
{
713-
modifiers.clearVisibility(getDeclaration());
714-
modifiers.addModifier(getDeclaration(), ModifierKeyword.PRIVATE_KEYWORD);
712+
ModifierAccessor.clearVisibility(getDeclaration());
713+
ModifierAccessor.addModifier(getDeclaration(), ModifierKeyword.PRIVATE_KEYWORD);
715714
return (O) this;
716715
}
717716

718717
@Override
719718
public boolean isProtected()
720719
{
721-
return modifiers.hasModifier(getDeclaration(), ModifierKeyword.PROTECTED_KEYWORD);
720+
return ModifierAccessor.hasModifier(getDeclaration(), ModifierKeyword.PROTECTED_KEYWORD);
722721
}
723722

724723
@SuppressWarnings("unchecked")
725724
@Override
726725
public O setProtected()
727726
{
728-
modifiers.clearVisibility(getDeclaration());
729-
modifiers.addModifier(getDeclaration(), ModifierKeyword.PROTECTED_KEYWORD);
727+
ModifierAccessor.clearVisibility(getDeclaration());
728+
ModifierAccessor.addModifier(getDeclaration(), ModifierKeyword.PROTECTED_KEYWORD);
730729
return (O) this;
731730
}
732731

0 commit comments

Comments
 (0)