1c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggenpackage com.github.javaparser.ast.nodeTypes.modifiers;
2c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen
3c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggenimport com.github.javaparser.ast.Node;
4c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggenimport com.github.javaparser.ast.nodeTypes.NodeWithModifiers;
5c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen
6c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggenimport static com.github.javaparser.ast.Modifier.STATIC;
7c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen
8c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen/**
9c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen * A node that can be static.
10c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen */
11c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggenpublic interface NodeWithStaticModifier<N extends Node> extends NodeWithModifiers<N> {
12c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen
13c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen    default boolean isStatic() {
14c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen        return getModifiers().contains(STATIC);
15c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen    }
16c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen
17c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen    @SuppressWarnings("unchecked")
18c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen    default N setStatic(boolean set) {
19c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen        return setModifier(STATIC, set);
20c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen    }
21c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen
22c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen}
23