Modifier.java revision ded70c866f5b78162978bd9c588d783f41ed8c5e
1package com.github.javaparser.ast;
2
3import java.util.EnumSet;
4
5public enum Modifier {
6    PUBLIC,
7    PROTECTED,
8    PRIVATE,
9    ABSTRACT,
10    STATIC,
11    FINAL,
12    TRANSIENT,
13    VOLATILE,
14    SYNCHRONIZED,
15    NATIVE,
16    STRICTFP;
17
18    final String codeRepresentation;
19
20    Modifier() {
21        this.codeRepresentation = name().toLowerCase();
22    }
23
24    /**
25     * @return the keyword represented by this modifier.
26     */
27    public String asString() {
28        return codeRepresentation;
29    }
30
31    public EnumSet<Modifier> toEnumSet() {
32        return EnumSet.of(this);
33    }
34
35    public static AccessSpecifier getAccessSpecifier(EnumSet<Modifier> modifiers) {
36        if (modifiers.contains(Modifier.PUBLIC)) {
37            return AccessSpecifier.PUBLIC;
38        } else if (modifiers.contains(Modifier.PROTECTED)) {
39            return AccessSpecifier.PROTECTED;
40        } else if (modifiers.contains(Modifier.PRIVATE)) {
41            return AccessSpecifier.PRIVATE;
42        } else {
43            return AccessSpecifier.DEFAULT;
44        }
45    }
46}
47