Package org.richfaces.taglib

Source Code of org.richfaces.taglib.PanelMenuGroupTagBase

package org.richfaces.taglib;

import javax.el.ELException;
import javax.el.ValueExpression;
import javax.faces.FacesException;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;

import org.ajax4jsf.webapp.taglib.HtmlComponentTagBase;
import org.richfaces.component.UIPanelMenuGroup;

/**
* @author Anton Belevich
*
*/
public abstract class PanelMenuGroupTagBase extends HtmlComponentTagBase{
 
  private boolean _setExpandedSet = false;
  private ValueExpression _value = null;
 
  private void logValueDeprecation(ValueExpression value) {
    FacesContext facesContext = getFacesContext();
    facesContext.getExternalContext().log("expanded attribute has been already set for component with id: " + this.getId() +
        "[" + value.getExpressionString() + "]. value attribute is deprecated and thus has been dropped!");
  }
 
 
  public void setExpanded(ValueExpression value){
   
    if (!_setExpandedSet && _value != null) {
      logValueDeprecation(value);
    }
    _value = value;
    _setExpandedSet = true;
  }
 
  public void setValue(ValueExpression value) {
    if (!_setExpandedSet) {
      _value = value;
    } else {
      logValueDeprecation(value)
    }
  }
 
 
  protected void setProperties(UIComponent component) {
    super.setProperties(component);
   
    UIPanelMenuGroup panelMenu = (UIPanelMenuGroup) component;
   
    if (_value != null) {
      if (_value.isLiteralText()) {
        try {
          panelMenu.setExpanded(Boolean.parseBoolean(_value.getExpressionString()));
        } catch (ELException e) {
          throw new FacesException(e);
        }
      } else {
        component.setValueExpression("value", _value);
      }
    }else{
      panelMenu.setExpanded(false)
   
  }
 
 
  public void release() {
    super.release();
    _setExpandedSet = false;
    _value = null;
  }
}
TOP

Related Classes of org.richfaces.taglib.PanelMenuGroupTagBase

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.