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

jakarta.faces.component.html.HtmlOutputLink 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
/*
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 *
 * Copyright (c) 1997, 2020 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 jakarta.faces.component.html;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;

import jakarta.el.ValueExpression;
import jakarta.faces.component.UIOutput;
import jakarta.faces.component.behavior.ClientBehaviorHolder;

/**
 * 

* Represents an HTML a (hyperlink) element that may be used to link to an arbitrary URL defined by the * value property. *

*

* By default, the rendererType property must be set to "jakarta.faces.Link". This value can * be changed by calling the setRendererType() method. *

*/ public class HtmlOutputLink extends UIOutput implements ClientBehaviorHolder { private static final String OPTIMIZED_PACKAGE = "jakarta.faces.component."; public HtmlOutputLink() { super(); setRendererType("jakarta.faces.Link"); } /** *

* The standard component type for this component. *

*/ public static final String COMPONENT_TYPE = "jakarta.faces.HtmlOutputLink"; protected enum PropertyKeys { accesskey, charset, coords, dir, disabled, fragment, hreflang, lang, onblur, onclick, ondblclick, onfocus, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup, rel, rev, role, shape, style, styleClass, tabindex, target, title, type,; 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. *

* * @return the property value *

* Contents: Access key that, when pressed, transfers focus to this element. */ 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 charset property. *

* * @return the property value *

* Contents: The character encoding of the resource designated by this hyperlink. */ public java.lang.String getCharset() { return (java.lang.String) getStateHelper().eval(PropertyKeys.charset); } /** *

* Set the value of the charset property. *

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

* Return the value of the coords property. *

* * @return the property value *

* Contents: The position and shape of the hot spot on the screen (for use in client-side image maps). */ public java.lang.String getCoords() { return (java.lang.String) getStateHelper().eval(PropertyKeys.coords); } /** *

* Set the value of the coords property. *

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

* Return the value of the dir property. *

* * @return the property value *

* 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. */ 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. *

* * @return the property value *

* Contents: Flag indicating that this element must never receive focus or be included in a subsequent submit. */ 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 fragment property. *

* * @return the property value *

* Contents: The identifier of the page fragment which should be brought into focus when the target page is rendered. * The value of this attribute is appended to the end of target URL following a hash (#) mark. This notation is part of * the standard URL syntax. */ public java.lang.String getFragment() { return (java.lang.String) getStateHelper().eval(PropertyKeys.fragment); } /** *

* Set the value of the fragment property. *

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

* Return the value of the hreflang property. *

* * @return the property value *

* Contents: The language code of the resource designated by this hyperlink. */ public java.lang.String getHreflang() { return (java.lang.String) getStateHelper().eval(PropertyKeys.hreflang); } /** *

* Set the value of the hreflang property. *

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

* Return the value of the lang property. *

* * @return the property value *

* Contents: Code describing the language used in the generated markup for this component. */ 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 onblur property. *

* * @return the property value *

* Contents: Javascript code executed when this element loses focus. */ 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 onclick property. *

* * @return the property value *

* Contents: Javascript code executed when a pointer button is clicked over this element. */ 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. *

* * @return the property value *

* Contents: Javascript code executed when a pointer button is double clicked over this element. */ 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. *

* * @return the property value *

* Contents: Javascript code executed when this element receives focus. */ 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. *

* * @return the property value *

* Contents: Javascript code executed when a key is pressed down over this element. */ 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. *

* * @return the property value *

* Contents: Javascript code executed when a key is pressed and released over this element. */ 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. *

* * @return the property value *

* Contents: Javascript code executed when a key is released over this element. */ 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. *

* * @return the property value *

* Contents: Javascript code executed when a pointer button is pressed down over this element. */ 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. *

* * @return the property value *

* Contents: Javascript code executed when a pointer button is moved within this element. */ 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. *

* * @return the property value *

* Contents: Javascript code executed when a pointer button is moved away from this element. */ 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. *

* * @return the property value *

* Contents: Javascript code executed when a pointer button is moved onto this element. */ 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. *

* * @return the property value *

* Contents: Javascript code executed when a pointer button is released over this element. */ 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 rel property. *

* * @return the property value *

* Contents: The relationship from the current document to the anchor specified by this hyperlink. The value of this * attribute is a space-separated list of link types. */ public java.lang.String getRel() { return (java.lang.String) getStateHelper().eval(PropertyKeys.rel); } /** *

* Set the value of the rel property. *

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

* Return the value of the rev property. *

* * @return the property value *

* Contents: A reverse link from the anchor specified by this hyperlink to the current document. The value of this * attribute is a space-separated list of link types. */ public java.lang.String getRev() { return (java.lang.String) getStateHelper().eval(PropertyKeys.rev); } /** *

* Set the value of the rev property. *

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

* Return the value of the role property. *

* * @return the property value *

* 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. *

*/ 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 shape property. *

* * @return the property value *

* Contents: The shape of the hot spot on the screen (for use in client-side image maps). Valid values are: default * (entire region); rect (rectangular region); circle (circular region); and poly (polygonal region). */ public java.lang.String getShape() { return (java.lang.String) getStateHelper().eval(PropertyKeys.shape); } /** *

* Set the value of the shape property. *

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

* Return the value of the style property. *

* * @return the property value *

* Contents: CSS style(s) to be applied when this component is rendered. */ 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. *

* * @return the property value *

* 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. */ 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. *

* * @return the property value *

* Contents: Position of this element in the tabbing order for the current document. This value must be an integer * between 0 and 32767. */ 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 target property. *

* * @return the property value *

* Contents: Name of a frame where the resource retrieved via this hyperlink is to be displayed. */ public java.lang.String getTarget() { return (java.lang.String) getStateHelper().eval(PropertyKeys.target); } /** *

* Set the value of the target property. *

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

* Return the value of the title property. *

* * @return the property value *

* Contents: Advisory title information about markup elements generated for this component. */ 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); } /** *

* Return the value of the type property. *

* * @return the property value *

* Contents: The content type of the resource designated by this hyperlink. */ public java.lang.String getType() { return (java.lang.String) getStateHelper().eval(PropertyKeys.type); } /** *

* Set the value of the type property. *

* * @param type the new property value */ public void setType(java.lang.String type) { getStateHelper().put(PropertyKeys.type, type); handleAttribute("type", type); } private static final Collection EVENT_NAMES = Collections.unmodifiableCollection(Arrays.asList("blur", "click", "action", "dblclick", "focus", "keydown", "keypress", "keyup", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup")); @Override public Collection getEventNames() { return EVENT_NAMES; } @Override public String getDefaultEventName() { return "action"; } private void handleAttribute(String name, Object value) { List setAttributes = (List) getAttributes().get("jakarta.faces.component.UIComponentBase.attributesThatAreSet"); if (setAttributes == null) { String cname = this.getClass().getName(); if (cname != null && cname.startsWith(OPTIMIZED_PACKAGE)) { setAttributes = new ArrayList<>(6); getAttributes().put("jakarta.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); } } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy