All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javax.faces.component.html.HtmlInputFile Maven / Gradle / Ivy

Go to download

Jakarta Faces defines an MVC framework for building user interfaces for web applications, including UI components, state management, event handing, input validation, page navigation, and support for internationalization and accessibility.

There is a newer version: 4.1.0
Show newest version
/*
 * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0, which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the
 * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
 * version 2 with the GNU Classpath Exception, which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 */

package javax.faces.component.html;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import javax.el.ValueExpression;
import javax.faces.component.behavior.ClientBehaviorHolder;
import javax.faces.context.FacesContext;

public class HtmlInputFile extends javax.faces.component.UIInput implements ClientBehaviorHolder {



    private static final String OPTIMIZED_PACKAGE = "javax.faces.component.";

    public HtmlInputFile() {
        super();
        setRendererType("javax.faces.File");
    }


    /**
     * 

The standard component type for this component.

*/ public static final String COMPONENT_TYPE = "javax.faces.HtmlInputFile"; protected enum PropertyKeys { accesskey, alt, autocomplete, dir, disabled, label, lang, maxlength, onblur, onchange, onclick, ondblclick, onfocus, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup, onselect, readonly, role, size, style, styleClass, tabindex, title, ; String toString; PropertyKeys(String toString) { this.toString = toString; } PropertyKeys() { } @Override public String toString() { return ((toString != null) ? toString : super.toString()); } } /** *

Return the value of the accesskey property.

*

Contents: Access key that, when pressed, transfers focus * to this element. * * @return the value of the property * */ public java.lang.String getAccesskey() { return (java.lang.String) getStateHelper().eval(PropertyKeys.accesskey); } /** *

Set the value of the accesskey property.

* * @param accesskey the new property value * */ public void setAccesskey(java.lang.String accesskey) { getStateHelper().put(PropertyKeys.accesskey, accesskey); handleAttribute("accesskey", accesskey); } /** *

Return the value of the alt property.

*

Contents: Alternate textual description of the * element rendered by this component. * * @return the value of the property * */ public java.lang.String getAlt() { return (java.lang.String) getStateHelper().eval(PropertyKeys.alt); } /** *

Set the value of the alt property.

* * @param alt the new property value * */ public void setAlt(java.lang.String alt) { getStateHelper().put(PropertyKeys.alt, alt); handleAttribute("alt", alt); } /** *

Return the value of the autocomplete property.

*

Contents: If the value of this attribute is "off", render "off" as the value * of the attribute. This indicates that the browser should * disable its autocomplete feature for this component. This is * useful for components that perform autocompletion and do not * want the browser interfering. If this attribute is not set or the value * is "on", render nothing. * * @return the value of the property * */ public java.lang.String getAutocomplete() { return (java.lang.String) getStateHelper().eval(PropertyKeys.autocomplete); } /** *

Set the value of the autocomplete property.

* * @param autocomplete the new property value * */ public void setAutocomplete(java.lang.String autocomplete) { getStateHelper().put(PropertyKeys.autocomplete, autocomplete); } /** *

Return the value of the dir property.

*

Contents: Direction indication for text that does not inherit directionality. * Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). * These attributes are case sensitive when rendering to XHTML, so * care must be taken to have the correct case. * * @return the value of the property * */ public java.lang.String getDir() { return (java.lang.String) getStateHelper().eval(PropertyKeys.dir); } /** *

Set the value of the dir property.

* * @param dir the new property value * */ public void setDir(java.lang.String dir) { getStateHelper().put(PropertyKeys.dir, dir); handleAttribute("dir", dir); } /** *

Return the value of the disabled property.

*

Contents: Flag indicating that this element must never receive focus or * be included in a subsequent submit. A value of false causes * no attribute to be rendered, while a value of true causes the * attribute to be rendered as disabled="disabled". * * @return the value of the property * */ public boolean isDisabled() { return (java.lang.Boolean) getStateHelper().eval(PropertyKeys.disabled, false); } /** *

Set the value of the disabled property.

* * @param disabled the new property value * */ public void setDisabled(boolean disabled) { getStateHelper().put(PropertyKeys.disabled, disabled); } /** *

Return the value of the label property.

*

Contents: A localized user presentable name for this component. * * @return the value of the property * */ public java.lang.String getLabel() { return (java.lang.String) getStateHelper().eval(PropertyKeys.label); } /** *

Set the value of the label property.

* * @param label the new property value * */ public void setLabel(java.lang.String label) { getStateHelper().put(PropertyKeys.label, label); } /** *

Return the value of the lang property.

*

Contents: Code describing the language used in the generated markup * for this component. * * @return the value of the property * */ public java.lang.String getLang() { return (java.lang.String) getStateHelper().eval(PropertyKeys.lang); } /** *

Set the value of the lang property.

* * @param lang the new property value * */ public void setLang(java.lang.String lang) { getStateHelper().put(PropertyKeys.lang, lang); handleAttribute("lang", lang); } /** *

Return the value of the maxlength property.

*

Contents: The maximum number of characters that may * be entered in this field. * * @return the value of the property * */ public int getMaxlength() { return (java.lang.Integer) getStateHelper().eval(PropertyKeys.maxlength, Integer.MIN_VALUE); } /** *

Set the value of the maxlength property.

* * @param maxlength the new property value * */ public void setMaxlength(int maxlength) { getStateHelper().put(PropertyKeys.maxlength, maxlength); handleAttribute("maxlength", maxlength); } /** *

Return the value of the onblur property.

*

Contents: JavaScript code executed when this element loses focus. * * @return the value of the property * */ public java.lang.String getOnblur() { return (java.lang.String) getStateHelper().eval(PropertyKeys.onblur); } /** *

Set the value of the onblur property.

* * @param onblur the new property value * */ public void setOnblur(java.lang.String onblur) { getStateHelper().put(PropertyKeys.onblur, onblur); handleAttribute("onblur", onblur); } /** *

Return the value of the onchange property.

*

Contents: JavaScript code executed when this element loses focus * and its value has been modified since gaining focus. * * @return the value of the property * */ public java.lang.String getOnchange() { return (java.lang.String) getStateHelper().eval(PropertyKeys.onchange); } /** *

Set the value of the onchange property.

* * @param onchange the new property value * */ public void setOnchange(java.lang.String onchange) { getStateHelper().put(PropertyKeys.onchange, onchange); } /** *

Return the value of the onclick property.

*

Contents: JavaScript code executed when a pointer button is * clicked over this element. * * @return the value of the property * */ public java.lang.String getOnclick() { return (java.lang.String) getStateHelper().eval(PropertyKeys.onclick); } /** *

Set the value of the onclick property.

* * @param onclick the new property value * */ public void setOnclick(java.lang.String onclick) { getStateHelper().put(PropertyKeys.onclick, onclick); handleAttribute("onclick", onclick); } /** *

Return the value of the ondblclick property.

*

Contents: JavaScript code executed when a pointer button is * double clicked over this element. * * @return the value of the property * */ public java.lang.String getOndblclick() { return (java.lang.String) getStateHelper().eval(PropertyKeys.ondblclick); } /** *

Set the value of the ondblclick property.

* * @param ondblclick the new property value * */ public void setOndblclick(java.lang.String ondblclick) { getStateHelper().put(PropertyKeys.ondblclick, ondblclick); handleAttribute("ondblclick", ondblclick); } /** *

Return the value of the onfocus property.

*

Contents: JavaScript code executed when this element receives focus. * * @return the value of the property * */ public java.lang.String getOnfocus() { return (java.lang.String) getStateHelper().eval(PropertyKeys.onfocus); } /** *

Set the value of the onfocus property.

* * @param onfocus the new property value * */ public void setOnfocus(java.lang.String onfocus) { getStateHelper().put(PropertyKeys.onfocus, onfocus); handleAttribute("onfocus", onfocus); } /** *

Return the value of the onkeydown property.

*

Contents: JavaScript code executed when a key is * pressed down over this element. * * @return the value of the property * */ public java.lang.String getOnkeydown() { return (java.lang.String) getStateHelper().eval(PropertyKeys.onkeydown); } /** *

Set the value of the onkeydown property.

* * @param onkeydown the new property value * */ public void setOnkeydown(java.lang.String onkeydown) { getStateHelper().put(PropertyKeys.onkeydown, onkeydown); handleAttribute("onkeydown", onkeydown); } /** *

Return the value of the onkeypress property.

*

Contents: JavaScript code executed when a key is * pressed and released over this element. * * @return the value of the property * */ public java.lang.String getOnkeypress() { return (java.lang.String) getStateHelper().eval(PropertyKeys.onkeypress); } /** *

Set the value of the onkeypress property.

* * @param onkeypress the new property value * */ public void setOnkeypress(java.lang.String onkeypress) { getStateHelper().put(PropertyKeys.onkeypress, onkeypress); handleAttribute("onkeypress", onkeypress); } /** *

Return the value of the onkeyup property.

*

Contents: JavaScript code executed when a key is * released over this element. * * @return the value of the property * */ public java.lang.String getOnkeyup() { return (java.lang.String) getStateHelper().eval(PropertyKeys.onkeyup); } /** *

Set the value of the onkeyup property.

* * @param onkeyup the new property value * */ public void setOnkeyup(java.lang.String onkeyup) { getStateHelper().put(PropertyKeys.onkeyup, onkeyup); handleAttribute("onkeyup", onkeyup); } /** *

Return the value of the onmousedown property.

*

Contents: JavaScript code executed when a pointer button is * pressed down over this element. * * @return the value of the property * */ public java.lang.String getOnmousedown() { return (java.lang.String) getStateHelper().eval(PropertyKeys.onmousedown); } /** *

Set the value of the onmousedown property.

* * @param onmousedown the new property value * */ public void setOnmousedown(java.lang.String onmousedown) { getStateHelper().put(PropertyKeys.onmousedown, onmousedown); handleAttribute("onmousedown", onmousedown); } /** *

Return the value of the onmousemove property.

*

Contents: JavaScript code executed when a pointer button is * moved within this element. * * @return the value of the property * */ public java.lang.String getOnmousemove() { return (java.lang.String) getStateHelper().eval(PropertyKeys.onmousemove); } /** *

Set the value of the onmousemove property.

* * @param onmousemove the new property value * */ public void setOnmousemove(java.lang.String onmousemove) { getStateHelper().put(PropertyKeys.onmousemove, onmousemove); handleAttribute("onmousemove", onmousemove); } /** *

Return the value of the onmouseout property.

*

Contents: JavaScript code executed when a pointer button is * moved away from this element. * * @return the value of the property * */ public java.lang.String getOnmouseout() { return (java.lang.String) getStateHelper().eval(PropertyKeys.onmouseout); } /** *

Set the value of the onmouseout property.

* * @param onmouseout the new property value * */ public void setOnmouseout(java.lang.String onmouseout) { getStateHelper().put(PropertyKeys.onmouseout, onmouseout); handleAttribute("onmouseout", onmouseout); } /** *

Return the value of the onmouseover property.

*

Contents: JavaScript code executed when a pointer button is * moved onto this element. * * @return the value of the property * */ public java.lang.String getOnmouseover() { return (java.lang.String) getStateHelper().eval(PropertyKeys.onmouseover); } /** *

Set the value of the onmouseover property.

* * @param onmouseover the new property value * */ public void setOnmouseover(java.lang.String onmouseover) { getStateHelper().put(PropertyKeys.onmouseover, onmouseover); handleAttribute("onmouseover", onmouseover); } /** *

Return the value of the onmouseup property.

*

Contents: JavaScript code executed when a pointer button is * released over this element. * * @return the value of the property * */ public java.lang.String getOnmouseup() { return (java.lang.String) getStateHelper().eval(PropertyKeys.onmouseup); } /** *

Set the value of the onmouseup property.

* * @param onmouseup the new property value * */ public void setOnmouseup(java.lang.String onmouseup) { getStateHelper().put(PropertyKeys.onmouseup, onmouseup); handleAttribute("onmouseup", onmouseup); } /** *

Return the value of the onselect property.

*

Contents: JavaScript code executed when text within this * element is selected by the user. * * @return the value of the property * */ public java.lang.String getOnselect() { return (java.lang.String) getStateHelper().eval(PropertyKeys.onselect); } /** *

Set the value of the onselect property.

* * @param onselect the new property value * */ public void setOnselect(java.lang.String onselect) { getStateHelper().put(PropertyKeys.onselect, onselect); handleAttribute("onselect", onselect); } /** *

Return the value of the readonly property.

*

Contents: Flag indicating that this component will prohibit changes by * the user. The element may receive focus unless it has also * been disabled. A value of false causes * no attribute to be rendered, while a value of true causes the * attribute to be rendered as readonly="readonly". * * @return the value of the property * */ public boolean isReadonly() { return (java.lang.Boolean) getStateHelper().eval(PropertyKeys.readonly, false); } /** *

Set the value of the readonly property.

* * @param readonly the new property value * */ public void setReadonly(boolean readonly) { getStateHelper().put(PropertyKeys.readonly, readonly); } /** *

Return the value of the role property.

*

Contents:

Per the WAI-ARIA spec and its * relationship to HTML5 (Section title ARIA Role Attriubute), * every HTML element may have a "role" attribute whose value * must be passed through unmodified on the element on which it * is declared in the final rendered markup. The attribute, if * specified, must have a value that is a string literal that is, * or an EL Expression that evaluates to, a set of * space-separated tokens representing the various WAI-ARIA roles * that the element belongs to. *

* *

It is the page author's * responsibility to ensure that the user agent is capable of * correctly interpreting the value of this attribute.

* * @return the value of the property * */ public java.lang.String getRole() { return (java.lang.String) getStateHelper().eval(PropertyKeys.role); } /** *

Set the value of the role property.

* * @param role the new property value * */ public void setRole(java.lang.String role) { getStateHelper().put(PropertyKeys.role, role); handleAttribute("role", role); } /** *

Return the value of the size property.

*

Contents: The number of characters used to determine * the width of this field. * * @return the value of the property * */ public int getSize() { return (java.lang.Integer) getStateHelper().eval(PropertyKeys.size, Integer.MIN_VALUE); } /** *

Set the value of the size property.

* * @param size the new property value * */ public void setSize(int size) { getStateHelper().put(PropertyKeys.size, size); handleAttribute("size", size); } /** *

Return the value of the style property.

*

Contents: CSS style(s) to be applied when this component is rendered. * * @return the value of the property * */ public java.lang.String getStyle() { return (java.lang.String) getStateHelper().eval(PropertyKeys.style); } /** *

Set the value of the style property.

* * @param style the new property value * */ public void setStyle(java.lang.String style) { getStateHelper().put(PropertyKeys.style, style); handleAttribute("style", style); } /** *

Return the value of the styleClass property.

*

Contents: Space-separated list of CSS style class(es) to be applied when * this element is rendered. This value must be passed through * as the "class" attribute on generated markup. * * @return the value of the property * */ public java.lang.String getStyleClass() { return (java.lang.String) getStateHelper().eval(PropertyKeys.styleClass); } /** *

Set the value of the styleClass property.

* * @param styleClass the new property value * */ public void setStyleClass(java.lang.String styleClass) { getStateHelper().put(PropertyKeys.styleClass, styleClass); } /** *

Return the value of the tabindex property.

*

Contents: Position of this element in the tabbing order * for the current document. This value must be * an integer between 0 and 32767. * * @return the value of the property * */ public java.lang.String getTabindex() { return (java.lang.String) getStateHelper().eval(PropertyKeys.tabindex); } /** *

Set the value of the tabindex property.

* * @param tabindex the new property value * */ public void setTabindex(java.lang.String tabindex) { getStateHelper().put(PropertyKeys.tabindex, tabindex); handleAttribute("tabindex", tabindex); } /** *

Return the value of the title property.

*

Contents: Advisory title information about markup elements generated * for this component. * * @return the value of the property * */ public java.lang.String getTitle() { return (java.lang.String) getStateHelper().eval(PropertyKeys.title); } /** *

Set the value of the title property.

* * @param title the new property value * */ public void setTitle(java.lang.String title) { getStateHelper().put(PropertyKeys.title, title); handleAttribute("title", title); } private static final Collection EVENT_NAMES = Collections.unmodifiableCollection(Arrays.asList("blur","change","valueChange","click","dblclick","focus","keydown","keypress","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","select")); @Override public Collection getEventNames() { return EVENT_NAMES; } @Override public String getDefaultEventName() { return "valueChange"; } private void handleAttribute(String name, Object value) { List setAttributes = (List) this.getAttributes().get("javax.faces.component.UIComponentBase.attributesThatAreSet"); if (setAttributes == null) { String cname = this.getClass().getName(); if (cname != null && cname.startsWith(OPTIMIZED_PACKAGE)) { setAttributes = new ArrayList(6); this.getAttributes().put("javax.faces.component.UIComponentBase.attributesThatAreSet", setAttributes); } } if (setAttributes != null) { if (value == null) { ValueExpression ve = getValueExpression(name); if (ve == null) { setAttributes.remove(name); } } else if (!setAttributes.contains(name)) { setAttributes.add(name); } } } @Override public Object saveState(FacesContext context) { Object result; this.resetValue(); result = super.saveState(context); return result; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy