Source for java.beans.SimpleBeanInfo

   1: /* java.beans.SimpleBeanInfo
   2:    Copyright (C) 1998 Free Software Foundation, Inc.
   3: 
   4: This file is part of GNU Classpath.
   5: 
   6: GNU Classpath is free software; you can redistribute it and/or modify
   7: it under the terms of the GNU General Public License as published by
   8: the Free Software Foundation; either version 2, or (at your option)
   9: any later version.
  10:  
  11: GNU Classpath is distributed in the hope that it will be useful, but
  12: WITHOUT ANY WARRANTY; without even the implied warranty of
  13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  14: General Public License for more details.
  15: 
  16: You should have received a copy of the GNU General Public License
  17: along with GNU Classpath; see the file COPYING.  If not, write to the
  18: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
  19: 02110-1301 USA.
  20: 
  21: Linking this library statically or dynamically with other modules is
  22: making a combined work based on this library.  Thus, the terms and
  23: conditions of the GNU General Public License cover the whole
  24: combination.
  25: 
  26: As a special exception, the copyright holders of this library give you
  27: permission to link this library with independent modules to produce an
  28: executable, regardless of the license terms of these independent
  29: modules, and to copy and distribute the resulting executable under
  30: terms of your choice, provided that you also meet, for each linked
  31: independent module, the terms and conditions of the license of that
  32: module.  An independent module is a module which is not derived from
  33: or based on this library.  If you modify this library, you may extend
  34: this exception to your version of the library, but you are not
  35: obligated to do so.  If you do not wish to do so, delete this
  36: exception statement from your version. */
  37: 
  38: 
  39: package java.beans;
  40: 
  41: import java.awt.Image;
  42: import java.awt.Toolkit;
  43: 
  44: /**
  45:  ** SimpleBeanInfo is a class you may extend to more easily
  46:  ** provide select information to the Introspector.  It
  47:  ** implements all of the methods in BeanInfo by returning
  48:  ** null and forces the Introspector to behave exactly as
  49:  ** if there were no BeanInfo class at all (Introspecting
  50:  ** everything).<P>
  51:  **
  52:  ** Overriding one or two of these functions
  53:  ** to give explicit information on only those things you
  54:  ** wish to give explicit information is perfectly safe,
  55:  ** and even desirable.<P>
  56:  **
  57:  ** See the BeanInfo class for information on what the
  58:  ** various methods actually do.
  59:  **
  60:  ** @author John Keiser
  61:  ** @since JDK1.1
  62:  ** @version 1.1.0, 29 Jul 1998
  63:  ** @see java.beans.BeanInfo
  64:  **/
  65: 
  66: public class SimpleBeanInfo implements BeanInfo {
  67:     /** Force Introspection of the general bean info.
  68:      ** @return <CODE>null</CODE>.
  69:      **/
  70:     public BeanDescriptor getBeanDescriptor() {
  71:         return null;
  72:     }
  73: 
  74:     /** Force Introspection of the events this Bean type
  75:      ** fires.
  76:      ** @return <CODE>null</CODE>
  77:      **/
  78:     public EventSetDescriptor[] getEventSetDescriptors() {
  79:         return null;
  80:     }
  81: 
  82:     /** Say that there is no "default" event set.
  83:      ** @return <CODE>-1</CODE>.
  84:      **/
  85:     public int getDefaultEventIndex() {
  86:         return -1;
  87:     }
  88: 
  89:     /** Force Introspection of the Bean properties.
  90:      ** @return <CODE>null</CODE>.
  91:      **/
  92:     public PropertyDescriptor[] getPropertyDescriptors() {
  93:         return null;
  94:     }
  95: 
  96:     /** Say that there is no "default" property.
  97:      ** @return <CODE>-1</CODE>.
  98:      **/
  99:     public int getDefaultPropertyIndex() {
 100:         return -1;
 101:     }
 102: 
 103:     /** Force Introspection of the Bean's methods.
 104:      ** @return <CODE>null</CODE>.
 105:      **/
 106:     public MethodDescriptor[] getMethodDescriptors() {
 107:         return null;
 108:     }
 109: 
 110:     /** Tell the Introspector to go look for other BeanInfo
 111:      ** itself.
 112:      ** @return <CODE>null</CODE>.
 113:      **/
 114:     public BeanInfo[] getAdditionalBeanInfo() {
 115:         return null;
 116:     }
 117: 
 118:     /** Say that this Bean has no icons.
 119:      ** @param iconType the type of icon
 120:      ** @return <CODE>null</CODE>.
 121:      **/
 122:     public Image getIcon(int iconType) {
 123:         return null;
 124:     }
 125: 
 126:     /** Helper method to load an image using the Bean class
 127:      ** getResource() method on the BeanInfo class (using
 128:      ** getClass(), since you'll extend this class to get
 129:      ** the BeanInfo).  Basically it's assumed that the Bean
 130:      ** and its BeanInfo are both loaded by the same
 131:      ** ClassLoader, generally a reasonable assumption.
 132:      ** @param location the URL relative
 133:      ** @return the Image in question.
 134:      **/
 135:     public Image loadImage(String location) {
 136:         return Toolkit.getDefaultToolkit().getImage(getClass().getResource(location));
 137:     }
 138: }