Frames | No Frames |
1: /* java.beans.SimpleBeanInfo 2: Copyright (C) 1998, 2006, 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: import java.net.URL; 44: 45: /** 46: ** SimpleBeanInfo is a class you may extend to more easily 47: ** provide select information to the Introspector. It 48: ** implements all of the methods in BeanInfo by returning 49: ** null and forces the Introspector to behave exactly as 50: ** if there were no BeanInfo class at all (Introspecting 51: ** everything).<P> 52: ** 53: ** Overriding one or two of these functions 54: ** to give explicit information on only those things you 55: ** wish to give explicit information is perfectly safe, 56: ** and even desirable.<P> 57: ** 58: ** See the BeanInfo class for information on what the 59: ** various methods actually do. 60: ** 61: ** @author John Keiser 62: ** @since JDK1.1 63: ** @version 1.1.0, 29 Jul 1998 64: ** @see java.beans.BeanInfo 65: **/ 66: 67: public class SimpleBeanInfo implements BeanInfo { 68: /** Force Introspection of the general bean info. 69: ** @return <CODE>null</CODE>. 70: **/ 71: public BeanDescriptor getBeanDescriptor() { 72: return null; 73: } 74: 75: /** Force Introspection of the events this Bean type 76: ** fires. 77: ** @return <CODE>null</CODE> 78: **/ 79: public EventSetDescriptor[] getEventSetDescriptors() { 80: return null; 81: } 82: 83: /** Say that there is no "default" event set. 84: ** @return <CODE>-1</CODE>. 85: **/ 86: public int getDefaultEventIndex() { 87: return -1; 88: } 89: 90: /** Force Introspection of the Bean properties. 91: ** @return <CODE>null</CODE>. 92: **/ 93: public PropertyDescriptor[] getPropertyDescriptors() { 94: return null; 95: } 96: 97: /** Say that there is no "default" property. 98: ** @return <CODE>-1</CODE>. 99: **/ 100: public int getDefaultPropertyIndex() { 101: return -1; 102: } 103: 104: /** Force Introspection of the Bean's methods. 105: ** @return <CODE>null</CODE>. 106: **/ 107: public MethodDescriptor[] getMethodDescriptors() { 108: return null; 109: } 110: 111: /** Tell the Introspector to go look for other BeanInfo 112: ** itself. 113: ** @return <CODE>null</CODE>. 114: **/ 115: public BeanInfo[] getAdditionalBeanInfo() { 116: return null; 117: } 118: 119: /** Say that this Bean has no icons. 120: ** @param iconType the type of icon 121: ** @return <CODE>null</CODE>. 122: **/ 123: public Image getIcon(int iconType) { 124: return null; 125: } 126: 127: /** Helper method to load an image using the Bean class 128: ** getResource() method on the BeanInfo class (using 129: ** getClass(), since you'll extend this class to get 130: ** the BeanInfo). Basically it's assumed that the Bean 131: ** and its BeanInfo are both loaded by the same 132: ** ClassLoader, generally a reasonable assumption. 133: ** @param location the URL relative 134: ** @return the Image in question (possibly <code>null</code>). 135: **/ 136: public Image loadImage(String location) 137: { 138: if (location == null) 139: return null; 140: URL url = getClass().getResource(location); 141: if (url == null) 142: return null; 143: return Toolkit.getDefaultToolkit().getImage(url); 144: } 145: }