Commit 3894fe32 by Michael Koch Committed by Michael Koch

Beans.java, [...]: Reformated to GNU style.

2003-02-27  Michael Koch  <konqueror@gmx.de>

	* java/beans/Beans.java,
	java/beans/FeatureDescriptor.java
	java/beans/PropertyEditorManager.java:
	Reformated to GNU style.

From-SVN: r63501
parent 6fc19dc9
2003-02-27 Michael Koch <konqueror@gmx.de>
* java/beans/Beans.java,
java/beans/FeatureDescriptor.java
java/beans/PropertyEditorManager.java:
Reformated to GNU style.
2003-02-25 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/MappedByteFileBuffer.java,
......
......@@ -41,126 +41,175 @@ package java.beans;
import java.util.*;
/**
** FeatureDescriptor is the common superclass for all JavaBeans Descriptor classes.
** JavaBeans descriptors are abstract descriptors of properties,
** events, methods, beans, etc.<P>
**
** <STRONG>Documentation Convention:</STRONG> for proper
** Internalization of Beans inside an RAD tool, sometimes there
** are two names for a property or method: a programmatic, or
** locale-independent name, which can be used anywhere, and a
** localized, display name, for ease of use. In the
** documentation I will specify different String values as
** either <EM>programmatic</EM> or <EM>localized</EM> to
** make this distinction clear.
**
** @author John Keiser
** @since JDK1.1
** @version 1.1.0, 31 May 1998
**/
public class FeatureDescriptor {
String name;
String displayName;
String shortDescription;
boolean expert;
boolean hidden;
Hashtable valueHash;
/** Instantiate this FeatureDescriptor with appropriate default values.**/
public FeatureDescriptor() {
valueHash = new Hashtable();
}
/** Get the programmatic name of this feature. **/
public String getName() {
return name;
}
/** Set the programmatic name of this feature.
** @param name the new name for this feature.
**/
public void setName(String name) {
this.name = name;
}
/** Get the localized (display) name of this feature. **/
public String getDisplayName() {
return displayName;
}
/** Set the localized (display) name of this feature.
** @param displayName the new display name for this feature.
**/
public void setDisplayName(String displayName) {
this.displayName = displayName;
}
/** Get the localized short description for this feature. **/
public String getShortDescription() {
return shortDescription;
}
/** Set the localized short description for this feature.
** @param shortDescription the new short description for this feature.
**/
public void setShortDescription(String shortDescription) {
this.shortDescription = shortDescription;
}
/** Indicates whether this feature is for expert use only.
** @return true if for use by experts only, or false if anyone can use it.
**/
public boolean isExpert() {
return expert;
}
/** Set whether this feature is for expert use only.
** @param expert true if for use by experts only, or false if anyone can use it.
**/
public void setExpert(boolean expert) {
this.expert = expert;
}
/** Indicates whether this feature is for use by tools only.
** If it is for use by tools only, then it should not be displayed.
** @return true if tools only should use it, or false if anyone can see it.
**/
public boolean isHidden() {
return 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.
** @param hidden true if tools only should use it, or false if anyone can see it.
**/
public void setHidden(boolean hidden) {
this.hidden = hidden;
}
/** Get an arbitrary value set with setValue().
** @param name the programmatic name of the key.
** @return the value associated with this name, or null if there is none.
**/
public Object getValue(String name) {
return valueHash.get(name);
}
/** Set an arbitrary string-value pair with this feature.
** @param name the programmatic name of the key.
** @param value the value to associate with the name.
**/
public void setValue(String name, Object value) {
valueHash.put(name, value);
}
/** Get a list of the programmatic key names set with setValue().
** @return an Enumerator over all the programmatic key names associated
** with this feature.
**/
public Enumeration attributeNames() {
return valueHash.keys();
}
* FeatureDescriptor is the common superclass for all JavaBeans Descriptor
* classes. JavaBeans descriptors are abstract descriptors of properties,
* events, methods, beans, etc.<P>
*
* <STRONG>Documentation Convention:</STRONG> for proper
* Internalization of Beans inside an RAD tool, sometimes there
* are two names for a property or method: a programmatic, or
* locale-independent name, which can be used anywhere, and a
* localized, display name, for ease of use. In the
* documentation I will specify different String values as
* either <EM>programmatic</EM> or <EM>localized</EM> to
* make this distinction clear.
*
* @author John Keiser
* @since 1.1
* @version 1.1.0, 31 May 1998
*/
public class FeatureDescriptor
{
String name;
String displayName;
String shortDescription;
boolean expert;
boolean hidden;
Hashtable valueHash;
/**
* Instantiate this FeatureDescriptor with appropriate default values.
*/
public FeatureDescriptor()
{
valueHash = new Hashtable();
}
/**
* Get the programmatic name of this feature.
*/
public String getName()
{
return name;
}
/**
* Set the programmatic name of this feature.
*
* @param name the new name for this feature.
*/
public void setName(String name)
{
this.name = name;
}
/**
* Get the localized (display) name of this feature.
*/
public String getDisplayName()
{
return displayName;
}
/**
* Set the localized (display) name of this feature.
*
* @param displayName the new display name for this feature.
*/
public void setDisplayName(String displayName)
{
this.displayName = displayName;
}
/**
* Get the localized short description for this feature.
*/
public String getShortDescription()
{
return shortDescription;
}
/**
* Set the localized short description for this feature.
*
* @param shortDescription the new short description for this feature.
*/
public void setShortDescription(String shortDescription)
{
this.shortDescription = shortDescription;
}
/**
* Indicates whether this feature is for expert use only.
*
* @return true if for use by experts only,
* or false if anyone can use it.
*/
public boolean isExpert()
{
return expert;
}
/**
* Set whether this feature is for expert use only.
*
* @param expert true if for use by experts only,
* or false if anyone can use it.
*/
public void setExpert(boolean expert)
{
this.expert = expert;
}
/**
* Indicates whether this feature is for use by tools only.
* If it is for use by tools only, then it should not be displayed.
*
* @return true if tools only should use it,
* or false if anyone can see it.
*/
public boolean isHidden()
{
return 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.
*
* @param hidden true if tools only should use it,
* or false if anyone can see it.
*/
public void setHidden(boolean hidden)
{
this.hidden = hidden;
}
/**
* Get an arbitrary value set with setValue().
*
* @param name the programmatic name of the key.
*
* @return the value associated with this name,
* or null if there is none.
*/
public Object getValue(String name)
{
return valueHash.get(name);
}
/**
* Set an arbitrary string-value pair with this feature.
*
* @param name the programmatic name of the key.
* @param value the value to associate with the name.
*/
public void setValue(String name, Object value)
{
valueHash.put(name, value);
}
/**
* Get a list of the programmatic key names set with setValue().
*
* @return an Enumerator over all the programmatic key names associated
* with this feature.
*/
public Enumeration attributeNames()
{
return valueHash.keys();
}
}
......@@ -41,121 +41,152 @@ package java.beans;
import gnu.java.lang.ClassHelper;
/**
** PropertyEditorManager is used to find property editors
** for various types (not necessarily Beans).<P>
**
** It first checks to see if the property editor is
** already registered; if it is, that property editor is
** used. Next it takes the type's classname and appends
** "Editor" to it, and searches first in the class's
** package and then in the property editor search path.<P>
**
** Default property editors are provided for:<P>
** <OL>
** <LI>boolean, byte, short, int, long, float, and double</LI>
** <LI>java.lang.String</LI>
** <LI>java.awt.Color</LI>
** <LI>java.awt.Font</LI>
** <OL>
**
** <STRONG>Spec Suggestion:</STRONG> Perhaps an editor for
** Filename or something like it should be provided. As well
** as char.
**
** @author John Keiser
** @since JDK1.1
** @version 1.1.0, 29 Jul 1998
**/
public class PropertyEditorManager {
static java.util.Hashtable editors = new java.util.Hashtable();
static String[] editorSearchPath = {"gnu.java.beans.editors","sun.beans.editors"};
static {
registerEditor(java.lang.Boolean.TYPE, gnu.java.beans.editors.NativeBooleanEditor.class);
registerEditor(java.lang.Byte.TYPE, gnu.java.beans.editors.NativeByteEditor.class);
registerEditor(java.lang.Short.TYPE, gnu.java.beans.editors.NativeShortEditor.class);
registerEditor(java.lang.Integer.TYPE, gnu.java.beans.editors.NativeIntEditor.class);
registerEditor(java.lang.Long.TYPE, gnu.java.beans.editors.NativeLongEditor.class);
registerEditor(java.lang.Float.TYPE, gnu.java.beans.editors.NativeFloatEditor.class);
registerEditor(java.lang.Double.TYPE, gnu.java.beans.editors.NativeDoubleEditor.class);
registerEditor(java.lang.String.class, gnu.java.beans.editors.StringEditor.class);
registerEditor(java.awt.Color.class, gnu.java.beans.editors.ColorEditor.class);
registerEditor(java.awt.Font.class, gnu.java.beans.editors.FontEditor.class);
}
/** Beats me why this class can be instantiated, but there
** you have it.
**/
public PropertyEditorManager() { }
/** Register an editor for a class. Replaces old editor
** if there was one registered before.
** @param editedClass the class that the property editor
** will edit.
** @param editorClass the PropertyEditor class.
**/
public static void registerEditor(Class editedClass, Class editorClass) {
editors.put(editedClass, editorClass);
}
/** Returns a new instance of the property editor for the
** specified class.
** @param editedClass the class that the property editor
** will edit.
** @return a PropertyEditor instance that can edit the
** specified class.
**/
public static PropertyEditor findEditor(Class editedClass) {
try {
Class found = (Class)editors.get(editedClass);
if(found != null) {
return (PropertyEditor)found.newInstance();
}
try {
found = Class.forName(editedClass.getName()+"Editor");
registerEditor(editedClass,found);
return (PropertyEditor)found.newInstance();
} catch(ClassNotFoundException E) {
}
String appendName = "." + ClassHelper.getTruncatedClassName(editedClass) + "Editor";
synchronized(editorSearchPath) {
for(int i=0;i<editorSearchPath.length;i++) {
try {
found = Class.forName(editorSearchPath[i] + appendName);
registerEditor(editedClass,found);
return (PropertyEditor)found.newInstance();
} catch(ClassNotFoundException E) {
}
}
}
} catch(InstantiationException E) {
} catch(IllegalAccessException E) {
}
return null;
}
/** 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".
** @return the editor search path.
**/
public static String[] getEditorSearchPath() {
return editorSearchPath;
}
/** Set the editor search path.
** @param editorSearchPath the new value for the editor
** search path.
**/
public static void setEditorSearchPath(String[] editorSearchPath) {
synchronized(editorSearchPath) {
PropertyEditorManager.editorSearchPath = editorSearchPath;
}
}
* PropertyEditorManager is used to find property editors
* for various types (not necessarily Beans).<P>
*
* It first checks to see if the property editor is
* already registered; if it is, that property editor is
* used. Next it takes the type's classname and appends
* "Editor" to it, and searches first in the class's
* package and then in the property editor search path.<P>
*
* Default property editors are provided for:<P>
* <OL>
* <LI>boolean, byte, short, int, long, float, and double</LI>
* <LI>java.lang.String</LI>
* <LI>java.awt.Color</LI>
* <LI>java.awt.Font</LI>
* <OL>
*
* <STRONG>Spec Suggestion:</STRONG> Perhaps an editor for
* Filename or something like it should be provided. As well
* as char.
*
* @author John Keiser
* @since 1.1
* @version 1.1.0, 29 Jul 1998
*/
public class PropertyEditorManager
{
static java.util.Hashtable editors = new java.util.Hashtable();
static String[] editorSearchPath = {"gnu.java.beans.editors","sun.beans.editors"};
static
{
registerEditor(java.lang.Boolean.TYPE, gnu.java.beans.editors.NativeBooleanEditor.class);
registerEditor(java.lang.Byte.TYPE, gnu.java.beans.editors.NativeByteEditor.class);
registerEditor(java.lang.Short.TYPE, gnu.java.beans.editors.NativeShortEditor.class);
registerEditor(java.lang.Integer.TYPE, gnu.java.beans.editors.NativeIntEditor.class);
registerEditor(java.lang.Long.TYPE, gnu.java.beans.editors.NativeLongEditor.class);
registerEditor(java.lang.Float.TYPE, gnu.java.beans.editors.NativeFloatEditor.class);
registerEditor(java.lang.Double.TYPE, gnu.java.beans.editors.NativeDoubleEditor.class);
registerEditor(java.lang.String.class, gnu.java.beans.editors.StringEditor.class);
registerEditor(java.awt.Color.class, gnu.java.beans.editors.ColorEditor.class);
registerEditor(java.awt.Font.class, gnu.java.beans.editors.FontEditor.class);
}
/**
* Beats me why this class can be instantiated, but there
* you have it.
*/
public PropertyEditorManager()
{
// Do nothing here
}
/**
* Register an editor for a class. Replaces old editor
* if there was one registered before.
*
* @param editedClass the class that the property editor
* will edit.
* @param editorClass the PropertyEditor class.
*/
public static void registerEditor(Class editedClass, Class editorClass)
{
editors.put(editedClass, editorClass);
}
/**
* Returns a new instance of the property editor for the
* specified class.
*
* @param editedClass the class that the property editor
* will edit.
* @return a PropertyEditor instance that can edit the
* specified class.
*/
public static PropertyEditor findEditor(Class editedClass)
{
try
{
Class found = (Class)editors.get(editedClass);
if(found != null)
{
return (PropertyEditor)found.newInstance();
}
try
{
found = Class.forName(editedClass.getName()+"Editor");
registerEditor(editedClass,found);
return (PropertyEditor)found.newInstance();
}
catch(ClassNotFoundException E)
{
}
String appendName = "." + ClassHelper.getTruncatedClassName(editedClass) + "Editor";
synchronized(editorSearchPath)
{
for(int i=0;i<editorSearchPath.length;i++)
{
try
{
found = Class.forName(editorSearchPath[i] + appendName);
registerEditor(editedClass,found);
return (PropertyEditor)found.newInstance();
}
catch(ClassNotFoundException E)
{
}
}
}
}
catch(InstantiationException E)
{
}
catch(IllegalAccessException E)
{
}
return null;
}
/**
* 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".
*
* @return the editor search path.
*/
public static String[] getEditorSearchPath()
{
return editorSearchPath;
}
/**
* Set the editor search path.
*
* @param editorSearchPath the new value for the editor search path.
*/
public static void setEditorSearchPath(String[] editorSearchPath)
{
synchronized(editorSearchPath)
{
PropertyEditorManager.editorSearchPath = editorSearchPath;
}
}
}
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