class AuthRolesTag extends TagSupport {
    @Override
    public int doStartTag() throws JspException {<FILL_FUNCTION_BODY>}

    String name;
    String logical;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getLogical() {
        return logical;
    }

    public void setLogical(String logical) {
        this.logical = logical;
    }
}

        String nameStr = name;
        String logicalStr = logical;

        if (Utils.isEmpty(nameStr)) {
            return super.doStartTag();
        }

        String[] names = nameStr.split(",");

        if (names.length == 0) {
            return super.doStartTag();
        }


        if (AuthUtil.verifyRoles(names, Logical.of(logicalStr))) {
            return TagSupport.EVAL_BODY_INCLUDE;
        } else {
            return super.doStartTag();
        }
    
<methods>public void <init>() ,public int doAfterBody() throws jakarta.servlet.jsp.JspException,public int doEndTag() throws jakarta.servlet.jsp.JspException,public int doStartTag() throws jakarta.servlet.jsp.JspException,public static final jakarta.servlet.jsp.tagext.Tag findAncestorWithClass(jakarta.servlet.jsp.tagext.Tag, Class<?>) ,public java.lang.String getId() ,public jakarta.servlet.jsp.tagext.Tag getParent() ,public java.lang.Object getValue(java.lang.String) ,public Enumeration<java.lang.String> getValues() ,public void release() ,public void removeValue(java.lang.String) ,public void setId(java.lang.String) ,public void setPageContext(jakarta.servlet.jsp.PageContext) ,public void setParent(jakarta.servlet.jsp.tagext.Tag) ,public void setValue(java.lang.String, java.lang.Object) <variables>protected java.lang.String id,protected jakarta.servlet.jsp.PageContext pageContext,private jakarta.servlet.jsp.tagext.Tag parent,private static final long serialVersionUID,private Hashtable<java.lang.String,java.lang.Object> values