/** * 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.carouselCaption; import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Map; import javax.el.ValueExpression; import javax.faces.component.FacesComponent; import javax.faces.component.UICommand; import javax.faces.component.behavior.ClientBehaviorHolder; import net.bootsfaces.C; import net.bootsfaces.component.ajax.IAJAXComponent; import net.bootsfaces.render.Tooltip; import net.bootsfaces.utils.BsfUtils; /** This class holds the attributes of <b:carouselCaption />. */ @FacesComponent(CarouselCaption.COMPONENT_TYPE) public class CarouselCaption extends UICommand implements net.bootsfaces.render.IHasTooltip, IAJAXComponent, ClientBehaviorHolder { public static final String COMPONENT_TYPE = C.BSFCOMPONENT + ".carouselCaption.CarouselCaption"; public static final String COMPONENT_FAMILY = C.BSFCOMPONENT; public static final String DEFAULT_RENDERER = "net.bootsfaces.component.carouselCaption.CarouselCaption"; public CarouselCaption() { Tooltip.addResourceFiles(); setRendererType(DEFAULT_RENDERER); } public void setValueExpression(String name, ValueExpression binding) { name = BsfUtils.snakeCaseToCamelCase(name); super.setValueExpression(name, binding); } public String getFamily() { return COMPONENT_FAMILY; } private static final Collection<String> EVENT_NAMES = Collections.unmodifiableCollection( Arrays.asList("click", "dblclick", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup")); public Collection<String> getEventNames() { return EVENT_NAMES; } /** * returns the subset of AJAX requests that are implemented by jQuery * callback or other non-standard means (such as the onclick event of * b:tabView, which has to be implemented manually). * * @return */ public Map<String, String> getJQueryEvents() { return null; } /** * Returns the subset of the parameter list of jQuery and other non-standard JS callbacks which is sent to the server via AJAX. * If there's no parameter list for a certain event, the default is simply null. * * @return A hash map containing the events. May be null. */ @Override public Map<String, String> getJQueryEventParameterListsForAjax() { return null; } /** * Returns the parameter list of jQuery and other non-standard JS callbacks. * If there's no parameter list for a certain event, the default is simply "event". * * @return A hash map containing the events. May be null. */ @Override public Map<String, String> getJQueryEventParameterLists() { return null; } public String getDefaultEventName() { return "click"; } protected enum PropertyKeys { ajax, disabled, onclick, oncomplete, ondblclick, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup, process, style, styleClass, tooltip, tooltipContainer, tooltipDelay, tooltipDelayHide, tooltipDelayShow, tooltipPosition, update; String toString; PropertyKeys(String toString) { this.toString = toString; } PropertyKeys() { } public String toString() { return ((this.toString != null) ? this.toString : super.toString()); } } /** * Whether the Button submits the form with AJAX. <P> * @return Returns the value of the attribute, or , false, if it hasn't been set by the JSF file. */ public boolean isAjax() { return (boolean) (Boolean) getStateHelper().eval(PropertyKeys.ajax, false); } /** * Whether the Button submits the form with AJAX. <P> * Usually this method is called internally by the JSF engine. */ public void setAjax(boolean _ajax) { getStateHelper().put(PropertyKeys.ajax, _ajax); } /** * Boolean value to specify if the button is disabled. <P> * @return Returns the value of the attribute, or , false, if it hasn't been set by the JSF file. */ public boolean isDisabled() { return (boolean) (Boolean) getStateHelper().eval(PropertyKeys.disabled, false); } /** * Boolean value to specify if the button is disabled. <P> * Usually this method is called internally by the JSF engine. */ public void setDisabled(boolean _disabled) { getStateHelper().put(PropertyKeys.disabled, _disabled); } /** * The onclick attribute. <P> * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file. */ public String getOnclick() { return (String) getStateHelper().eval(PropertyKeys.onclick); } /** * The onclick attribute. <P> * Usually this method is called internally by the JSF engine. */ public void setOnclick(String _onclick) { getStateHelper().put(PropertyKeys.onclick, _onclick); } /** * JavaScript to be executed when ajax completes with success. <P> * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file. */ public String getOncomplete() { return (String) getStateHelper().eval(PropertyKeys.oncomplete); } /** * JavaScript to be executed when ajax completes with success. <P> * Usually this method is called internally by the JSF engine. */ public void setOncomplete(String _oncomplete) { getStateHelper().put(PropertyKeys.oncomplete, _oncomplete); } /** * Client side callback to execute when input element is double clicked. <P> * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file. */ public String getOndblclick() { return (String) getStateHelper().eval(PropertyKeys.ondblclick); } /** * Client side callback to execute when input element is double clicked. <P> * Usually this method is called internally by the JSF engine. */ public void setOndblclick(String _ondblclick) { getStateHelper().put(PropertyKeys.ondblclick, _ondblclick); } /** * Client side callback to execute when a pointer input element is pressed down over input element. <P> * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file. */ public String getOnmousedown() { return (String) getStateHelper().eval(PropertyKeys.onmousedown); } /** * Client side callback to execute when a pointer input element is pressed down over input element. <P> * Usually this method is called internally by the JSF engine. */ public void setOnmousedown(String _onmousedown) { getStateHelper().put(PropertyKeys.onmousedown, _onmousedown); } /** * Client side callback to execute when a pointer input element is moved within input element. <P> * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file. */ public String getOnmousemove() { return (String) getStateHelper().eval(PropertyKeys.onmousemove); } /** * Client side callback to execute when a pointer input element is moved within input element. <P> * Usually this method is called internally by the JSF engine. */ public void setOnmousemove(String _onmousemove) { getStateHelper().put(PropertyKeys.onmousemove, _onmousemove); } /** * Client side callback to execute when a pointer input element is moved away from input element. <P> * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file. */ public String getOnmouseout() { return (String) getStateHelper().eval(PropertyKeys.onmouseout); } /** * Client side callback to execute when a pointer input element is moved away from input element. <P> * Usually this method is called internally by the JSF engine. */ public void setOnmouseout(String _onmouseout) { getStateHelper().put(PropertyKeys.onmouseout, _onmouseout); } /** * Client side callback to execute when a pointer input element is moved onto input element. <P> * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file. */ public String getOnmouseover() { return (String) getStateHelper().eval(PropertyKeys.onmouseover); } /** * Client side callback to execute when a pointer input element is moved onto input element. <P> * Usually this method is called internally by the JSF engine. */ public void setOnmouseover(String _onmouseover) { getStateHelper().put(PropertyKeys.onmouseover, _onmouseover); } /** * Client side callback to execute when a pointer input element is released over input element. <P> * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file. */ public String getOnmouseup() { return (String) getStateHelper().eval(PropertyKeys.onmouseup); } /** * Client side callback to execute when a pointer input element is released over input element. <P> * Usually this method is called internally by the JSF engine. */ public void setOnmouseup(String _onmouseup) { getStateHelper().put(PropertyKeys.onmouseup, _onmouseup); } /** * Comma or space separated list of ids or search expressions denoting which values are to be sent to the server. <P> * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file. */ public String getProcess() { return (String) getStateHelper().eval(PropertyKeys.process); } /** * Comma or space separated list of ids or search expressions denoting which values are to be sent to the server. <P> * Usually this method is called internally by the JSF engine. */ public void setProcess(String _process) { getStateHelper().put(PropertyKeys.process, _process); } /** * 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 this 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 this element. <P> * Usually this method is called internally by the JSF engine. */ public void setStyleClass(String _styleClass) { getStateHelper().put(PropertyKeys.styleClass, _styleClass); } /** * 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); } /** * Component(s) to be updated with ajax. <P> * @return Returns the value of the attribute, or null, if it hasn't been set by the JSF file. */ public String getUpdate() { return (String) getStateHelper().eval(PropertyKeys.update); } /** * Component(s) to be updated with ajax. <P> * Usually this method is called internally by the JSF engine. */ public void setUpdate(String _update) { getStateHelper().put(PropertyKeys.update, _update); } }