1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, 13 * software distributed under the License is distributed on an 14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 * KIND, either express or implied. See the License for the 16 * specific language governing permissions and limitations 17 * under the License. 18 */ 19 package org.apache.myfaces.custom.swapimage; 20 21 import javax.faces.component.UIGraphic; 22 23 import org.apache.myfaces.component.AlignProperty; 24 import org.apache.myfaces.component.StyleAware; 25 import org.apache.myfaces.component.UniversalProperties; 26 import org.apache.myfaces.component.UserRoleUtils; 27 28 /** 29 * Unless otherwise specified, all attributes accept static values or EL expressions. 30 * 31 * @JSFComponent 32 * name = "t:swapImage" 33 * class = "org.apache.myfaces.custom.swapimage.HtmlSwapImage" 34 * tagClass = "org.apache.myfaces.custom.swapimage.HtmlSwapImageTag" 35 * @since 1.1.7 36 * @author Thomas Spiegl 37 * @version $Revision: 691856 $ $Date: 2008-09-03 21:40:30 -0500 (Wed, 03 Sep 2008) $ 38 */ 39 public abstract class AbstractHtmlSwapImage extends UIGraphic 40 implements UniversalProperties, AlignProperty, StyleAware 41 { 42 public static final String COMPONENT_TYPE = "org.apache.myfaces.HtmlSwapImage"; 43 public static final String COMPONENT_FAMILY = "javax.faces.Graphic"; 44 private static final String DEFAULT_RENDERER_TYPE = "org.apache.myfaces.SwapImage"; 45 private static final boolean DEFAULT_ISMAP = false; 46 47 /** 48 * HTML: Specifies the width of the border of this element, in pixels. Deprecated in HTML 4.01. 49 * 50 * @JSFProperty 51 * defaultValue="Integer.MIN_VALUE" 52 */ 53 public abstract String getBorder(); 54 55 /** 56 * HTML: The amount of white space to be inserted to the left and 57 * right of this element, in undefined units. 58 * Deprecated in HTML 4.01. 59 * 60 * @JSFProperty 61 */ 62 public abstract String getHspace(); 63 64 /** 65 * HTML: The amount of white space to be inserted above and 66 * below this element, in undefined units. 67 * Deprecated in HTML 4.01. 68 * 69 * @JSFProperty 70 */ 71 public abstract String getVspace(); 72 73 /** 74 * the url of the image displayed onmouseover 75 * 76 * @JSFProperty 77 * required="true" 78 */ 79 public abstract String getSwapImageUrl(); 80 81 /** 82 * activeImage will be rendered if: swapImage is a direct 83 * child of commandNavigation and the commandNavigation.isActive 84 * 85 * @JSFProperty 86 */ 87 public abstract String getActiveImageUrl(); 88 89 /** 90 * HTML: Specifies alternative text that can be used by a browser 91 * that can't show this element. 92 * 93 * @JSFProperty 94 */ 95 public abstract String getAlt(); 96 97 /** 98 * HTML: Overrides the natural height of this image, by specifying 99 * height in pixels. 100 * 101 * @JSFProperty 102 */ 103 public abstract String getHeight(); 104 105 /** 106 * HTML: Specifies server-side image map handling for this image. 107 * 108 * @JSFProperty 109 * defaultValue = "false" 110 */ 111 public abstract boolean isIsmap(); 112 113 /** 114 * HTML: A link to a long description of the image. 115 * 116 * @JSFProperty 117 */ 118 public abstract String getLongdesc(); 119 120 /** 121 * HTML: Script to be invoked when the element is clicked. 122 * 123 * @JSFProperty 124 */ 125 public abstract String getOnclick(); 126 127 /** 128 * HTML: Script to be invoked when the element is double-clicked. 129 * 130 * @JSFProperty 131 */ 132 public abstract String getOndblclick(); 133 134 /** 135 * HTML: Script to be invoked when a key is pressed down over this element. 136 * 137 * @JSFProperty 138 */ 139 public abstract String getOnkeydown(); 140 141 /** 142 * HTML: Script to be invoked when a key is pressed over this element. 143 * 144 * @JSFProperty 145 */ 146 public abstract String getOnkeypress(); 147 148 /** 149 * HTML: Script to be invoked when a key is released over this element. 150 * 151 * @JSFProperty 152 */ 153 public abstract String getOnkeyup(); 154 155 /** 156 * HTML: Specifies an image map to use with this image. 157 * 158 * @JSFProperty 159 */ 160 public abstract String getUsemap(); 161 162 /** 163 * HTML: Overrides the natural width of this image, by 164 * specifying width in pixels. 165 * 166 * @JSFProperty 167 */ 168 public abstract String getWidth(); 169 170 public boolean isRendered() 171 { 172 if (!UserRoleUtils.isVisibleOnUserRole(this)) return false; 173 return super.isRendered(); 174 } 175 176 }