Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL
Help

Chapter 9. Introspection > The BeansBook.SimulatorBeanInfo Classes

9.4. The BeansBook.SimulatorBeanInfo Classes

This section contains the code for the BeanInfo classes for the BeansBook.Simulator package. All of the concepts and techniques used by these classes have been discussed in this chapter. Instead of boring you by describing the code, I'm just including it here for you to look at if you wish.

9.4.1. The BeansBook.Simulator.TemperatureBeanInfo Class

package BeansBook.Simulator;

import java.beans.*;
import java.lang.reflect.*;

public class TemperatureBeanInfo extends SimpleBeanInfo
{
   // return a bean descriptor for the Temperature object
   public BeanDescriptor getBeanDescriptor() 
   {
      // create an instance of BeanDescriptor
      BeanDescriptor bd = new BeanDescriptor(Temperature.class);
       
      // set the display name
      bd.setDisplayName("Temperature Source");
      // return the descriptor
      return bd;
   }

   // return the property descriptors
   public PropertyDescriptor[] getPropertyDescriptors()
   {
      try
      {
         // get the Temperature class
         Class c = Temperature.class;

         // get the get method for the Temperature property         
         Method getter = c.getMethod("returnTemperature", null);
         
         // create the parameters array for the set method of the
         // Temperature property
         Class[] params = { java.lang.Double.TYPE };
         
         // get the set method
         Method setter = c.getMethod("assignTemperature", params);
         
         // create a property descriptor for the Temperature property
         PropertyDescriptor pd = new PropertyDescriptor("Temperature",
                                                       getter, setter);
                      
         // the Temperature property is bound
         pd.setBound(true);
         
         // the Temperature property is not constrained
         pd.setConstrained(false);
         
         // create the property descriptor array and return it
         PropertyDescriptor[] pda = { pd };
         return pda;
}
      catch (NoSuchMethodException e)
      {
         return null;
      }
      catch (SecurityException e)
      {
         return null;
      }
   }
   
   // return the event set descriptors
   public EventSetDescriptor[] getEventSetDescriptors()
   {
      try
      {
         // the method names for the listener interface
         String[] names = { "propertyChange" } ;
         
         // create the event set descriptor
         EventSetDescriptor ed = 
            new EventSetDescriptor(Temperature.class,
                                   "Property Change Event",
                                   PropertyChangeListener.class,
                                   names,
                                   "addPropertyChangeListener",
                                   "removePropertyChangeListener");
         
         // create the descriptor array and return it
         EventSetDescriptor[] eda = { ed } ;
         return eda;
      }
      catch (IntrospectionException e)
      {
         return null;
      }
   }
}

					  


  

You are currently reading a PREVIEW of this book.

                                                                                                                    

Get instant access to over $1 million worth of books and videos.

  

Start a Free Trial


  
  • Safari Books Online
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint