View Javadoc

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  import javax.faces.component.behavior.ClientBehaviorHolder;
23  
24  import org.apache.myfaces.component.AlignProperty;
25  import org.apache.myfaces.component.EventAware;
26  import org.apache.myfaces.component.StyleAware;
27  import org.apache.myfaces.component.UniversalProperties;
28  import org.apache.myfaces.component.UserRoleUtils;
29  
30  /**
31   * Unless otherwise specified, all attributes accept static values or EL expressions.
32   * 
33   * @JSFComponent
34   *   name = "t:swapImage"
35   *   class = "org.apache.myfaces.custom.swapimage.HtmlSwapImage"
36   *   tagClass = "org.apache.myfaces.custom.swapimage.HtmlSwapImageTag"
37   * @since 1.1.7
38   * @author Thomas Spiegl
39   * @version $Revision: 691856 $ $Date: 2008-09-03 21:40:30 -0500 (miƩ, 03 sep 2008) $
40   */
41  public abstract class AbstractHtmlSwapImage extends UIGraphic
42      implements UniversalProperties, AlignProperty, StyleAware, EventAware, ClientBehaviorHolder
43  {
44      public static final String COMPONENT_TYPE = "org.apache.myfaces.HtmlSwapImage";
45      public static final String COMPONENT_FAMILY = "javax.faces.Graphic";
46      private static final String DEFAULT_RENDERER_TYPE = "org.apache.myfaces.SwapImage";
47      private static final boolean DEFAULT_ISMAP = false;
48  
49      /**
50       * HTML: Specifies the width of the border of this element, in pixels. Deprecated in HTML 4.01.
51       * 
52       * @JSFProperty
53       *   defaultValue="Integer.MIN_VALUE"
54       */
55      public abstract String getBorder();
56  
57      /**
58       * HTML: The amount of white space to be inserted to the left and 
59       * right of this element, in undefined units. 
60       * Deprecated in HTML 4.01.
61       * 
62       * @JSFProperty
63       */
64      public abstract String getHspace();
65      
66      /**
67       *  HTML: The amount of white space to be inserted above and 
68       *  below this element, in undefined units. 
69       *  Deprecated in HTML 4.01.
70       * 
71       * @JSFProperty
72       */
73      public abstract String getVspace();
74      
75      /**
76       * the url of the image displayed onmouseover
77       * 
78       * @JSFProperty
79       *   required="true"
80       */
81      public abstract String getSwapImageUrl();
82  
83      /**
84       * activeImage will be rendered if: swapImage is a direct 
85       * child of commandNavigation and the commandNavigation.isActive
86       * 
87       * @JSFProperty
88       */
89      public abstract String getActiveImageUrl();
90  
91      /**
92       * HTML: Specifies alternative text that can be used by a browser 
93       * that can't show this element.
94       * 
95       * @JSFProperty
96       */
97      public abstract String getAlt();
98  
99      /**
100      * HTML: Overrides the natural height of this image, by specifying 
101      * height in pixels.
102      * 
103      * @JSFProperty
104      */
105     public abstract String getHeight();
106 
107     /**
108      * HTML: Specifies server-side image map handling for this image.
109      * 
110      * @JSFProperty
111      *   defaultValue = "false"
112      */
113     public abstract boolean isIsmap();
114 
115     /**
116      * HTML: A link to a long description of the image.
117      * 
118      * @JSFProperty
119      */
120     public abstract String getLongdesc();
121 
122     /**
123      * HTML: Specifies an image map to use with this image.
124      * 
125      * @JSFProperty
126      */
127     public abstract String getUsemap();
128 
129     /**
130      * HTML: Overrides the natural width of this image, by 
131      * specifying width in pixels.
132      * 
133      * @JSFProperty
134      */
135     public abstract String getWidth();
136 
137     public boolean isRendered()
138     {
139         if (!UserRoleUtils.isVisibleOnUserRole(this)) return false;
140         return super.isRendered();
141     }
142 
143 }