|
What this is
Other links
The source code
/*
* Sun Public License Notice
*
* The contents of this file are subject to the Sun Public License
* Version 1.0 (the "License"). You may not use this file except in
* compliance with the License. A copy of the License is available at
* http://www.sun.com/
*
* The Original Code is NetBeans. The Initial Developer of the Original
* Code is Sun Microsystems, Inc. Portions Copyright 1997-2003 Sun
* Microsystems, Inc. All Rights Reserved.
*/
package org.netbeans.beaninfo;
import java.awt.Image;
import java.beans.*;
import org.openide.loaders.DataLoader;
import org.openide.loaders.UniFileLoader;
import org.openide.loaders.MultiFileLoader;
import org.openide.util.Utilities;
import org.openide.util.NbBundle;
public class DataLoaderPool {
/** Create read-only 'extensions' property. Method used in [Folder|Instance]LoaderBeanInfo.
*/
private static PropertyDescriptor[] createExtensionsPropertyDescriptor () {
try {
PropertyDescriptor extensions = new PropertyDescriptor ("extensions", UniFileLoader.class); // NOI18N
extensions.setDisplayName (NbBundle.getBundle (DataLoaderPool.class).getString ("PROP_UniFileLoader_extensions"));
extensions.setShortDescription (NbBundle.getBundle (DataLoaderPool.class).getString ("HINT_UniFileLoader_extensions"));
extensions.setWriteMethod(null);
return new PropertyDescriptor[] { extensions };
}
catch (IntrospectionException ie) {
org.openide.ErrorManager.getDefault().notify(ie);
return null;
}
}
public static class FolderLoaderBeanInfo extends SimpleBeanInfo {
public BeanInfo[] getAdditionalBeanInfo () {
try {
// FolderLoader bean info uses MultiFileLoader's bean info instead of
// UniFileLoader's one. That is why it is necessary to remove 'extensions'
// property (declared in UniFileLoaderBeanInfo).
// Currently this property is only addition to MultiFileLoader bean info
// provided by UniFileLoaderBeanInfo.
return new BeanInfo[] { Introspector.getBeanInfo (MultiFileLoader.class) };
} catch (IntrospectionException ie) {
org.openide.ErrorManager.getDefault().notify(ie);
return null;
}
}
public PropertyDescriptor[] getPropertyDescriptors () {
return createExtensionsPropertyDescriptor();
}
public Image getIcon (int type) {
if ((type == BeanInfo.ICON_COLOR_16x16) || (type == BeanInfo.ICON_MONO_16x16)) {
return Utilities.loadImage("org/openide/loaders/defaultFolder.gif"); // NOI18N
} else {
return Utilities.loadImage("org/openide/loaders/defaultFolder32.gif"); // NOI18N
}
}
}
public static class InstanceLoaderBeanInfo extends SimpleBeanInfo {
public BeanInfo[] getAdditionalBeanInfo () {
try {
// InstanceLoader bean info uses MultiFileLoader's bean info instead of
// UniFileLoader's one. That is why it is necessary to change 'extensions'
// property from r/w (declared in UniFileLoaderBeanInfo) to r/o property.
// Currently this property is only addition to MultiFileLoader bean info
// provided by UniFileLoaderBeanInfo.
return new BeanInfo[] { Introspector.getBeanInfo (MultiFileLoader.class) };
} catch (IntrospectionException ie) {
org.openide.ErrorManager.getDefault().notify(ie);
return null;
}
}
public PropertyDescriptor[] getPropertyDescriptors () {
return createExtensionsPropertyDescriptor();
}
public Image getIcon (int type) {
if ((type == BeanInfo.ICON_COLOR_16x16) || (type == BeanInfo.ICON_MONO_16x16)) {
return Utilities.loadImage("org/netbeans/core/resources/action.gif"); // NOI18N
} else {
return Utilities.loadImage ("org/netbeans/core/resources/action32.gif"); // NOI18N
}
}
}
public static class DefaultLoaderBeanInfo extends SimpleBeanInfo {
public BeanInfo[] getAdditionalBeanInfo () {
try {
return new BeanInfo[] { Introspector.getBeanInfo (DataLoader.class) };
} catch (IntrospectionException ie) {
org.openide.ErrorManager.getDefault().notify(ie);
return null;
}
}
public Image getIcon (int type) {
if ((type == BeanInfo.ICON_COLOR_16x16) || (type == BeanInfo.ICON_MONO_16x16)) {
return Utilities.loadImage ("org/openide/resources/pending.gif"); // NOI18N
} else {
return Utilities.loadImage ("org/openide/resources/pending32.gif"); // NOI18N
}
}
}
public static class ShadowLoaderBeanInfo extends SimpleBeanInfo {
public BeanInfo[] getAdditionalBeanInfo () {
try {
return new BeanInfo[] { Introspector.getBeanInfo (DataLoader.class) };
} catch (IntrospectionException ie) {
org.openide.ErrorManager.getDefault().notify(ie);
return null;
}
}
public PropertyDescriptor[] getPropertyDescriptors () {
try {
// Hide the actions property from users, since shadows inherit actions anyway:
Class c = Class.forName ("org.openide.loaders.DataLoaderPool$ShadowLoader"); // NOI18N
PropertyDescriptor actions = new PropertyDescriptor ("actions", c); // NOI18N
actions.setHidden (true);
return new PropertyDescriptor[] { actions };
} catch (ClassNotFoundException ie) {
org.openide.ErrorManager.getDefault().notify(ie);
return null;
} catch (IntrospectionException ie) {
org.openide.ErrorManager.getDefault().notify(ie);
return null;
}
}
public Image getIcon (int type) {
if ((type == BeanInfo.ICON_COLOR_16x16) || (type == BeanInfo.ICON_MONO_16x16)) {
return Utilities.loadImage("org/openide/resources/actions/copy.gif"); // NOI18N
} else {
// [PENDING]
//return Utilities.loadImage ("org/openide/resources/actions/copy32.gif"); // NOI18N
return null;
}
}
}
}
|
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.