/**
 * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
 */
/* Generated By:JJTree: Do not edit this line. ASTModuleDirective.java Version 4.3 */
/* JavaCCOptions:MULTI=true,NODE_USES_PARSER=true,VISITOR=true,TRACK_TOKENS=true,NODE_PREFIX=AST,NODE_EXTENDS=,NODE_FACTORY=,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */

package net.sourceforge.pmd.lang.java.ast;

public class ASTModuleDirective extends AbstractJavaNode {
    public enum DirectiveType {
        REQUIRES, EXPORTS, OPENS, USES, PROVIDES;
    }

    public enum RequiresModifier {
        STATIC, TRANSITIVE;
    }

    private DirectiveType type;

    private RequiresModifier requiresModifier;

    public ASTModuleDirective(int id) {
        super(id);
    }

    public ASTModuleDirective(JavaParser p, int id) {
        super(p, id);
    }

    /** Accept the visitor. **/
    public Object jjtAccept(JavaParserVisitor visitor, Object data) {
        return visitor.visit(this, data);
    }

    public void setType(DirectiveType type) {
        this.type = type;
    }

    public String getType() {
        return String.valueOf(type);
    }

    public void setRequiresModifier(RequiresModifier requiresModifier) {
        this.requiresModifier = requiresModifier;
    }

    public String getRequiresModifier() {
        return requiresModifier == null ? null : requiresModifier.name();
    }
}
/*
 * JavaCC - OriginalChecksum=93c74930e5df0269e81ce18b4efa6378 (do not edit this
 * line)
 */
