diff options
Diffstat (limited to 'libjava/doc/java-beans.texi')
-rw-r--r-- | libjava/doc/java-beans.texi | 810 |
1 files changed, 810 insertions, 0 deletions
diff --git a/libjava/doc/java-beans.texi b/libjava/doc/java-beans.texi new file mode 100644 index 0000000..2b88871 --- /dev/null +++ b/libjava/doc/java-beans.texi @@ -0,0 +1,810 @@ +@deftypemethod BeanDescriptor {public Class} getBeanClass () +Get the Bean's class. +@end deftypemethod +@deftypemethod BeanDescriptor {public Class} getCustomizerClass () +Get the Bean's customizer's class. +@end deftypemethod +@deftypemethod BeanInfo {public BeanDescriptor} getBeanDescriptor () +Get the general description of this Bean type. +@end deftypemethod +@deftypemethod BeanInfo {public EventSetDescriptor} getEventSetDescriptors () +Get the events this Bean type fires. +@end deftypemethod +@deftypemethod BeanInfo {public int} getDefaultEventIndex () +Get the "default" event, basically the one a RAD tool + user is most likely to select. +@end deftypemethod +@deftypemethod BeanInfo {public PropertyDescriptor} getPropertyDescriptors () +Get the properties (get/set method pairs) this Bean + type supports. +@end deftypemethod +@deftypemethod BeanInfo {public int} getDefaultPropertyIndex () +Get the "default" property, basically the one a RAD + tool user is most likely to select. +@end deftypemethod +@deftypemethod BeanInfo {public MethodDescriptor} getMethodDescriptors () +Get the methods this Bean type supports. +@end deftypemethod +@deftypemethod BeanInfo {public BeanInfo} getAdditionalBeanInfo () +Get additional BeanInfos representing this Bean. + In this version of JavaBeans, this method is used so + that space and time can be saved by reading a BeanInfo + for each class in the hierarchy (super, super(super), + and so on). + + + + The order of precedence when two pieces of BeanInfo + conflict (such as two PropertyDescriptors that have + the same name), in order from highest precedence to + lowest, is: + +@itemize @bullet + + +@item +This BeanInfo object. + + +@item +@code{getAdditionalBeanInfo()[getAdditionalBeanInfo().length]} + + +@item + ... + + +@item +@code{getAdditionalBeanInfo()[1]} + + +@item +@code{getAdditionalBeanInfo()[0]} + + +@end itemize + + + + + <STRONG>Spec Note:</STRONG> It is possible that + returning @code{null} from this method could + stop Introspection in its tracks, but it is unclear + from the spec whether this is the case. +@end deftypemethod +@deftypemethod BeanInfo {public Image} getIcon (int@w{ }@var{iconType}) +Get a visual icon for this Bean. + A Bean does not have to support icons, and if it does + support icons, it does not have to support every single + type. Sun recommends that if you only support one + type, you support 16x16 color. Sun also notes that you + should try to use a type (like GIF) that allows for + transparent pixels, so that the background of the RAD + tool can show through. + + + + <STRONG>Spec Note:</STRONG> If you do not support the + type of icon that is being asked for, but you do + support another type, it is unclear whether you should + return the other type or not. I would presume not. +@end deftypemethod +@deftypemethod Beans {public static Object} instantiate (java.lang.ClassLoader@w{ }@var{cl}, java.lang.String@w{ }@var{beanName}) @*throws IOException, ClassNotFoundException +Allows you to instantiate a Bean. This method takes + a ClassLoader from which to read the Bean and the + name of the Bean. + + + + The Bean name should be a dotted name, like a class. + It can represent several things. Beans will search + for the Bean using the name like this: + + + +@itemize @bullet + + +@item +Searches for a serialized instance of the Bean + using getResource(), mangling the Bean name by + replacing the dots with slashes and appending .ser + (for example, gnu.beans.BlahDeBlah would cause + Beans to search for gnu/beans/BlahDeBlah.ser using + getResource()). + + +@item +Searches for the Bean class using the beanName, + and then instantiates it with the no-arg constructor. + At that point, if it is an Applet, it provides it + with AppletContext and AppletStub, and then calls + init(). + + +@end itemize + +@end deftypemethod +@deftypemethod Beans {public static Object} getInstanceOf (java.lang.Object@w{ }@var{bean}, java.lang.Class@w{ }@var{newClass}) +Get the Bean as a different class type. + This should be used instead of casting to get a new + type view of a Bean, because in the future there may + be new types of Bean, even Beans spanning multiple + Objects. +@end deftypemethod +@deftypemethod Beans {public static boolean} isInstanceOf (java.lang.Object@w{ }@var{bean}, java.lang.Class@w{ }@var{newBeanClass}) +Determine whether the Bean can be cast to a different + class type. + This should be used instead of instanceof to determine + a Bean's castability, because in the future there may + be new types of Bean, even Beans spanning multiple + Objects. +@end deftypemethod +@deftypemethod Beans {public static boolean} isGuiAvailable () +Find out whether the GUI is available to use. + Defaults to true. +@end deftypemethod +@deftypemethod Beans {public static boolean} isDesignTime () +Find out whether it is design time. Design time means + we are in a RAD tool. + Defaults to false. +@end deftypemethod +@deftypemethod Beans {public static void} setGuiAvailable (boolean@w{ }@var{guiAvailable}) @*throws SecurityException +Set whether the GUI is available to use. +@end deftypemethod +@deftypemethod Beans {public static void} setDesignTime (boolean@w{ }@var{designTime}) @*throws SecurityException +Set whether it is design time. Design time means we + are in a RAD tool. +@end deftypemethod +@deftypemethod Customizer {public void} setObject (java.lang.Object@w{ }@var{bean}) +Set the object to Customize. This will always be a + Bean that had a BeanDescriptor indicating this + Customizer. +@end deftypemethod +@deftypemethod Customizer {public void} addPropertyChangeListener (java.beans.PropertyChangeListener@w{ }@var{l}) +Add a PropertyChangeListener. +@end deftypemethod +@deftypemethod Customizer {public void} removePropertyChangeListener (java.beans.PropertyChangeListener@w{ }@var{l}) +Remove a PropertyChangeListener. +@end deftypemethod +@deftypemethod DesignMode {public void} setDesignTime (boolean@w{ }@var{designTime}) +The environment will call this method on your + @code{BeanContextChild} when it is registered in a parent + @code{BeanContext} or when behavior needs to switch from + design time to runtime behavior (or vice versa). + + + + + @code{BeanContext}s are required to fire + @code{PropertyChangeEvent}s when properties change. + @code{designTime} is a property, and therefore when you + implement @code{setDesignTime()}, you need to fire a + @code{PropertyChangeEvent} with the old value, the new + value and using @code{PROPERTYNAME} as the property name. +@end deftypemethod +@deftypemethod DesignMode {public boolean} isDesignTime () +This method should tell whether it is design time or runtime. +@end deftypemethod +@deftypemethod EventSetDescriptor {public Class} getListenerType () +Get the class that contains the event firing methods. +@end deftypemethod +@deftypemethod EventSetDescriptor {public Method} getListenerMethods () +Get the event firing methods. +@end deftypemethod +@deftypemethod EventSetDescriptor {public MethodDescriptor} getListenerMethodDescriptors () +Get the event firing methods as MethodDescriptors. +@end deftypemethod +@deftypemethod EventSetDescriptor {public Method} getAddListenerMethod () +Get the add listener method. +@end deftypemethod +@deftypemethod EventSetDescriptor {public Method} getRemoveListenerMethod () +Get the remove listener method. +@end deftypemethod +@deftypemethod EventSetDescriptor {public void} setUnicast (boolean@w{ }@var{unicast}) +Set whether or not multiple listeners may be added. +@end deftypemethod +@deftypemethod EventSetDescriptor {public boolean} isUnicast () +Get whether or not multiple listeners may be added. (Defaults to false.) +@end deftypemethod +@deftypemethod EventSetDescriptor {public void} setInDefaultEventSet (boolean@w{ }@var{inDefaultEventSet}) +Set whether or not this is in the default event set. +@end deftypemethod +@deftypemethod EventSetDescriptor {public boolean} isInDefaultEventSet () +Get whether or not this is in the default event set. (Defaults to true.) +@end deftypemethod +@deftypemethod FeatureDescriptor {public String} getName () +Get the programmatic name of this feature. +@end deftypemethod +@deftypemethod FeatureDescriptor {public void} setName (java.lang.String@w{ }@var{name}) +Set the programmatic name of this feature. +@end deftypemethod +@deftypemethod FeatureDescriptor {public String} getDisplayName () +Get the localized (display) name of this feature. +@end deftypemethod +@deftypemethod FeatureDescriptor {public void} setDisplayName (java.lang.String@w{ }@var{displayName}) +Set the localized (display) name of this feature. +@end deftypemethod +@deftypemethod FeatureDescriptor {public String} getShortDescription () +Get the localized short description for this feature. +@end deftypemethod +@deftypemethod FeatureDescriptor {public void} setShortDescription (java.lang.String@w{ }@var{shortDescription}) +Set the localized short description for this feature. +@end deftypemethod +@deftypemethod FeatureDescriptor {public boolean} isExpert () +Indicates whether this feature is for expert use only. +@end deftypemethod +@deftypemethod FeatureDescriptor {public void} setExpert (boolean@w{ }@var{expert}) +Set whether this feature is for expert use only. +@end deftypemethod +@deftypemethod FeatureDescriptor {public boolean} isHidden () +Indicates whether this feature is for use by tools only. + If it is for use by tools only, then it should not be displayed. +@end deftypemethod +@deftypemethod FeatureDescriptor {public void} setHidden (boolean@w{ }@var{hidden}) +Set whether this feature is for use by tools only. + If it is for use by tools only, then it should not be displayed. +@end deftypemethod +@deftypemethod FeatureDescriptor {public Object} getValue (java.lang.String@w{ }@var{name}) +Get an arbitrary value set with setValue(). +@end deftypemethod +@deftypemethod FeatureDescriptor {public void} setValue (java.lang.String@w{ }@var{name}, java.lang.Object@w{ }@var{value}) +Set an arbitrary string-value pair with this feature. +@end deftypemethod +@deftypemethod FeatureDescriptor {public Enumeration} attributeNames () +Get a list of the programmatic key names set with setValue(). +@end deftypemethod +@deftypemethod IndexedPropertyDescriptor {public Class} getIndexedPropertyType () + +@end deftypemethod +@deftypemethod IndexedPropertyDescriptor {public Method} getIndexedReadMethod () + +@end deftypemethod +@deftypemethod IndexedPropertyDescriptor {public Method} getIndexedWriteMethod () + +@end deftypemethod +@deftypemethod Introspector {public static BeanInfo} getBeanInfo (java.lang.Class@w{ }@var{beanClass}) @*throws IntrospectionException +Get the BeanInfo for class @code{beanClass}, + first by looking for explicit information, next by + using standard design patterns to determine + information about the class. +@end deftypemethod +@deftypemethod Introspector {public static BeanInfo} getBeanInfo (java.lang.Class@w{ }@var{beanClass}, java.lang.Class@w{ }@var{stopClass}) @*throws IntrospectionException +Get the BeanInfo for class @code{beanClass}, + first by looking for explicit information, next by + using standard design patterns to determine + information about the class. It crawls up the + inheritance tree until it hits @code{topClass}. +@end deftypemethod +@deftypemethod Introspector {public static String} getBeanInfoSearchPath () +Get the search path for BeanInfo classes. +@end deftypemethod +@deftypemethod Introspector {public static void} setBeanInfoSearchPath (java.lang.String[]@w{ }@var{beanInfoSearchPath}) +Set the search path for BeanInfo classes. +@end deftypemethod +@deftypemethod Introspector {public static String} decapitalize (java.lang.String@w{ }@var{name}) +A helper method to convert a name to standard Java + naming conventions: anything with two capitals as the + first two letters remains the same, otherwise the + first letter is decapitalized. URL = URL, I = i, + MyMethod = myMethod. +@end deftypemethod +@deftypemethod MethodDescriptor {public ParameterDescriptor} getParameterDescriptors () +Get the parameter descriptors from this method. + Since MethodDescriptor has no way of determining what + the parameter names were, this defaults to null. +@end deftypemethod +@deftypemethod MethodDescriptor {public Method} getMethod () +Get the method this MethodDescriptor represents. +@end deftypemethod +@deftypemethod PropertyChangeEvent {public String} getPropertyName () +Get the property name. +@end deftypemethod +@deftypemethod PropertyChangeEvent {public Object} getOldValue () +Get the property's old value. +@end deftypemethod +@deftypemethod PropertyChangeEvent {public Object} getNewValue () +Get the property's new value. +@end deftypemethod +@deftypemethod PropertyChangeEvent {public void} setPropagationId (java.lang.Object@w{ }@var{propagationId}) +Set the propagation ID. This is a way for the event + to be passed from hand to hand and retain a little + extra state. Right now it is unused, but it should + be propagated anyway so that future versions of + JavaBeans can use it, for God knows what. +@end deftypemethod +@deftypemethod PropertyChangeEvent {public Object} getPropagationId () +Get the propagation ID. +@end deftypemethod +@deftypemethod PropertyChangeListener {public void} propertyChange (java.beans.PropertyChangeEvent@w{ }@var{e}) +Fired after a Bean's property has changed. +@end deftypemethod +@deftypemethod PropertyChangeSupport {public void} addPropertyChangeListener (java.beans.PropertyChangeListener@w{ }@var{l}) +Adds a PropertyChangeListener to the list of listeners. + All property change events will be sent to this listener. + + + + + The listener add is not unique: that is, <em>n</em> adds with + the same listener will result in <em>n</em> events being sent + to that listener for every property change. + + + + + Adding a null listener will cause undefined behavior. +@end deftypemethod +@deftypemethod PropertyChangeSupport {public void} addPropertyChangeListener (java.lang.String@w{ }@var{propertyName}, java.beans.PropertyChangeListener@w{ }@var{l}) +Adds a PropertyChangeListener listening on the specified property. + Events will be sent to the listener for that particular property. + + + + + The listener add is not unique; that is, <em>n</em> adds on a + particular property for a particular listener will result in + <em>n</em> events being sent to that listener when that + property is changed. + + + + + The effect is cumulative, too; if you are registered to listen + to receive events on all property changes, and then you + register on a particular property, you will receive change + events for that property twice. + + + + + Adding a null listener will cause undefined behavior. +@end deftypemethod +@deftypemethod PropertyChangeSupport {public void} removePropertyChangeListener (java.beans.PropertyChangeListener@w{ }@var{l}) +Removes a PropertyChangeListener from the list of listeners. + If any specific properties are being listened on, they must + be deregistered by themselves; this will only remove the + general listener to all properties. + + + + + If @code{add()} has been called multiple times for a + particular listener, @code{remove()} will have to be + called the same number of times to deregister it. +@end deftypemethod +@deftypemethod PropertyChangeSupport {public void} removePropertyChangeListener (java.lang.String@w{ }@var{propertyName}, java.beans.PropertyChangeListener@w{ }@var{l}) +Removes a PropertyChangeListener from listening to a specific property. + + + + + If @code{add()} has been called multiple times for a + particular listener on a property, @code{remove()} will + have to be called the same number of times to deregister it. +@end deftypemethod +@deftypemethod PropertyChangeSupport {public void} firePropertyChange (java.beans.PropertyChangeEvent@w{ }@var{event}) +Fire a PropertyChangeEvent to all the listeners. +@end deftypemethod +@deftypemethod PropertyChangeSupport {public void} firePropertyChange (java.lang.String@w{ }@var{propertyName}, java.lang.Object@w{ }@var{oldVal}, java.lang.Object@w{ }@var{newVal}) +Fire a PropertyChangeEvent containing the old and new values of the property to all the listeners. +@end deftypemethod +@deftypemethod PropertyChangeSupport {public void} firePropertyChange (java.lang.String@w{ }@var{propertyName}, boolean@w{ }@var{oldVal}, boolean@w{ }@var{newVal}) +Fire a PropertyChangeEvent containing the old and new values of the property to all the listeners. +@end deftypemethod +@deftypemethod PropertyChangeSupport {public void} firePropertyChange (java.lang.String@w{ }@var{propertyName}, int@w{ }@var{oldVal}, int@w{ }@var{newVal}) +Fire a PropertyChangeEvent containing the old and new values of the property to all the listeners. +@end deftypemethod +@deftypemethod PropertyChangeSupport {public boolean} hasListeners (java.lang.String@w{ }@var{propertyName}) +Tell whether the specified property is being listened on or not. + This will only return @code{true} if there are listeners + on all properties or if there is a listener specifically on this + property. +@end deftypemethod +@deftypemethod PropertyDescriptor {public Class} getPropertyType () +Get the property type. + This is the type the get method returns and the set method + takes in. +@end deftypemethod +@deftypemethod PropertyDescriptor {public Method} getReadMethod () +Get the get method. Why they call it readMethod here and + get everywhere else is beyond me. +@end deftypemethod +@deftypemethod PropertyDescriptor {public Method} getWriteMethod () +Get the set method. Why they call it writeMethod here and + set everywhere else is beyond me. +@end deftypemethod +@deftypemethod PropertyDescriptor {public boolean} isBound () +Get whether the property is bound. Defaults to false. +@end deftypemethod +@deftypemethod PropertyDescriptor {public void} setBound (boolean@w{ }@var{bound}) +Set whether the property is bound. + As long as the the bean implements addPropertyChangeListener() and + removePropertyChangeListener(), setBound(true) may safely be called. + + + If these things are not true, then the behavior of the system + will be undefined. + + + + When a property is bound, its set method is required to fire the + @code{PropertyChangeListener.propertyChange())} event + after the value has changed. +@end deftypemethod +@deftypemethod PropertyDescriptor {public boolean} isConstrained () +Get whether the property is constrained. Defaults to false. +@end deftypemethod +@deftypemethod PropertyDescriptor {public void} setConstrained (boolean@w{ }@var{constrained}) +Set whether the property is constrained. + If the set method throws @code{java.beans.PropertyVetoException} + (or subclass thereof) and the bean implements addVetoableChangeListener() + and removeVetoableChangeListener(), then setConstrained(true) may safely + be called. Otherwise, the system behavior is undefined. + <B>Spec note:</B> given those strict parameters, it would be nice if it + got set automatically by detection, but oh well. + + + When a property is constrained, its set method is required to: + + + +@itemize @bullet + + +@item +Fire the @code{VetoableChangeListener.vetoableChange()} + event notifying others of the change and allowing them a chance to + say it is a bad thing. + + +@item +If any of the listeners throws a PropertyVetoException, then + it must fire another vetoableChange() event notifying the others + of a reversion to the old value (though, of course, the change + was never made). Then it rethrows the PropertyVetoException and + exits. + + +@item +If all has gone well to this point, the value may be changed. + + +@end itemize + +@end deftypemethod +@deftypemethod PropertyDescriptor {public Class} getPropertyEditorClass () +Get the PropertyEditor class. Defaults to null. +@end deftypemethod +@deftypemethod PropertyDescriptor {public void} setPropertyEditorClass (java.lang.Class@w{ }@var{propertyEditorClass}) +Set the PropertyEditor class. If the class does not implement + the PropertyEditor interface, you will likely get an exception + late in the game. +@end deftypemethod +@deftypemethod PropertyEditor {public void} setValue (java.lang.Object@w{ }@var{value}) +Called by the RAD tool to set the value of this property for the PropertyEditor. + If the property type is native, it should be wrapped in the appropriate + wrapper type. +@end deftypemethod +@deftypemethod PropertyEditor {public Object} getValue () +Accessor method to get the current value the PropertyEditor is working with. + If the property type is native, it will be wrapped in the appropriate + wrapper type. +@end deftypemethod +@deftypemethod PropertyEditor {public void} setAsText (java.lang.String@w{ }@var{text}) @*throws IllegalArgumentException +Set the value of this property using a String. + Whether or not this PropertyEditor is editing a String type, this converts + the String into the type of the PropertyEditor. +@end deftypemethod +@deftypemethod PropertyEditor {public String} getAsText () +Get the value of this property in String format. + Many times this can simply use Object.toString(). + + + Return null if you do not support getAsText()/setAsText(). + @code{setAsText(getAsText())} should be valid; i.e. the stuff you spit out in + getAsText() should be able to go into setAsText(). +@end deftypemethod +@deftypemethod PropertyEditor {public String} getTags () +Get a list of possible Strings which this property type can have. + The value of these will be used by the RAD tool to construct some sort + of list box or to check text box input, and the resulting String passed + to setAsText() should be one of these. Note, however, that like most things + with this mammoth, unwieldy interface, this is not guaranteed. Thus, you + must check the value in setAsText() anyway. +@end deftypemethod +@deftypemethod PropertyEditor {public boolean} isPaintable () +The RAD tool calls this to find out whether the PropertyEditor can paint itself. +@end deftypemethod +@deftypemethod PropertyEditor {public void} paintValue (java.awt.Graphics@w{ }@var{g}, java.awt.Rectangle@w{ }@var{bounds}) +The RAD tool calls this to paint the actual value of the property. + The Graphics context will have the same current font, color, etc. as the + parent Container. You may safely change the font, color, etc. and not + change them back. + + + This method should do a silent no-op if isPaintable() is false. +@end deftypemethod +@deftypemethod PropertyEditor {public boolean} supportsCustomEditor () +The RAD tool calls this to find out whether the PropertyEditor supports a custom component to edit and display itself. +@end deftypemethod +@deftypemethod PropertyEditor {public Component} getCustomEditor () +The RAD tool calls this to grab the component that can edit this type. + The component may be painted anywhere the RAD tool wants to paint it-- + even in its own window. + + + The component must hook up with the PropertyEditor and, whenever a + change to the value is made, fire a PropertyChangeEvent to the source. + + +@end deftypemethod +@deftypemethod PropertyEditor {public void} addPropertyChangeListener (java.beans.PropertyChangeListener@w{ }@var{listener}) +Adds a property change listener to this PropertyEditor. +@end deftypemethod +@deftypemethod PropertyEditor {public void} removePropertyChangeListener (java.beans.PropertyChangeListener@w{ }@var{listener}) +Removes a property change listener from this PropertyEditor. +@end deftypemethod +@deftypemethod PropertyEditor {public String} getJavaInitializationString () +Get a Java language-specific String which could be used to create an Object + of the specified type. Every PropertyEditor must support this. + + + The reason for this is that while most RAD tools will serialize the Beans + and deserialize them at runtime, some RAD tools will generate code that + creates the Beans. Examples of Java initialization strings would be: + + + +@itemize @bullet + + +@item +@code{2} + + +@item +@code{"I am a String"} + + +@item +@code{new MyObject(2, "String", new StringBuffer())} + + +@end itemize + +@end deftypemethod +@deftypemethod PropertyEditorManager {public static void} registerEditor (java.lang.Class@w{ }@var{editedClass}, java.lang.Class@w{ }@var{editorClass}) +Register an editor for a class. Replaces old editor + if there was one registered before. +@end deftypemethod +@deftypemethod PropertyEditorManager {public static PropertyEditor} findEditor (java.lang.Class@w{ }@var{editedClass}) +Returns a new instance of the property editor for the + specified class. +@end deftypemethod +@deftypemethod PropertyEditorManager {public static String} getEditorSearchPath () +Get the editor search path. + As a minor departure from the spec, the default value + for the editor search path is "gnu.java.beans.editors", + "sun.beans.editors". +@end deftypemethod +@deftypemethod PropertyEditorManager {public static void} setEditorSearchPath (java.lang.String[]@w{ }@var{editorSearchPath}) +Set the editor search path. +@end deftypemethod +@deftypemethod PropertyEditorSupport {public void} setValue (java.lang.Object@w{ }@var{val}) +Set the current value of the property. + <STRONG>Implementation Note</STRONG> Sun does not + state what exactly this version of the method does. + Thus, in this implementation, it sets the value, and + then if the old and new values are different, it + fires a property change event with no property name + and the old and new values. +@end deftypemethod +@deftypemethod PropertyEditorSupport {public Object} getValue () +Get the current value of the property. +@end deftypemethod +@deftypemethod PropertyEditorSupport {public boolean} isPaintable () +Get whether this object is paintable or not. +@end deftypemethod +@deftypemethod PropertyEditorSupport {public void} paintValue (java.awt.Graphics@w{ }@var{g}, java.awt.Rectangle@w{ }@var{r}) +Paint this object. This class does nothing in + this method. +@end deftypemethod +@deftypemethod PropertyEditorSupport {public String} getJavaInitializationString () +Get the Java initialization String for the current + value of the Object. This class returns gibberish or + null (though the spec does not say which). + + + <STRONG>Implementation Note:</STRONG> This class + returns the string "@$#^" to make sure the code will + be broken, so that you will know to override it when + you create your own property editor. +@end deftypemethod +@deftypemethod PropertyEditorSupport {public String} getAsText () +Get the value as text. + In this class, you cannot count on getAsText() doing + anything useful, although in this implementation I + do toString(). +@end deftypemethod +@deftypemethod PropertyEditorSupport {public void} setAsText (java.lang.String@w{ }@var{s}) @*throws IllegalArgumentException +Set the value as text. + In this class, you cannot count on setAsText() doing + anything useful across implementations. + <STRONG>Implementation Note:</STRONG> In this + implementation it checks if the String is "null", and + if it is, sets the value to null, otherwise it throws + an IllegalArgumentException. +@end deftypemethod +@deftypemethod PropertyEditorSupport {public String} getTags () +Returns a list of possible choices for the value. +@end deftypemethod +@deftypemethod PropertyEditorSupport {public Component} getCustomEditor () +Return a custom component to edit the value. +@end deftypemethod +@deftypemethod PropertyEditorSupport {public boolean} supportsCustomEditor () +Find out whether this property editor supports a + custom component to edit its value. +@end deftypemethod +@deftypemethod PropertyEditorSupport {public void} addPropertyChangeListener (java.beans.PropertyChangeListener@w{ }@var{l}) +Add a property change listener to this property editor. +@end deftypemethod +@deftypemethod PropertyEditorSupport {public void} removePropertyChangeListener (java.beans.PropertyChangeListener@w{ }@var{l}) +Remove a property change listener from this property editor. +@end deftypemethod +@deftypemethod PropertyEditorSupport {public void} firePropertyChange () +Notify people that we've changed, although we don't + tell them just how. The only thing I can think of to + send in the event is the new value (since the old value + is unavailable and there is no property name). + I confess I do not understand the point of this method. +@end deftypemethod +@deftypemethod PropertyVetoException {public PropertyChangeEvent} getPropertyChangeEvent () +Get the PropertyChange event that was vetoed. +@end deftypemethod +@deftypemethod SimpleBeanInfo {public BeanDescriptor} getBeanDescriptor () +Force Introspection of the general bean info. +@end deftypemethod +@deftypemethod SimpleBeanInfo {public EventSetDescriptor} getEventSetDescriptors () +Force Introspection of the events this Bean type + fires. +@end deftypemethod +@deftypemethod SimpleBeanInfo {public int} getDefaultEventIndex () +Say that there is no "default" event set. +@end deftypemethod +@deftypemethod SimpleBeanInfo {public PropertyDescriptor} getPropertyDescriptors () +Force Introspection of the Bean properties. +@end deftypemethod +@deftypemethod SimpleBeanInfo {public int} getDefaultPropertyIndex () +Say that there is no "default" property. +@end deftypemethod +@deftypemethod SimpleBeanInfo {public MethodDescriptor} getMethodDescriptors () +Force Introspection of the Bean's methods. +@end deftypemethod +@deftypemethod SimpleBeanInfo {public BeanInfo} getAdditionalBeanInfo () +Tell the Introspector to go look for other BeanInfo + itself. +@end deftypemethod +@deftypemethod SimpleBeanInfo {public Image} getIcon (int@w{ }@var{iconType}) +Say that this Bean has no icons. +@end deftypemethod +@deftypemethod SimpleBeanInfo {public Image} loadImage (java.lang.String@w{ }@var{location}) +Helper method to load an image using the Bean class + getResource() method on the BeanInfo class (using + getClass(), since you'll extend this class to get + the BeanInfo). Basically it's assumed that the Bean + and its BeanInfo are both loaded by the same + ClassLoader, generally a reasonable assumption. +@end deftypemethod +@deftypemethod VetoableChangeListener {public void} vetoableChange (java.beans.PropertyChangeEvent@w{ }@var{e}) @*throws PropertyVetoException +Fired before a Bean's property changes. +@end deftypemethod +@deftypemethod VetoableChangeSupport {public void} addVetoableChangeListener (java.beans.VetoableChangeListener@w{ }@var{l}) +Adds a VetoableChangeListener to the list of listeners. + All property change events will be sent to this listener. + + + + + The listener add is not unique: that is, <em>n</em> adds with + the same listener will result in <em>n</em> events being sent + to that listener for every property change. + + + + + Adding a null listener will cause undefined behavior. +@end deftypemethod +@deftypemethod VetoableChangeSupport {public void} addVetoableChangeListener (java.lang.String@w{ }@var{propertyName}, java.beans.VetoableChangeListener@w{ }@var{l}) +Adds a VetoableChangeListener listening on the specified property. + Events will be sent to the listener for that particular property. + + + + + The listener add is not unique; that is, <em>n</em> adds on a + particular property for a particular listener will result in + <em>n</em> events being sent to that listener when that + property is changed. + + + + + The effect is cumulative, too; if you are registered to listen + to receive events on all property changes, and then you + register on a particular property, you will receive change + events for that property twice. + + + + + Adding a null listener will cause undefined behavior. +@end deftypemethod +@deftypemethod VetoableChangeSupport {public void} removeVetoableChangeListener (java.beans.VetoableChangeListener@w{ }@var{l}) +Removes a VetoableChangeListener from the list of listeners. + If any specific properties are being listened on, they must + be deregistered by themselves; this will only remove the + general listener to all properties. + + + + + If @code{add()} has been called multiple times for a + particular listener, @code{remove()} will have to be + called the same number of times to deregister it. +@end deftypemethod +@deftypemethod VetoableChangeSupport {public void} removeVetoableChangeListener (java.lang.String@w{ }@var{propertyName}, java.beans.VetoableChangeListener@w{ }@var{l}) +Removes a VetoableChangeListener from listening to a specific property. + + + + + If @code{add()} has been called multiple times for a + particular listener on a property, @code{remove()} will + have to be called the same number of times to deregister it. +@end deftypemethod +@deftypemethod VetoableChangeSupport {public void} fireVetoableChange (java.beans.PropertyChangeEvent@w{ }@var{proposedChange}) @*throws PropertyVetoException +Fire a VetoableChangeEvent to all the listeners. + If any listener objects, a reversion event will be sent to + those listeners who received the initial event. +@end deftypemethod +@deftypemethod VetoableChangeSupport {public void} fireVetoableChange (java.lang.String@w{ }@var{propertyName}, java.lang.Object@w{ }@var{oldVal}, java.lang.Object@w{ }@var{newVal}) @*throws PropertyVetoException +Fire a VetoableChangeEvent containing the old and new values of the property to all the listeners. + If any listener objects, a reversion event will be sent to + those listeners who received the initial event. +@end deftypemethod +@deftypemethod VetoableChangeSupport {public void} fireVetoableChange (java.lang.String@w{ }@var{propertyName}, boolean@w{ }@var{oldVal}, boolean@w{ }@var{newVal}) @*throws PropertyVetoException +Fire a VetoableChangeEvent containing the old and new values of the property to all the listeners. + If any listener objects, a reversion event will be sent to + those listeners who received the initial event. +@end deftypemethod +@deftypemethod VetoableChangeSupport {public void} fireVetoableChange (java.lang.String@w{ }@var{propertyName}, int@w{ }@var{oldVal}, int@w{ }@var{newVal}) @*throws PropertyVetoException +Fire a VetoableChangeEvent containing the old and new values of the property to all the listeners. + If any listener objects, a reversion event will be sent to + those listeners who received the initial event. +@end deftypemethod +@deftypemethod VetoableChangeSupport {public boolean} hasListeners (java.lang.String@w{ }@var{propertyName}) +Tell whether the specified property is being listened on or not. + This will only return @code{true} if there are listeners + on all properties or if there is a listener specifically on this + property. +@end deftypemethod +@deftypemethod Visibility {public boolean} needsGui () +Tells whether the Bean can run without a GUI or not. +@end deftypemethod +@deftypemethod Visibility {public boolean} avoidingGui () +Tells whether Bean is trying not to use the GUI. + If needsGui() is true, this method should always return false. +@end deftypemethod +@deftypemethod Visibility {public void} dontUseGui () +Tells the Bean not to use GUI methods. + If needsGUI() is false, then after this method is called, + avoidingGui() should return true. +@end deftypemethod +@deftypemethod Visibility {public void} okToUseGui () +Tells the Bean it may use the GUI. + The Bean is not required to use the GUI in this case, it is + merely being <EM>permitted</EM> to use it. If needsGui() is + false, avoidingGui() may return true or false after this method + is called. +@end deftypemethod |