/**
* Copyright 2014-2017 Riccardo Massera (TheCoder4.Eu) and Stephan Rauh (http://www.beyondjava.net).
*
* This file is part of BootsFaces.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package net.bootsfaces.component.progressBar;
import javax.el.ValueExpression;
import javax.faces.component.FacesComponent;
import javax.faces.component.UIOutput;
import net.bootsfaces.C;
import net.bootsfaces.listeners.AddResourcesListener;
import net.bootsfaces.render.IResponsive;
import net.bootsfaces.render.Tooltip;
import net.bootsfaces.utils.BsfUtils;
/** This class holds the attributes of <b:progressBar />. */
@FacesComponent(ProgressBar.COMPONENT_TYPE)
public class ProgressBar extends UIOutput implements net.bootsfaces.render.IHasTooltip, IResponsive {
public static final String COMPONENT_TYPE = C.BSFCOMPONENT + ".progressBar.ProgressBar";
public static final String COMPONENT_FAMILY = C.BSFCOMPONENT;
public static final String DEFAULT_RENDERER = "net.bootsfaces.component.progressBar.ProgressBar";
public ProgressBar() {
//!bs-less//AddResourcesListener.addThemedCSSResource("progress-bars.css");
Tooltip.addResourceFiles();
setRendererType(DEFAULT_RENDERER);
}
public String getFamily() {
return COMPONENT_FAMILY;
}
/**
* Manage EL-expression for snake-case attributes
*/
public void setValueExpression(String name, ValueExpression binding) {
name = BsfUtils.snakeCaseToCamelCase(name);
super.setValueExpression(name, binding);
}
protected enum PropertyKeys {
animated,
caption,
colLg,
colMd,
colSm,
colXs,
display,
hidden,
largeScreen,
look,
max,
maxDecimalPlaces,
mediumScreen,
min,
offset,
offsetLg,
offsetMd,
offsetSm,
offsetXs,
renderCaption,
smallScreen,
span,
striped,
style,
styleClass,
tinyScreen,
tooltip,
tooltipContainer,
tooltipDelay,
tooltipDelayHide,
tooltipDelayShow,
tooltipPosition,
value,
visible;
String toString;
PropertyKeys(String toString) {
this.toString = toString;
}
PropertyKeys() {
}
public String toString() {
return ((this.toString != null) ? this.toString : super.toString());
}
}
/**
* If true, stripes will be added and animated to move from right to left to indicate running actions. Default value: false. <P>
* @return Returns the value of the attribute, or false, if it hasn't been set by the JSF file.
*/
public boolean isAnimated() {
return (boolean) (Boolean) getStateHelper().eval(PropertyKeys.animated, false);
}
/**
* If true, stripes will be added and animated to move from right to left to indicate running actions. Default value: false. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setAnimated(boolean _animated) {
getStateHelper().put(PropertyKeys.animated, _animated);
}
/**
* Optional caption to change the text, which is shown on the progress bar. Default is the progressbar completion in percent. <P>
* @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
*/
public String getCaption() {
return (String) getStateHelper().eval(PropertyKeys.caption);
}
/**
* Optional caption to change the text, which is shown on the progress bar. Default is the progressbar completion in percent. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setCaption(String _caption) {
getStateHelper().put(PropertyKeys.caption, _caption);
}
/**
* Integer value to specify how many columns to span on large screens (≥1200 pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths. <P>
* @return Returns the value of the attribute, or "-1", if it hasn't been set by the JSF file.
*/
public String getColLg() {
return (String) getStateHelper().eval(PropertyKeys.colLg, "-1");
}
/**
* Integer value to specify how many columns to span on large screens (≥1200 pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setColLg(String _colLg) {
getStateHelper().put(PropertyKeys.colLg, _colLg);
}
/**
* Integer value to specify how many columns to span on medium screens (≥992 pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths. <P>
* @return Returns the value of the attribute, or "-1", if it hasn't been set by the JSF file.
*/
public String getColMd() {
return (String) getStateHelper().eval(PropertyKeys.colMd, "-1");
}
/**
* Integer value to specify how many columns to span on medium screens (≥992 pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setColMd(String _colMd) {
getStateHelper().put(PropertyKeys.colMd, _colMd);
}
/**
* Integer value to specify how many columns to span on small screens (≥768p pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths. <P>
* @return Returns the value of the attribute, or "-1", if it hasn't been set by the JSF file.
*/
public String getColSm() {
return (String) getStateHelper().eval(PropertyKeys.colSm, "-1");
}
/**
* Integer value to specify how many columns to span on small screens (≥768p pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setColSm(String _colSm) {
getStateHelper().put(PropertyKeys.colSm, _colSm);
}
/**
* Integer value to specify how many columns to span on tiny screens (≤ 767 pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths. <P>
* @return Returns the value of the attribute, or "-1", if it hasn't been set by the JSF file.
*/
public String getColXs() {
return (String) getStateHelper().eval(PropertyKeys.colXs, "-1");
}
/**
* Integer value to specify how many columns to span on tiny screens (≤ 767 pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setColXs(String _colXs) {
getStateHelper().put(PropertyKeys.colXs, _colXs);
}
/**
* If you use the "visible" attribute, the value of this attribute is added. Legal values: block, inline, inline-block. Default: block. <P>
* @return Returns the value of the attribute, or "block", if it hasn't been set by the JSF file.
*/
public String getDisplay() {
return (String) getStateHelper().eval(PropertyKeys.display, "block");
}
/**
* If you use the "visible" attribute, the value of this attribute is added. Legal values: block, inline, inline-block. Default: block. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setDisplay(String _display) {
getStateHelper().put(PropertyKeys.display, _display);
}
/**
* This column is hidden on a certain screen size and below. Legal values: lg, md, sm, xs. <P>
* @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
*/
public String getHidden() {
return (String) getStateHelper().eval(PropertyKeys.hidden);
}
/**
* This column is hidden on a certain screen size and below. Legal values: lg, md, sm, xs. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setHidden(String _hidden) {
getStateHelper().put(PropertyKeys.hidden, _hidden);
}
/**
* Alternative spelling to col-lg. Integer value to specify how many columns to span on large screens (≥1200 pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths. <P>
* @return Returns the value of the attribute, or "-1", if it hasn't been set by the JSF file.
*/
public String getLargeScreen() {
return (String) getStateHelper().eval(PropertyKeys.largeScreen, "-1");
}
/**
* Alternative spelling to col-lg. Integer value to specify how many columns to span on large screens (≥1200 pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setLargeScreen(String _largeScreen) {
getStateHelper().put(PropertyKeys.largeScreen, _largeScreen);
}
/**
* Look of the ProgressBar, can be info, success, warning, or danger. If not specified, a blue bar will be rendered. <P>
* @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
*/
public String getLook() {
return (String) getStateHelper().eval(PropertyKeys.look);
}
/**
* Look of the ProgressBar, can be info, success, warning, or danger. If not specified, a blue bar will be rendered. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setLook(String _look) {
getStateHelper().put(PropertyKeys.look, _look);
}
/**
* The maximum value of the ProgressBar. (default 100) <P>
* @return Returns the value of the attribute, or 100, if it hasn't been set by the JSF file.
*/
public int getMax() {
return (int) (Integer) getStateHelper().eval(PropertyKeys.max, 100);
}
/**
* The maximum value of the ProgressBar. (default 100) <P>
* Usually this method is called internally by the JSF engine.
*/
public void setMax(int _max) {
getStateHelper().put(PropertyKeys.max, _max);
}
/**
* The maximal number of fraction digits, which should be used to show the default caption. Set to 0 to show integer numbers only. <P>
* @return Returns the value of the attribute, or 2, if it hasn't been set by the JSF file.
*/
public int getMaxDecimalPlaces() {
return (int) (Integer) getStateHelper().eval(PropertyKeys.maxDecimalPlaces, 2);
}
/**
* The maximal number of fraction digits, which should be used to show the default caption. Set to 0 to show integer numbers only. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setMaxDecimalPlaces(int _maxDecimalPlaces) {
getStateHelper().put(PropertyKeys.maxDecimalPlaces, _maxDecimalPlaces);
}
/**
* Alternative spelling to col-md. Integer value to specify how many columns to span on medium screens (≥992 pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths. <P>
* @return Returns the value of the attribute, or "-1", if it hasn't been set by the JSF file.
*/
public String getMediumScreen() {
return (String) getStateHelper().eval(PropertyKeys.mediumScreen, "-1");
}
/**
* Alternative spelling to col-md. Integer value to specify how many columns to span on medium screens (≥992 pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setMediumScreen(String _mediumScreen) {
getStateHelper().put(PropertyKeys.mediumScreen, _mediumScreen);
}
/**
* The minimum value of the ProgressBar. (default 0) <P>
* @return Returns the value of the attribute, or 0, if it hasn't been set by the JSF file.
*/
public int getMin() {
return (int) (Integer) getStateHelper().eval(PropertyKeys.min, 0);
}
/**
* The minimum value of the ProgressBar. (default 0) <P>
* Usually this method is called internally by the JSF engine.
*/
public void setMin(int _min) {
getStateHelper().put(PropertyKeys.min, _min);
}
/**
* Integer value to specify how many columns to offset. <P>
* @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
*/
public String getOffset() {
return (String) getStateHelper().eval(PropertyKeys.offset);
}
/**
* Integer value to specify how many columns to offset. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setOffset(String _offset) {
getStateHelper().put(PropertyKeys.offset, _offset);
}
/**
* Integer value to specify how many columns to offset. <P>
* @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
*/
public String getOffsetLg() {
return (String) getStateHelper().eval(PropertyKeys.offsetLg);
}
/**
* Integer value to specify how many columns to offset. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setOffsetLg(String _offsetLg) {
getStateHelper().put(PropertyKeys.offsetLg, _offsetLg);
}
/**
* Integer value to specify how many columns to offset. <P>
* @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
*/
public String getOffsetMd() {
return (String) getStateHelper().eval(PropertyKeys.offsetMd);
}
/**
* Integer value to specify how many columns to offset. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setOffsetMd(String _offsetMd) {
getStateHelper().put(PropertyKeys.offsetMd, _offsetMd);
}
/**
* Integer value to specify how many columns to offset. <P>
* @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
*/
public String getOffsetSm() {
return (String) getStateHelper().eval(PropertyKeys.offsetSm);
}
/**
* Integer value to specify how many columns to offset. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setOffsetSm(String _offsetSm) {
getStateHelper().put(PropertyKeys.offsetSm, _offsetSm);
}
/**
* Integer value to specify how many columns to offset. <P>
* @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
*/
public String getOffsetXs() {
return (String) getStateHelper().eval(PropertyKeys.offsetXs);
}
/**
* Integer value to specify how many columns to offset. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setOffsetXs(String _offsetXs) {
getStateHelper().put(PropertyKeys.offsetXs, _offsetXs);
}
/**
* If true, the caption will be shown. Set this to false if you don't want the progress bar to show any value or text. Default value: true <P>
* @return Returns the value of the attribute, or true, if it hasn't been set by the JSF file.
*/
public boolean isRenderCaption() {
return (boolean) (Boolean) getStateHelper().eval(PropertyKeys.renderCaption, true);
}
/**
* If true, the caption will be shown. Set this to false if you don't want the progress bar to show any value or text. Default value: true <P>
* Usually this method is called internally by the JSF engine.
*/
public void setRenderCaption(boolean _renderCaption) {
getStateHelper().put(PropertyKeys.renderCaption, _renderCaption);
}
/**
* Alternative spelling to col-sm. Integer value to specify how many columns to span on small screens (≥768p pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths. <P>
* @return Returns the value of the attribute, or "-1", if it hasn't been set by the JSF file.
*/
public String getSmallScreen() {
return (String) getStateHelper().eval(PropertyKeys.smallScreen, "-1");
}
/**
* Alternative spelling to col-sm. Integer value to specify how many columns to span on small screens (≥768p pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setSmallScreen(String _smallScreen) {
getStateHelper().put(PropertyKeys.smallScreen, _smallScreen);
}
/**
* Integer value to specify how many columns to span on medium screens (≥992 pixels). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths. <P>
* @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
*/
public String getSpan() {
return (String) getStateHelper().eval(PropertyKeys.span);
}
/**
* Integer value to specify how many columns to span on medium screens (≥992 pixels). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setSpan(String _span) {
getStateHelper().put(PropertyKeys.span, _span);
}
/**
* If true, stripes will be added to the ProgressBar's look. Default value: false. <P>
* @return Returns the value of the attribute, or false, if it hasn't been set by the JSF file.
*/
public boolean isStriped() {
return (boolean) (Boolean) getStateHelper().eval(PropertyKeys.striped, false);
}
/**
* If true, stripes will be added to the ProgressBar's look. Default value: false. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setStriped(boolean _striped) {
getStateHelper().put(PropertyKeys.striped, _striped);
}
/**
* Inline style of the input element. <P>
* @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
*/
public String getStyle() {
return (String) getStateHelper().eval(PropertyKeys.style);
}
/**
* Inline style of the input element. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setStyle(String _style) {
getStateHelper().put(PropertyKeys.style, _style);
}
/**
* Style class of the input element. <P>
* @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
*/
public String getStyleClass() {
return (String) getStateHelper().eval(PropertyKeys.styleClass);
}
/**
* Style class of the input element. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setStyleClass(String _styleClass) {
getStateHelper().put(PropertyKeys.styleClass, _styleClass);
}
/**
* Alternative spelling to col-xs. Integer value to specify how many columns to span on tiny screens (≤ 767 pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths. <P>
* @return Returns the value of the attribute, or "-1", if it hasn't been set by the JSF file.
*/
public String getTinyScreen() {
return (String) getStateHelper().eval(PropertyKeys.tinyScreen, "-1");
}
/**
* Alternative spelling to col-xs. Integer value to specify how many columns to span on tiny screens (≤ 767 pixels wide). The number may optionally be followed by "column" or "columns". Alternative legal values: half, one-third, two-thirds, one-fourth, three-fourths. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setTinyScreen(String _tinyScreen) {
getStateHelper().put(PropertyKeys.tinyScreen, _tinyScreen);
}
/**
* The text of the tooltip. <P>
* @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
*/
public String getTooltip() {
return (String) getStateHelper().eval(PropertyKeys.tooltip);
}
/**
* The text of the tooltip. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setTooltip(String _tooltip) {
getStateHelper().put(PropertyKeys.tooltip, _tooltip);
}
/**
* Where is the tooltip div generated? That's primarily a technical value that can be used to fix rendering errors in special cases. Also see data-container in the documentation of Bootstrap. The default value is body. <P>
* @return Returns the value of the attribute, or "body", if it hasn't been set by the JSF file.
*/
public String getTooltipContainer() {
return (String) getStateHelper().eval(PropertyKeys.tooltipContainer, "body");
}
/**
* Where is the tooltip div generated? That's primarily a technical value that can be used to fix rendering errors in special cases. Also see data-container in the documentation of Bootstrap. The default value is body. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setTooltipContainer(String _tooltipContainer) {
getStateHelper().put(PropertyKeys.tooltipContainer, _tooltipContainer);
}
/**
* The tooltip is shown and hidden with a delay. This value is the delay in milliseconds. Defaults to 0 (no delay). <P>
* @return Returns the value of the attribute, or 0, if it hasn't been set by the JSF file.
*/
public int getTooltipDelay() {
return (int) (Integer) getStateHelper().eval(PropertyKeys.tooltipDelay, 0);
}
/**
* The tooltip is shown and hidden with a delay. This value is the delay in milliseconds. Defaults to 0 (no delay). <P>
* Usually this method is called internally by the JSF engine.
*/
public void setTooltipDelay(int _tooltipDelay) {
getStateHelper().put(PropertyKeys.tooltipDelay, _tooltipDelay);
}
/**
* The tooltip is hidden with a delay. This value is the delay in milliseconds. Defaults to 0 (no delay). <P>
* @return Returns the value of the attribute, or 0, if it hasn't been set by the JSF file.
*/
public int getTooltipDelayHide() {
return (int) (Integer) getStateHelper().eval(PropertyKeys.tooltipDelayHide, 0);
}
/**
* The tooltip is hidden with a delay. This value is the delay in milliseconds. Defaults to 0 (no delay). <P>
* Usually this method is called internally by the JSF engine.
*/
public void setTooltipDelayHide(int _tooltipDelayHide) {
getStateHelper().put(PropertyKeys.tooltipDelayHide, _tooltipDelayHide);
}
/**
* The tooltip is shown with a delay. This value is the delay in milliseconds. Defaults to 0 (no delay). <P>
* @return Returns the value of the attribute, or 0, if it hasn't been set by the JSF file.
*/
public int getTooltipDelayShow() {
return (int) (Integer) getStateHelper().eval(PropertyKeys.tooltipDelayShow, 0);
}
/**
* The tooltip is shown with a delay. This value is the delay in milliseconds. Defaults to 0 (no delay). <P>
* Usually this method is called internally by the JSF engine.
*/
public void setTooltipDelayShow(int _tooltipDelayShow) {
getStateHelper().put(PropertyKeys.tooltipDelayShow, _tooltipDelayShow);
}
/**
* Where is the tooltip to be displayed? Possible values: "top", "bottom", "right", "left", "auto", "auto top", "auto bottom", "auto right" and "auto left". Default to "bottom". <P>
* @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
*/
public String getTooltipPosition() {
return (String) getStateHelper().eval(PropertyKeys.tooltipPosition);
}
/**
* Where is the tooltip to be displayed? Possible values: "top", "bottom", "right", "left", "auto", "auto top", "auto bottom", "auto right" and "auto left". Default to "bottom". <P>
* Usually this method is called internally by the JSF engine.
*/
public void setTooltipPosition(String _tooltipPosition) {
getStateHelper().put(PropertyKeys.tooltipPosition, _tooltipPosition);
}
/**
* The value the ProgressBar should indicate. See the label attribute, if the exact value should be shown in text form. <P>
* @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
*/
public String getValue() {
return (String) getStateHelper().eval(PropertyKeys.value);
}
/**
* The value the ProgressBar should indicate. See the label attribute, if the exact value should be shown in text form. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setValue(String _value) {
getStateHelper().put(PropertyKeys.value, _value);
}
/**
* This column is shown on a certain screen size and above. Legal values: lg, md, sm, xs. <P>
* @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file.
*/
public String getVisible() {
return (String) getStateHelper().eval(PropertyKeys.visible);
}
/**
* This column is shown on a certain screen size and above. Legal values: lg, md, sm, xs. <P>
* Usually this method is called internally by the JSF engine.
*/
public void setVisible(String _visible) {
getStateHelper().put(PropertyKeys.visible, _visible);
}
}