Package org.togglz.jsp

Source Code of org.togglz.jsp.ActiveFeatureTag

package org.togglz.jsp;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.Tag;
import javax.servlet.jsp.tagext.TagSupport;

import org.togglz.core.manager.FeatureManager;
import org.togglz.core.manager.LazyResolvingFeatureManager;
import org.togglz.core.util.NamedFeature;
import org.togglz.core.util.Strings;

public class ActiveFeatureTag extends TagSupport {

    private static final long serialVersionUID = 1L;

    protected FeatureManager featureManager;

    protected String name;
   
    protected String var;

    public ActiveFeatureTag() {
        this.featureManager = new LazyResolvingFeatureManager();
    }

    @Override
    public int doStartTag() throws JspException {
        boolean inverse = false;
        if (name.startsWith("!")) {
            inverse = true;
            name = name.substring(1);
        }

      boolean isActive = isFeatureActive();

        if (inverse) {
            isActive = !isActive;
        }
       
        if (Strings.isNotBlank(var)) {
             pageContext.setAttribute(var, isActive, PageContext.PAGE_SCOPE);
         }

        return isActive ? Tag.EVAL_BODY_INCLUDE : Tag.SKIP_BODY;
    }

    protected boolean isFeatureActive() {
        if (Strings.isNotBlank(name)) {
            return featureManager.isActive(new NamedFeature(name));
        }
        return false;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
   
    public String getVar() {
      return var;
    }
   
    public void setVar(String var) {
        this.var = var;
    }
   
    public FeatureManager getFeatureManager() {
        return featureManager;
    }

    public void setFeatureManager(FeatureManager featureManager) {
        this.featureManager = featureManager;
    }

}
TOP

Related Classes of org.togglz.jsp.ActiveFeatureTag

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.