Home » displaytag-1.1.1-src » org » displaytag » tags » el » [javadoc | source]

    1   /**
    2    * Licensed under the Artistic License; you may not use this file
    3    * except in compliance with the License.
    4    * You may obtain a copy of the License at
    5    *
    6    *      http://displaytag.sourceforge.net/license.html
    7    *
    8    * THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
    9    * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   10    * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   11    */
   12   package org.displaytag.tags.el;
   13   
   14   import java.beans.IntrospectionException;
   15   import java.beans.PropertyDescriptor;
   16   import java.beans.SimpleBeanInfo;
   17   import java.util.ArrayList;
   18   import java.util.List;
   19   
   20   import org.apache.commons.lang.UnhandledException;
   21   
   22   
   23   /**
   24    * BeanInfo descriptor for the <code>ELColumnTag</code> class. Unevaluated EL expression has to be kept separately
   25    * from the evaluated value, since the JSP compiler can choose to reuse different tag instances if they received the
   26    * same original attribute values, and the JSP compiler can choose to not re-call the setter methods.
   27    * @author Fabrizio Giustina
   28    * @version $Revision: 1081 $ ($Author: fgiust $)
   29    */
   30   public class ELColumnTagBeanInfo extends SimpleBeanInfo
   31   {
   32   
   33       /**
   34        * @see java.beans.BeanInfo#getPropertyDescriptors()
   35        */
   36       public PropertyDescriptor[] getPropertyDescriptors()
   37       {
   38           List proplist = new ArrayList();
   39   
   40           try
   41           {
   42               proplist.add(new PropertyDescriptor("autolink", //$NON-NLS-1$
   43                   ELColumnTag.class,
   44                   null,
   45                   "setAutolink")); //$NON-NLS-1$
   46               proplist.add(new PropertyDescriptor("escapeXml", //$NON-NLS-1$
   47                   ELColumnTag.class,
   48                   null,
   49                   "setEscapeXml")); //$NON-NLS-1$
   50               proplist.add(new PropertyDescriptor("class", //$NON-NLS-1$
   51                   ELColumnTag.class,
   52                   null,
   53                   "setClass")); //$NON-NLS-1$
   54               proplist.add(new PropertyDescriptor("decorator", //$NON-NLS-1$
   55                   ELColumnTag.class,
   56                   null,
   57                   "setDecorator")); //$NON-NLS-1$
   58               proplist.add(new PropertyDescriptor("group", //$NON-NLS-1$
   59                   ELColumnTag.class,
   60                   null,
   61                   "setGroup")); //$NON-NLS-1$
   62               proplist.add(new PropertyDescriptor("headerClass", //$NON-NLS-1$
   63                   ELColumnTag.class,
   64                   null,
   65                   "setHeaderClass")); //$NON-NLS-1$
   66               proplist.add(new PropertyDescriptor("href", //$NON-NLS-1$
   67                   ELColumnTag.class,
   68                   null,
   69                   "setHref")); //$NON-NLS-1$
   70               proplist.add(new PropertyDescriptor("maxLength", //$NON-NLS-1$
   71                   ELColumnTag.class,
   72                   null,
   73                   "setMaxLength")); //$NON-NLS-1$
   74               proplist.add(new PropertyDescriptor("maxWords", //$NON-NLS-1$
   75                   ELColumnTag.class,
   76                   null,
   77                   "setMaxWords")); //$NON-NLS-1$
   78               proplist.add(new PropertyDescriptor("media", //$NON-NLS-1$
   79                   ELColumnTag.class,
   80                   null,
   81                   "setMedia")); //$NON-NLS-1$
   82               proplist.add(new PropertyDescriptor("nulls", //$NON-NLS-1$
   83                   ELColumnTag.class,
   84                   null,
   85                   "setNulls")); //$NON-NLS-1$
   86               proplist.add(new PropertyDescriptor("paramId", //$NON-NLS-1$
   87                   ELColumnTag.class,
   88                   null,
   89                   "setParamId")); //$NON-NLS-1$
   90               proplist.add(new PropertyDescriptor("paramName", //$NON-NLS-1$
   91                   ELColumnTag.class,
   92                   null,
   93                   "setParamName")); //$NON-NLS-1$
   94               proplist.add(new PropertyDescriptor("paramProperty", //$NON-NLS-1$
   95                   ELColumnTag.class,
   96                   null,
   97                   "setParamProperty")); //$NON-NLS-1$
   98               proplist.add(new PropertyDescriptor("paramScope", //$NON-NLS-1$
   99                   ELColumnTag.class,
  100                   null,
  101                   "setParamScope")); //$NON-NLS-1$
  102               proplist.add(new PropertyDescriptor("property", //$NON-NLS-1$
  103                   ELColumnTag.class,
  104                   null,
  105                   "setProperty")); //$NON-NLS-1$
  106               proplist.add(new PropertyDescriptor("sortable", //$NON-NLS-1$
  107                   ELColumnTag.class,
  108                   null,
  109                   "setSortable")); //$NON-NLS-1$
  110               proplist.add(new PropertyDescriptor("sortName", //$NON-NLS-1$
  111                   ELColumnTag.class,
  112                   null,
  113                   "setSortName")); //$NON-NLS-1$
  114               proplist.add(new PropertyDescriptor("style", //$NON-NLS-1$
  115                   ELColumnTag.class,
  116                   null,
  117                   "setStyle")); //$NON-NLS-1$
  118               proplist.add(new PropertyDescriptor("total", //$NON-NLS-1$
  119                   ELColumnTag.class,
  120                   null,
  121                   "setTotal")); // map //$NON-NLS-1$
  122               proplist.add(new PropertyDescriptor("title", //$NON-NLS-1$
  123                   ELColumnTag.class,
  124                   null,
  125                   "setTitle")); //$NON-NLS-1$
  126               proplist.add(new PropertyDescriptor("titleKey", //$NON-NLS-1$
  127                   ELColumnTag.class,
  128                   null,
  129                   "setTitleKey")); //$NON-NLS-1$
  130               proplist.add(new PropertyDescriptor("url", //$NON-NLS-1$
  131                   ELColumnTag.class,
  132                   null,
  133                   "setUrl")); //$NON-NLS-1$
  134               proplist.add(new PropertyDescriptor("sortProperty", //$NON-NLS-1$
  135                   ELColumnTag.class,
  136                   null,
  137                   "setSortProperty")); //$NON-NLS-1$
  138               proplist.add(new PropertyDescriptor("comparator", //$NON-NLS-1$
  139                   ELColumnTag.class,
  140                   null,
  141                   "setComparator")); //$NON-NLS-1$
  142               proplist.add(new PropertyDescriptor("defaultorder", //$NON-NLS-1$
  143                   ELColumnTag.class,
  144                   null,
  145                   "setDefaultorder")); //$NON-NLS-1$
  146               proplist.add(new PropertyDescriptor("headerScope", //$NON-NLS-1$
  147                   ELColumnTag.class,
  148                   null,
  149                   "setHeaderScope")); //$NON-NLS-1$
  150               proplist.add(new PropertyDescriptor("scope", //$NON-NLS-1$
  151                   ELColumnTag.class,
  152                   null,
  153                   "setScope")); //$NON-NLS-1$
  154               proplist.add(new PropertyDescriptor("format", //$NON-NLS-1$
  155                   ELColumnTag.class,
  156                   null,
  157                   "setFormat")); //$NON-NLS-1$
  158               proplist.add(new PropertyDescriptor("value", //$NON-NLS-1$
  159                   ELColumnTag.class,
  160                   null,
  161                   "setValue")); //$NON-NLS-1$
  162   
  163           }
  164           catch (IntrospectionException ex)
  165           {
  166               throw new UnhandledException("You got an introspection exception - maybe defining a property that is not"
  167                   + " defined in the bean?: "
  168                   + ex.getMessage(), ex);
  169           }
  170   
  171           PropertyDescriptor[] result = new PropertyDescriptor[proplist.size()];
  172           return ((PropertyDescriptor[]) proplist.toArray(result));
  173       }
  174   
  175   }

Home » displaytag-1.1.1-src » org » displaytag » tags » el » [javadoc | source]