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.*;
7c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen
8c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen/**
9c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen * A node that can be protected.
10c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen */
11c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggenpublic interface NodeWithProtectedModifier<N extends Node> extends NodeWithModifiers<N> {
12c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen    default boolean isProtected() {
13c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen        return getModifiers().contains(PROTECTED);
14c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen    }
15c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen
16c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen    @SuppressWarnings("unchecked")
17c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen    default N setProtected(boolean set) {
18c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen        return setModifier(PROTECTED, set);
19c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen    }
20c03927668b40efab8b30c4b6a0d98e0b19dad2e0Danny van Bruggen}
21