Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
The Java Beans Introspection API includes in the PropertyDescriptor class the method isExpert. Bean-based GUI editors, like WindowsMaker, use this to hide or show "exotic" properties. What causes a certain property of a Java bean to be considered "expert"? How does the Swing library, for example, sets certain properties as "expert properties"? How can I programmatically do the same for Java...
I have a bean whose properties I want to access via reflection. I receive the property names in String form. The beans have getter methods for their private fields. I am currently getting the field using getDeclaredField(fieldName), making it accessible by using setAccessible(true) and then retrieving its value using get. Another way to go about it would be to capitalize the field name and ad...
Is this the appropriate way to access bean properties of an Object without knowing/caring about its exact type? (Or is there a built-in method that does this already?) Is there an appropriate exception to throw when a property does not exist or is not available? static private Object getBeanPropertyValue(Object bean, String propertyName) { // access a no-arg method through reflection // foll...
How can I access a simple java object as a bean? For example: class Simple { private String foo; String getFoo() { return foo; } private void setFoo( String foo ) { this.foo = foo; } } Now I want to use this object like this: Simple simple = new Simple(); simple.setFoo( "hello" ); checkSettings( simple ); So I'm looking for the implementation of the m...
Is there a way to specify the String name of a property in a particular bean and return the class that the getter corresponds to?
I would like to know the best method of breaking up large Java Swing classes. Some of mine are quite large and I would like to begin the process of properly modularizing my code. I saw that I could add my classes to Netbeans' palette but the problem is they are not showing me a graphical representation of what it will look like when I "drop" them into the GUI designer. Some third party jar f...
I'm using Netbeans. When I create a Java class, I sometimes want to change it to be a GUI component so that I can visually edit it using the GUI Builder. What is the necessary step to transform a regular Java class to a GUI component so that Netbeans would recognize it and allow me to use GUI Builder ? (i.e. switch between Source and Design)
I want to implement something similar to the JobDetailBean in spring http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/scheduling.html#scheduling-quartz-jobdetail where a map of properties can be applied to an object to set its fields. I looked through the spring source code but couldn't see how they do it. Does anybody have any ideas on how to do this ?
I have a collection of java bean objects and each object can have another collection of java bean objects (ie object graph). Is there an easy way to traverse the graph and call all the getter methods? Is there a library already doing something similar like that.
I'm having a bit of a problem with converting the result of a MySQL query to a Java class when using SUM. When performing a simple SUM in MySQL SELECT SUM(price) FROM cakes WHERE ingredient = 'chocolate'; with price being an integer, it appears that the SUM sometimes returns a string and sometimes an integer, depending on the version of the JDBC driver. Apparently the server does tell the ...
  /*
   * Copyright 1996-1999 Sun Microsystems, Inc.  All Rights Reserved.
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
   * under the terms of the GNU General Public License version 2 only, as
   * published by the Free Software Foundation.  Sun designates this
   * particular file as subject to the "Classpath" exception as provided
   * by Sun in the LICENSE file that accompanied this code.
  *
  * This code 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 General Public License
  * version 2 for more details (a copy is included in the LICENSE file that
  * accompanied this code).
  *
  * You should have received a copy of the GNU General Public License version
  * 2 along with this work; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  *
  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  * CA 95054 USA or visit www.sun.com if you need additional information or
  * have any questions.
  */
 
 package java.beans;

A bean implementor who wishes to provide explicit information about their bean may provide a BeanInfo class that implements this BeanInfo interface and provides explicit information about the methods, properties, events, etc, of their bean.

A bean implementor doesn't need to provide a complete set of explicit information. You can pick and choose which information you want to provide and the rest will be obtained by automatic analysis using low-level reflection of the bean classes' methods and applying standard design patterns.

You get the opportunity to provide lots and lots of different information as part of the various XyZDescriptor classes. But don't panic, you only really need to provide the minimal core information required by the various constructors.

See also the SimpleBeanInfo class which provides a convenient "noop" base class for BeanInfo classes, which you can override for those specific places where you want to return explicit info.

To learn about all the behaviour of a bean see the Introspector class.

 
 
 public interface BeanInfo {

    
Gets the beans BeanDescriptor.

Returns:
A BeanDescriptor providing overall information about the bean, such as its displayName, its customizer, etc. May return null if the information should be obtained by automatic analysis.
 
     BeanDescriptor getBeanDescriptor();

    
Gets the beans EventSetDescriptors.

Returns:
An array of EventSetDescriptors describing the kinds of events fired by this bean. May return null if the information should be obtained by automatic analysis.
 
A bean may have a "default" event that is the event that will mostly commonly be used by humans when using the bean.

Returns:
Index of default event in the EventSetDescriptor array returned by getEventSetDescriptors.

Returns -1 if there is no default event.

 
     int getDefaultEventIndex();

    
Gets the beans PropertyDescriptors.

Returns:
An array of PropertyDescriptors describing the editable properties supported by this bean. May return null if the information should be obtained by automatic analysis.

If a property is indexed, then its entry in the result array will belong to the IndexedPropertyDescriptor subclass of PropertyDescriptor. A client of getPropertyDescriptors can use "instanceof" to check if a given PropertyDescriptor is an IndexedPropertyDescriptor.

 
A bean may have a "default" property that is the property that will mostly commonly be initially chosen for update by human's who are customizing the bean.

Returns:
Index of default property in the PropertyDescriptor array returned by getPropertyDescriptors.

Returns -1 if there is no default property.

    int getDefaultPropertyIndex();

    
Gets the beans MethodDescriptors.

Returns:
An array of MethodDescriptors describing the externally visible methods supported by this bean. May return null if the information should be obtained by automatic analysis.
This method allows a BeanInfo object to return an arbitrary collection of other BeanInfo objects that provide additional information on the current bean.

If there are conflicts or overlaps between the information provided by different BeanInfo objects, then the current BeanInfo takes precedence over the getAdditionalBeanInfo objects, and later elements in the array take precedence over earlier ones.

Returns:
an array of BeanInfo objects. May return null.
    BeanInfo[] getAdditionalBeanInfo();

    
This method returns an image object that can be used to represent the bean in toolboxes, toolbars, etc. Icon images will typically be GIFs, but may in future include other formats.

Beans aren't required to provide icons and may return null from this method.

There are four possible flavors of icons (16x16 color, 32x32 color, 16x16 mono, 32x32 mono). If a bean choses to only support a single icon we recommend supporting 16x16 color.

We recommend that icons have a "transparent" background so they can be rendered onto an existing background.

Parameters:
iconKind The kind of icon requested. This should be one of the constant values ICON_COLOR_16x16, ICON_COLOR_32x32, ICON_MONO_16x16, or ICON_MONO_32x32.
Returns:
An image object representing the requested icon. May return null if no suitable icon is available.
    java.awt.Image getIcon(int iconKind);

    
Constant to indicate a 16 x 16 color icon.
    final static int ICON_COLOR_16x16 = 1;

    
Constant to indicate a 32 x 32 color icon.
    final static int ICON_COLOR_32x32 = 2;

    
Constant to indicate a 16 x 16 monochrome icon.
    final static int ICON_MONO_16x16 = 3;

    
Constant to indicate a 32 x 32 monochrome icon.
    final static int ICON_MONO_32x32 = 4;
New to GrepCode? Check out our FAQ X