Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * JBoss, Home of Professional Open Source
   * Copyright 2010, Red Hat, Inc. and individual contributors
   * by the @authors tag. See the copyright.txt in the distribution for a
   * full listing of individual contributors.
   *
   * This is free software; you can redistribute it and/or modify it
   * under the terms of the GNU Lesser General Public License as
   * published by the Free Software Foundation; either version 2.1 of
  * the License, or (at your option) any later version.
  *
  * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this software; if not, write to the Free
  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.richfaces.renderkit.html;
 
 
 import  javax.faces.component.UIComponent;
 import  javax.faces.context.FacesContext;
 import  javax.faces.context.ResponseWriter;
 
 import  org.richfaces.renderkit.HtmlConstants;

Author(s):
Nick Belaevski
 
     private static final int DEFAULT_MIN_VALUE = 0;
     private static final int DEFAULT_MAX_VALUE = 100;
     private boolean renderContentAsPlaceHolders;
 
     public ProgressBarStateEncoder(boolean renderContentAsPlaceHolders) {
         super();
         this. = renderContentAsPlaceHolders;
     }
 
     protected String getContentStyle(boolean sameState) {
         return sameState ? null : "display: none";
     }
 
     private void encodeStateFacet(FacesContext context, UIComponent componentProgressBarState state,
         ProgressBarState currentStatethrows IOException {
 
         if (!state.hasContent(contextcomponent)) {
             return;
         }
 
         String clientId = state.getStateClientId(contextcomponent);
 
         ResponseWriter responseWriter = context.getResponseWriter();
 
         responseWriter.startElement(HtmlConstants.DIV_ELEM, component);
         responseWriter.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE, state.getStyleClass(contextcomponent), null);
         responseWriter.writeAttribute(HtmlConstants.ID_ATTRIBUTE, clientIdnull);
 
         responseWriter.writeAttribute(HtmlConstants.STYLE_ATTRIBUTE, getContentStyle(state == currentState), null);
 
         if (! || state == currentState) {
             state.encodeContent(contextcomponent);
         }
 
         responseWriter.endElement(HtmlConstants.DIV_ELEM);
     }
 
     public void encodeInitialState(FacesContext context, UIComponent componentProgressBarState currentState)
         throws IOException {
         encodeStateFacet(contextcomponent.currentState);
     }
 
     protected String getWidth(UIComponent component) {
         Number value = NumberUtils.getNumber(getValueOrDefault(component));
         Number minValue = NumberUtils.getNumber(getMinValueOrDefault(component));
         Number maxValue = NumberUtils.getNumber(getMaxValueOrDefault(component));
         Number percent = calculatePercent(valueminValuemaxValue);
 
         return String.valueOf(percent.intValue());
     }

    
Calculates percent value according to min & max value

Parameters:
value
minValue
maxValue
 
     protected Number calculatePercent(Number valueNumber minValueNumber maxValue) {
         if (minValue.doubleValue() < value.doubleValue() && value.doubleValue() < maxValue.doubleValue()) {
            return (Number) ((value.doubleValue() - minValue.doubleValue()) * 100.0 / (maxValue.doubleValue() - minValue
                .doubleValue()));
        } else if (value.doubleValue() <= minValue.doubleValue()) {
            return 0;
        } else if (value.doubleValue() >= maxValue.doubleValue()) {
            return 100;
        }
        return 0;
    }
    public void encodeProgressStateContent(FacesContext context, UIComponent componentProgressBarState currentState)
        throws IOException {
        if (!..hasContent(contextcomponent)) {
            return;
        }
        ResponseWriter responseWriter = context.getResponseWriter();
        String stateClientId = ..getStateClientId(contextcomponent);
        responseWriter.startElement(HtmlConstants.DIV_ELEM, component);
        responseWriter.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE,
            ..getStyleClass(contextcomponent), null);
        responseWriter.writeAttribute(HtmlConstants.ID_ATTRIBUTE, stateClientIdnull);
        if (! || currentState == .) {
            ..encodeContent(contextcomponent);
        }
        responseWriter.endElement(HtmlConstants.DIV_ELEM);
    }
    protected void encodeProgressStateProlog(FacesContext context, UIComponent componentProgressBarState currentState)
        throws IOException {
        ResponseWriter responseWriter = context.getResponseWriter();
        responseWriter.startElement(HtmlConstants.DIV_ELEM, component);
        responseWriter.writeAttribute(HtmlConstants.ID_ATTRIBUTE, component.getClientId(context) + ".rmng"null);
        responseWriter.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE,
            HtmlUtil.concatClasses("rf-pb-rmng"component.getAttributes().get("remainingClass")), null);
        responseWriter.writeAttribute(HtmlConstants.STYLE_ATTRIBUTE,
            getContentStyle(currentState == .), null);
        responseWriter.startElement(HtmlConstants.DIV_ELEM, component);
        responseWriter.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE,
            HtmlUtil.concatClasses("rf-pb-prgs"component.getAttributes().get("progressClass")), null);
        responseWriter.writeAttribute(HtmlConstants.ID_ATTRIBUTE, component.getClientId(context) + ".prgs"null);
        responseWriter.writeAttribute(HtmlConstants.STYLE_ATTRIBUTE, "width: " + getWidth(component) + "%"null);
        responseWriter.endElement(HtmlConstants.DIV_ELEM);
    }
    protected void encodeProgressStateEpilog(FacesContext context, UIComponent componentProgressBarState currentState)
        throws IOException {
        ResponseWriter responseWriter = context.getResponseWriter();
        responseWriter.endElement(HtmlConstants.DIV_ELEM);
    }
    public void encodeProgressState(FacesContext context, UIComponent componentProgressBarState currentState)
        throws IOException {
        encodeProgressStateProlog(contextcomponentcurrentState);
        encodeProgressStateContent(contextcomponentcurrentState);
        encodeProgressStateEpilog(contextcomponentcurrentState);
    }
    public void encodeCompleteState(FacesContext context, UIComponent componentProgressBarState currentState)
        throws IOException {
        encodeStateFacet(contextcomponent.currentState);
    }
    protected Object getMaxValueOrDefault(UIComponent component) {
        Object maxValue = ((AbstractProgressBarcomponent).getMaxValue();
        if (maxValue == null) {
            maxValue = ;
        }
        return maxValue;
    }
    protected Object getMinValueOrDefault(UIComponent component) {
        Object maxValue = ((AbstractProgressBarcomponent).getMinValue();
        if (maxValue == null) {
            maxValue = ;
        }
        return maxValue;
    }
    protected Object getValueOrDefault(UIComponent component) {
        Object value = ((AbstractProgressBarcomponent).getValue();
        if (value == null) {
            value = .;
        }
        return value;
    }
New to GrepCode? Check out our FAQ X