mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			811 lines
		
	
	
		
			34 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			811 lines
		
	
	
		
			34 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| @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
 |