Save This Page
Home » displaytag-1.1.1-src » org » displaytag » tags » [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;
   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    * Needed to make the "class" tag attribute working.
   25    * @author Fabrizio Giustina
   26    * @version $Revision: 1081 $ ($Author: fgiust $)
   27    */
   28   public class CaptionTagBeanInfo extends SimpleBeanInfo
   29   {
   30   
   31       /**
   32        * @see java.beans.BeanInfo#getPropertyDescriptors()
   33        */
   34       public PropertyDescriptor[] getPropertyDescriptors()
   35       {
   36           List proplist = new ArrayList();
   37   
   38           try
   39           {
   40               proplist.add(new PropertyDescriptor("class", //$NON-NLS-1$
   41                   CaptionTag.class, null, "setClass")); //$NON-NLS-1$
   42               proplist.add(new PropertyDescriptor("dir", //$NON-NLS-1$
   43                   CaptionTag.class, null, "setDir")); //$NON-NLS-1$
   44               proplist.add(new PropertyDescriptor("id", //$NON-NLS-1$
   45                   CaptionTag.class, null, "setId")); //$NON-NLS-1$
   46               proplist.add(new PropertyDescriptor("lang", //$NON-NLS-1$
   47                   CaptionTag.class, null, "setLang")); //$NON-NLS-1$
   48               proplist.add(new PropertyDescriptor("media", //$NON-NLS-1$
   49                   CaptionTag.class, null, "setMedia")); //$NON-NLS-1$
   50               proplist.add(new PropertyDescriptor("style", //$NON-NLS-1$
   51                   CaptionTag.class, null, "setStyle")); //$NON-NLS-1$
   52               proplist.add(new PropertyDescriptor("title", //$NON-NLS-1$
   53                   CaptionTag.class, null, "setTitle")); //$NON-NLS-1$
   54   
   55               // make ATG Dynamo happy:
   56               // Attribute "className" of tag "caption" in taglib descriptor file displaytag-11.tld" must have a
   57               // corresponding property in class "org.displaytag.tags.CaptionTag" with a public setter method
   58               proplist.add(new PropertyDescriptor("className", //$NON-NLS-1$
   59                   CaptionTag.class, null, "setClass")); //$NON-NLS-1$
   60           }
   61           catch (IntrospectionException ex)
   62           {
   63               throw new UnhandledException("You got an introspection exception - maybe defining a property that is not"
   64                   + " defined in the CaptionTag?: "
   65                   + ex.getMessage(), ex);
   66           }
   67   
   68           PropertyDescriptor[] result = new PropertyDescriptor[proplist.size()];
   69           return ((PropertyDescriptor[]) proplist.toArray(result));
   70       }
   71   
   72   }

Save This Page
Home » displaytag-1.1.1-src » org » displaytag » tags » [javadoc | source]