[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[cp-patches] java.beans.PropertyEditorSupport
From: |
Robert Schuster |
Subject: |
[cp-patches] java.beans.PropertyEditorSupport |
Date: |
Sun, 31 Oct 2004 13:23:05 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; de-AT; rv:1.7.3) Gecko/20040930 |
this patch
- fixes bug #10799
- updates the class to 1.5
- fixes documentation and indentation
cu
Robert
Index: ChangeLog
===================================================================
RCS file: /cvsroot/classpath/classpath/ChangeLog,v
retrieving revision 1.2720
diff -u -r1.2720 ChangeLog
--- ChangeLog 29 Oct 2004 16:33:45 -0000 1.2720
+++ ChangeLog 31 Oct 2004 12:16:54 -0000
@@ -1,3 +1,8 @@
+2004-10-31 Robert Schuster <address@hidden>
+
+ * java/beans/PropertyEditorSupport.java:
+ fixed doc and bug# #10799, updated to 1.5
+
2004-10-29 Jerry Quinn <address@hidden>
* java/awt/image/ColorConvertOp.java: New class.
@@ -276,6 +281,7 @@
as unused. Cast _timezone to long before use.
* native/target/generic/target_generic_network.h: Remove asserts.
+>>>>>>> 1.2720
2004-10-25 Noa Resare <address@hidden>
* java/awt/Choice.java (add):
@@ -288,6 +294,7 @@
* gnu/java/awt/peer/gtk/GtkChoicePeer.java (GtkChoicePeer):
Call select() when Choice has a selected item.
+>>>>>>> 1.2704
2004-10-26 Michael Koch <address@hidden>
* gnu/java/net/protocol/http/Connection.java
@@ -346,6 +353,7 @@
* javax/security/auth/login/LoginContext.java: implemented.
* javax/security/auth/spi/LoginModule.java: new file.
+>>>>>>> 1.2703
2004-10-24 Michael Koch <address@hidden>
* javax/swing/tree/DefaultTreeCellEditor.java,
@@ -1198,6 +1206,7 @@
(calculateDay): Added fields argument and changed day argument
to long.
+>>>>>>> 1.2693
2004-10-16 Thomas Fitzsimmons <address@hidden>
* gnu/java/awt/peer/gtk/GtkButtonPeer.java,
Index: java/beans/PropertyEditorSupport.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/beans/PropertyEditorSupport.java,v
retrieving revision 1.5
diff -u -r1.5 PropertyEditorSupport.java
--- java/beans/PropertyEditorSupport.java 22 Jan 2002 22:26:59 -0000
1.5
+++ java/beans/PropertyEditorSupport.java 31 Oct 2004 12:16:55 -0000
@@ -1,5 +1,5 @@
/* 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.
@@ -7,7 +7,7 @@
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
-
+
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
@@ -38,169 +38,236 @@
package java.beans;
+
/**
- ** PropertyEditorSupport helps with PropertyEditors,
- ** implementing base functionality that they usually must
- ** have but which is a pain to implement. You may extend
- ** from this class or use it as a standalone.<P>
- **
- ** This class does not do any painting or actual editing.
- ** For that, you must use or extend it. See the
- ** PropertyEditor class for better descriptions of what
- ** the various methods do.
- **
- ** @author John Keiser
- ** @since JDK1.1
- ** @version 1.1.0, 29 Jul 1998
- **/
-
-public class PropertyEditorSupport implements PropertyEditor {
- Object eventSource;
- Object val;
- PropertyChangeSupport pSupport;
-
- /** Call this constructor when you are deriving from
- ** PropertyEditorSupport.
- **/
- protected PropertyEditorSupport() {
- this.eventSource = this;
- this.pSupport = new PropertyChangeSupport(this);
- }
-
- /** Call this constructor when you are using
- ** PropertyEditorSupport as a helper object.
- ** @param eventSource the source to use when firing
- ** property change events.
- **/
- protected PropertyEditorSupport(Object eventSource) {
- this.eventSource = eventSource;
- this.pSupport = new PropertyChangeSupport(this);
- }
-
- /** 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.
- ** @param val the new value for the property.
- **/
- public void setValue(Object val) {
- Object oldVal = val;
- this.val = val;
- if(!oldVal.equals(val)) {
- pSupport.firePropertyChange(null,oldVal,val);
- }
- }
-
- /** Get the current value of the property.
- ** @return the current value of the property.
- **/
- public Object getValue() {
- return val;
- }
-
- /** Get whether this object is paintable or not.
- ** @return <CODE>false</CODE>
- **/
- public boolean isPaintable() {
- return false;
- }
-
- /** Paint this object. This class does nothing in
- ** this method.
- **/
- public void paintValue(java.awt.Graphics g, java.awt.Rectangle r) {
- }
-
- /** 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).<P>
- ** <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.
- ** @return the Java initialization string.
- **/
- public String getJavaInitializationString() {
- return "@$#^";
- }
-
- /** Get the value as text.
- ** In this class, you cannot count on getAsText() doing
- ** anything useful, although in this implementation I
- ** do toString().
- ** @return the value as text.
- **/
- public String getAsText() {
- return val != null ? val.toString() : "null";
- }
-
- /** 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.
- ** @param s the text to convert to a new value.
- ** @exception IllegalArgumentException if the text is
- ** malformed.
- **/
- public void setAsText(String s) throws IllegalArgumentException {
- if(s.equals("null")) {
- setValue(null);
- } else {
- throw new IllegalArgumentException();
- }
- }
-
- /** Returns a list of possible choices for the value.
- ** @return <CODE>null</CODE>
- **/
- public String[] getTags() {
- return null;
- }
-
- /** Return a custom component to edit the value.
- ** @return <CODE>null</CODE> in this class.
- **/
- public java.awt.Component getCustomEditor() {
- return null;
- }
-
- /** Find out whether this property editor supports a
- ** custom component to edit its value.
- ** @return <CODE>false</CODE> in this class.
- **/
- public boolean supportsCustomEditor() {
- return false;
- }
-
- /** Add a property change listener to this property editor.
- ** @param l the listener to add.
- **/
- public void addPropertyChangeListener(PropertyChangeListener l) {
- pSupport.addPropertyChangeListener(l);
- }
-
- /** Remove a property change listener from this property editor.
- ** @param l the listener to remove.
- **/
- public void removePropertyChangeListener(PropertyChangeListener l) {
- pSupport.removePropertyChangeListener(l);
- }
-
-
- /** 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.
- **/
- public void firePropertyChange() {
- pSupport.firePropertyChange(null,null,val);
- }
+ * PropertyEditorSupport helps with PropertyEditors,
+ * implementing base functionality that they usually must
+ * have but which is a pain to implement. You may extend
+ * from this class or use it as a standalone.<P>
+ *
+ * This class does not do any painting or actual editing.
+ * For that, you must use or extend it. See the
+ * PropertyEditor class for better descriptions of what
+ * the various methods do.
+ *
+ * @author John Keiser
+ * @author Robert Schuster
+ * @since 1.1
+ * @status updated to 1.5
+ */
+public class PropertyEditorSupport implements PropertyEditor
+{
+ Object eventSource;
+ Object value;
+ PropertyChangeSupport pSupport;
+
+ /** Call this constructor when you are deriving from
+ * PropertyEditorSupport.
+ *
+ * Using this constructor the event source is this PropertyEditorSupport
+ * instance itself.
+ *
+ * @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
+ * PropertyEditorSupport as a helper object.
+ *
+ * This constructor throws a NullPointerException when source is null,
+ * for compatibility reasons with J2SDK 1.5.0
+ *
+ * @param source The source to use when firing
+ * property change events.
+ *
+ * @since 1.5
+ * @status this was <code>protected</code prior to 1.5
+ */
+ public PropertyEditorSupport(Object source)
+ {
+ // note: constructor rejects source being null for the sake of
compatibility
+ // with official 1.5.0 implementation
+ if (source == null)
+ throw new NullPointerException("Event source must not be null.");
+
+ eventSource = source;
+ pSupport = new PropertyChangeSupport(this);
+ }
+
+ /** Sets the current value of the property and a property change
+ * event is fired to all registered PropertyChangeListener instances.
+ *
+ * @param val the new value for the property.
+ */
+ public void setValue(Object newValue)
+ {
+ // saves the current value for the event mechanism
+ Object oldValue = value;
+
+ value = newValue;
+
+ // does notification regardless of whether the value changed or not
+ // and do not provide the values via the PropertyChangeEvent
+ // (this behaviour is forced due to the specification of
PropertyChangeEvent)
+ pSupport.firePropertyChange(null, null, null);
+ }
+
+ /** 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;
+ }
+
+ /** Paints this object. This class does nothing in
+ * this method.
+ */
+ public void paintValue(java.awt.Graphics g, java.awt.Rectangle r)
+ {
+ }
+
+ /** Gets the Java initialization String for the current
+ * value of the Object. This class returns gibberish or
+ * null (though the spec does not say which).<P>
+ * <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.
+ *
+ * @return the Java initialization string.
+ */
+ public String getJavaInitializationString()
+ {
+ return "@$#^";
+ }
+
+ /** Gets the value as text.
+ * In this class, you cannot count on getAsText() doing
+ * anything useful, although in this implementation I
+ * do toString().
+ *
+ * @return the value as text.
+ */
+ public String getAsText()
+ {
+ return value != null ? value.toString() : "null";
+ }
+
+ /** Sets 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.
+ *
+ * @param s the text to convert to a new value.
+ * @exception IllegalArgumentException if the text is
+ * malformed.
+ */
+ public void setAsText(String s) throws IllegalArgumentException
+ {
+ if (s.equals("null"))
+ setValue(null);
+ else
+ throw new IllegalArgumentException();
+ }
+
+ /** Returns a list of possible choices for the value.
+ *
+ * @return <CODE>null</CODE>
+ */
+ public String[] getTags()
+ {
+ return null;
+ }
+
+ /** Returns a custom component to edit the value.
+ *
+ * @return <CODE>null</CODE> in this class.
+ */
+ public java.awt.Component getCustomEditor()
+ {
+ return null;
+ }
+
+ /** Finds out whether this property editor supports a
+ * custom component to edit its value.
+ *
+ * @return <CODE>false</CODE> in this class.
+ */
+ public boolean supportsCustomEditor()
+ {
+ return false;
+ }
+
+ /** Adds a property change listener to this property editor.
+ *
+ * @param l the listener to add.
+ */
+ public void addPropertyChangeListener(PropertyChangeListener l)
+ {
+ pSupport.addPropertyChangeListener(l);
+ }
+
+ /** Removes a property change listener from this property editor.
+ *
+ * @param l the listener to remove.
+ */
+ public void removePropertyChangeListener(PropertyChangeListener 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);
+ }
+
+ /** Returns the bean that is used as the source of events.
+ * If the source has not been explicitly set then this
+ * instance of PropertyEditorSupport is returned.
+ *
+ * @return The event source object
+ *
+ * @since 1.5
+ */
+ public Object getSource()
+ {
+ return eventSource;
+ }
+
+ /** Sets the bean that is used as the source of events
+ * when property changes occur.
+ *
+ * This source should be used for information purposes only
+ * and should not be modified by the PropertyEditor.
+ *
+ * @param source
+ *
+ * @since 1.5
+ */
+ public void setSource(Object source)
+ {
+ eventSource = source;
+ }
}
-
- [cp-patches] java.beans.PropertyEditorSupport,
Robert Schuster <=