Commit 6ea123ce by Robert Schuster Committed by Mark Wielaard

Fixes documentation and indentation

2004-11-06  Robert Schuster <thebohemian@gmx.net>

       Fixes documentation and indentation
       * java/beans/PropertyEditorSupport.java:
       reworked initial API doc
       (value): changed name from val

2004-11-06  Robert Schuster <thebohemian@gmx.net>

       Updates to 1.5
       * java/beans/PropertyEditorSupport.java
       (PropertyEditorSupport()): Changed modifier to public
       (PropertyEditorSupport(Object): Changed modifier to public
       (setSource): New method
       (getSource): New method

2004-11-06  Robert Schuster <thebohemian@gmx.net>

       Fixes bug #10799
       * java/beans/PropertyEditorSupport.java
       (setValue): Fire property change event

From-SVN: r90170
parent c1df75d1
2004-11-06 Robert Schuster <thebohemian@gmx.net>
Fixes documentation and indentation
* java/beans/PropertyEditorSupport.java:
reworked initial API doc
(value): changed name from val
2004-11-06 Robert Schuster <thebohemian@gmx.net>
Updates to 1.5
* java/beans/PropertyEditorSupport.java
(PropertyEditorSupport()): Changed modifier to public
(PropertyEditorSupport(Object): Changed modifier to public
(setSource): New method
(getSource): New method
2004-11-06 Robert Schuster <thebohemian@gmx.net>
Fixes bug #10799
* java/beans/PropertyEditorSupport.java
(setValue): Fire property change event
2004-11-03 Tom Tromey <tromey@redhat.com> 2004-11-03 Tom Tromey <tromey@redhat.com>
* jni.cc (_Jv_JNI_NewObjectArray): Fixed return type. * jni.cc (_Jv_JNI_NewObjectArray): Fixed return type.
......
/* java.beans.PropertyEditorSupport /* java.beans.PropertyEditorSupport
Copyright (C) 1998 Free Software Foundation, Inc. Copyright (C) 1998, 2004 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
...@@ -38,169 +38,228 @@ exception statement from your version. */ ...@@ -38,169 +38,228 @@ exception statement from your version. */
package java.beans; package java.beans;
/** /**
** PropertyEditorSupport helps with PropertyEditors, * PropertyEditorSupport helps with PropertyEditors,
** implementing base functionality that they usually must * implementing base functionality that they usually must
** have but which is a pain to implement. You may extend * have but which is a pain to implement. You may extend
** from this class or use it as a standalone.<P> * from this class or use it as a standalone.<P>
** *
** This class does not do any painting or actual editing. * This class does not do any painting or actual editing.
** For that, you must use or extend it. See the * For that, you must use or extend it. See the
** PropertyEditor class for better descriptions of what * PropertyEditor class for better descriptions of what
** the various methods do. * the various methods do.
** *
** @author John Keiser * @author John Keiser
** @since JDK1.1 * @author Robert Schuster
** @version 1.1.0, 29 Jul 1998 * @since 1.1
**/ * @status updated to 1.5
*/
public class PropertyEditorSupport implements PropertyEditor { public class PropertyEditorSupport implements PropertyEditor
{
Object eventSource; Object eventSource;
Object val; Object value;
PropertyChangeSupport pSupport; PropertyChangeSupport pSupport;
/** Call this constructor when you are deriving from /** Call this constructor when you are deriving from
** PropertyEditorSupport. * PropertyEditorSupport.
**/ *
protected PropertyEditorSupport() { * Using this constructor the event source is this PropertyEditorSupport
this.eventSource = this; * instance itself.
this.pSupport = new PropertyChangeSupport(this); *
* @since 1.5
* @status this was <code>protected</code> prior to 1.5
*/
public PropertyEditorSupport()
{
eventSource = this;
pSupport = new PropertyChangeSupport(this);
} }
/** Call this constructor when you are using /** Call this constructor when you are using
** PropertyEditorSupport as a helper object. * PropertyEditorSupport as a helper object.
** @param eventSource the source to use when firing *
** property change events. * This constructor throws a NullPointerException when <code>source</code> is <code>null</code>,
**/ * for compatibility reasons with J2SDK 1.5.0 .
protected PropertyEditorSupport(Object eventSource) { *
this.eventSource = eventSource; * @param source The source to use when firing
this.pSupport = new PropertyChangeSupport(this); * property change events.
} * @since 1.5
* @status this was <code>protected</code> prior to 1.5
/** Set the current value of the property. */
** <STRONG>Implementation Note</STRONG> Sun does not public PropertyEditorSupport(Object source)
** state what exactly this version of the method does. {
** Thus, in this implementation, it sets the value, and // note: constructor rejects source being null for the sake of compatibility
** then if the old and new values are different, it // with official 1.5.0 implementation
** fires a property change event with no property name if (source == null)
** and the old and new values. throw new NullPointerException("Event source must not be null.");
** @param val the new value for the property.
**/ eventSource = source;
public void setValue(Object val) { pSupport = new PropertyChangeSupport(eventSource);
Object oldVal = val; }
this.val = val;
if(!oldVal.equals(val)) { /** Sets the current value of the property and a property change
pSupport.firePropertyChange(null,oldVal,val); * event is fired to all registered PropertyChangeListener instances.
} *
} * @param newValue The new value for the property.
*/
/** Get the current value of the property. public void setValue(Object newValue)
** @return the current value of the property. {
**/ value = newValue;
public Object getValue() {
return val; // specification in java.beans.PropertyChangeEvent says
} // that without a property name (first argument) the
// new and the old value should always be null
/** Get whether this object is paintable or not. pSupport.firePropertyChange(null, null, null);
** @return <CODE>false</CODE> }
**/
public boolean isPaintable() { /** Gets the current value of the property.
*
* @return the current value of the property.
*/
public Object getValue()
{
return value;
}
/** Gets whether this object is paintable or not.
*
* @return <CODE>false</CODE>
*/
public boolean isPaintable()
{
return false; return false;
} }
/** Paint this object. This class does nothing in /** Paints this object. This class does nothing in
** this method. * this method.
**/ */
public void paintValue(java.awt.Graphics g, java.awt.Rectangle r) { public void paintValue(java.awt.Graphics g, java.awt.Rectangle r)
{
} }
/** Get the Java initialization String for the current /** Gets the Java initialization String for the current
** value of the Object. This class returns gibberish or * value of the Object. This class returns gibberish or
** null (though the spec does not say which).<P> * null (though the spec does not say which).<P>
** <STRONG>Implementation Note:</STRONG> This class * <STRONG>Implementation Note:</STRONG> This class
** returns the string "@$#^" to make sure the code will * returns the string "@$#^" to make sure the code will
** be broken, so that you will know to override it when * be broken, so that you will know to override it when
** you create your own property editor. * you create your own property editor.
** @return the Java initialization string. *
**/ * @return the Java initialization string.
public String getJavaInitializationString() { */
public String getJavaInitializationString()
{
return "@$#^"; return "@$#^";
} }
/** Get the value as text. /** Gets the value as text.
** In this class, you cannot count on getAsText() doing * In this class, you cannot count on getAsText() doing
** anything useful, although in this implementation I * anything useful, although in this implementation I
** do toString(). * do toString().
** @return the value as text. *
**/ * @return the value as text.
public String getAsText() { */
return val != null ? val.toString() : "null"; public String getAsText()
} {
return value != null ? value.toString() : "null";
/** Set the value as text. }
** In this class, you cannot count on setAsText() doing
** anything useful across implementations. /** Sets the value as text.
** <STRONG>Implementation Note:</STRONG> In this * In this class, you cannot count on setAsText() doing
** implementation it checks if the String is "null", and * anything useful across implementations.
** if it is, sets the value to null, otherwise it throws * <STRONG>Implementation Note:</STRONG> In this
** an IllegalArgumentException. * implementation it checks if the String is "null", and
** @param s the text to convert to a new value. * if it is, sets the value to null, otherwise it throws
** @exception IllegalArgumentException if the text is * an IllegalArgumentException.
** malformed. *
**/ * @param s the text to convert to a new value.
public void setAsText(String s) throws IllegalArgumentException { * @exception IllegalArgumentException if the text is
if(s.equals("null")) { * malformed.
*/
public void setAsText(String s) throws IllegalArgumentException
{
if (s.equals("null"))
setValue(null); setValue(null);
} else { else
throw new IllegalArgumentException(); throw new IllegalArgumentException();
} }
}
/** Returns a list of possible choices for the value. /** Returns a list of possible choices for the value.
** @return <CODE>null</CODE> *
**/ * @return <CODE>null</CODE>
public String[] getTags() { */
public String[] getTags()
{
return null; return null;
} }
/** Return a custom component to edit the value. /** Returns a custom component to edit the value.
** @return <CODE>null</CODE> in this class. *
**/ * @return <CODE>null</CODE> in this class.
public java.awt.Component getCustomEditor() { */
public java.awt.Component getCustomEditor()
{
return null; return null;
} }
/** Find out whether this property editor supports a /** Finds out whether this property editor supports a
** custom component to edit its value. * custom component to edit its value.
** @return <CODE>false</CODE> in this class. *
**/ * @return <CODE>false</CODE> in this class.
public boolean supportsCustomEditor() { */
public boolean supportsCustomEditor()
{
return false; return false;
} }
/** Add a property change listener to this property editor. /** Adds a property change listener to this property editor.
** @param l the listener to add. *
**/ * @param l the listener to add.
public void addPropertyChangeListener(PropertyChangeListener l) { */
public void addPropertyChangeListener(PropertyChangeListener l)
{
pSupport.addPropertyChangeListener(l); pSupport.addPropertyChangeListener(l);
} }
/** Remove a property change listener from this property editor. /** Removes a property change listener from this property editor.
** @param l the listener to remove. *
**/ * @param l the listener to remove.
public void removePropertyChangeListener(PropertyChangeListener l) { */
public void removePropertyChangeListener(PropertyChangeListener l)
{
pSupport.removePropertyChangeListener(l); pSupport.removePropertyChangeListener(l);
} }
/** Notifies people that we've changed, although we don't
* tell them just how.
*/
public void firePropertyChange()
{
pSupport.firePropertyChange(null, null, null);
}
/** Notify people that we've changed, although we don't /** Returns the bean that is used as the source of events.
** tell them just how. The only thing I can think of to *
** send in the event is the new value (since the old value * @return The event source object
** is unavailable and there is no property name). * @since 1.5
** I confess I do not understand the point of this method. */
**/ public Object getSource()
public void firePropertyChange() { {
pSupport.firePropertyChange(null,null,val); return eventSource;
} }
}
/** Sets the bean that is used as the source of events
* when property changes occur.
*
* The event source bean is for informational purposes only
* and should not be changed by the <code>PropertyEditor</code>.
*
* @param source
* @since 1.5
*/
public void setSource(Object source)
{
eventSource = source;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment