Class BeanInfoSupport

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.Class<?> beanClass
      The class of the bean that this BeanInfoSupport is for
      private java.beans.BeanDescriptor beanDescriptor  
      private int defaultEventIndex  
      private int defaultPropertyIndex  
      private java.util.Map<java.lang.String,​java.beans.EventSetDescriptor> events  
      private java.awt.Image iconColor16
      The 16x16 color icon
      private java.awt.Image iconColor32
      The 32x32 color icon
      private java.awt.Image iconMono16
      The 16x16 monochrome icon
      private java.awt.Image iconMono32
      The 32x32 monochrome icon
      private java.lang.String iconNameC16
      A reference to the icon.
      private java.lang.String iconNameC32
      A reference to the icon.
      private java.lang.String iconNameM16
      A reference to the icon.
      private java.lang.String iconNameM32
      A reference to the icon.
      private static java.util.Map<java.lang.Class<?>,​java.lang.Boolean> introspectingState
      Indicates whether I am introspecting state for the give class.
      private static java.util.logging.Logger LOG  
      private java.util.Map<java.lang.String,​java.beans.MethodDescriptor> methods  
      private java.util.Map<java.lang.String,​java.beans.PropertyDescriptor> properties  
      • Fields inherited from interface java.beans.BeanInfo

        ICON_COLOR_16x16, ICON_COLOR_32x32, ICON_MONO_16x16, ICON_MONO_32x32
    • Constructor Summary

      Constructors 
      Constructor Description
      BeanInfoSupport​(java.lang.Class<?> beanClass)
      Creates a new instance of BeanInfoSupport.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      java.beans.BeanDescriptor getBeanDescriptor()
      Gets the bean's BeanDescriptors.
      protected java.lang.Class<?> getCustomizerClass()
      Override this method if you want to return a custom customizer class for the bean
      int getDefaultEventIndex()
      A bean may have a "default" event that is the event that will mostly commonly be used by human's when using the bean.
      int getDefaultPropertyIndex()
      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.
      java.beans.EventSetDescriptor[] getEventSetDescriptors()
      Gets the bean's EventSetDescriptors.
      java.awt.Image getIcon​(int iconKind)
      This method returns an image object that can be used to represent the bean in toolboxes, toolbars, etc.
      private java.awt.Image getImage​(java.lang.String name, java.awt.Image img)  
      java.beans.MethodDescriptor[] getMethodDescriptors()
      Gets the bean's MethodDescriptors.
      java.beans.PropertyDescriptor[] getPropertyDescriptors()
      Gets the bean's PropertyDescriptors.
      protected abstract void initialize()
      Called by the constructor during the proper time so that subclasses can override the settings/values for the various beaninfo properties.
      private boolean isIntrospecting()  
      java.awt.Image loadImage​(java.lang.String resourceName)  
      private java.awt.Image loadStandardImage​(java.beans.BeanInfo info, int size)
      attempts to load a png icon from the resource directory beneath beaninfo, named like: JXTaskPaneContainer16.png JXTaskPaneContainer16-mono.png JXTaskPaneContainer32.png JXTaskPaneContainer32-mono.png if any of the icons is missing, an attempt is made to get an icon via introspection.
      protected void setBound​(boolean bound, java.lang.String... propertyNames)  
      protected void setCategory​(java.lang.String categoryName, java.lang.String... propertyNames)  
      protected void setColorIconName​(java.lang.String name)
      Specify the name/url/path to the 32x32 color icon
      protected void setConstrained​(boolean constrained, java.lang.String... propertyNames)  
      protected void setDisplayName​(java.lang.String displayName, java.lang.String propertyName)
      Changes the display name of the given named property.
      protected void setEnumerationValues​(EnumerationValue[] values, java.lang.String... propertyNames)  
      protected void setExpert​(boolean expert, java.lang.String... propertyNames)  
      protected void setHidden​(boolean hidden, java.lang.String... propertyNames)
      Sets the given named properties to be "hidden".
      protected void setMonoIconName​(java.lang.String name)
      Specify the name/url/path to the 32x32 monochrome icon
      protected void setPreferred​(boolean preferred, java.lang.String... propertyNames)  
      protected void setPropertyEditor​(java.lang.Class<?> editorClass, java.lang.String... propertyNames)  
      protected void setSmallColorIconName​(java.lang.String name)
      Specify the name/url/path to the small 16x16 color icon
      protected void setSmallMonoIconName​(java.lang.String name)
      Specify the name/url/path to the small 16x16 monochrome icon
      protected void setTransient​(boolean trans, java.lang.String... propertyNames)
      Sets the given named properties to be "transient".
      • Methods inherited from class java.beans.SimpleBeanInfo

        getAdditionalBeanInfo
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • LOG

        private static java.util.logging.Logger LOG
      • introspectingState

        private static java.util.Map<java.lang.Class<?>,​java.lang.Boolean> introspectingState
        Indicates whether I am introspecting state for the give class. This helps prevent infinite loops
      • beanClass

        private java.lang.Class<?> beanClass
        The class of the bean that this BeanInfoSupport is for
      • defaultPropertyIndex

        private int defaultPropertyIndex
        See Also:
        BeanInfo
      • defaultEventIndex

        private int defaultEventIndex
        See Also:
        BeanInfo
      • iconColor16

        private java.awt.Image iconColor16
        The 16x16 color icon
      • iconColor32

        private java.awt.Image iconColor32
        The 32x32 color icon
      • iconMono16

        private java.awt.Image iconMono16
        The 16x16 monochrome icon
      • iconMono32

        private java.awt.Image iconMono32
        The 32x32 monochrome icon
      • iconNameC16

        private java.lang.String iconNameC16
        A reference to the icon. This String must be of a form that ImageIO can use to locate and load the icon image
      • iconNameC32

        private java.lang.String iconNameC32
        A reference to the icon. This String must be of a form that ImageIO can use to locate and load the icon image
      • iconNameM16

        private java.lang.String iconNameM16
        A reference to the icon. This String must be of a form that ImageIO can use to locate and load the icon image
      • iconNameM32

        private java.lang.String iconNameM32
        A reference to the icon. This String must be of a form that ImageIO can use to locate and load the icon image
      • beanDescriptor

        private java.beans.BeanDescriptor beanDescriptor
      • properties

        private java.util.Map<java.lang.String,​java.beans.PropertyDescriptor> properties
      • events

        private java.util.Map<java.lang.String,​java.beans.EventSetDescriptor> events
      • methods

        private java.util.Map<java.lang.String,​java.beans.MethodDescriptor> methods
    • Constructor Detail

      • BeanInfoSupport

        public BeanInfoSupport​(java.lang.Class<?> beanClass)
        Creates a new instance of BeanInfoSupport.
        Parameters:
        beanClass - class of the bean.
    • Method Detail

      • isIntrospecting

        private boolean isIntrospecting()
      • loadStandardImage

        private java.awt.Image loadStandardImage​(java.beans.BeanInfo info,
                                                 int size)
        attempts to load a png icon from the resource directory beneath beaninfo, named like: JXTaskPaneContainer16.png JXTaskPaneContainer16-mono.png JXTaskPaneContainer32.png JXTaskPaneContainer32-mono.png if any of the icons is missing, an attempt is made to get an icon via introspection. If that fails, the icon will be set to placeholder16.png or one of the derivatives
      • loadImage

        public java.awt.Image loadImage​(java.lang.String resourceName)
        Overrides:
        loadImage in class java.beans.SimpleBeanInfo
      • initialize

        protected abstract void initialize()
        Called by the constructor during the proper time so that subclasses can override the settings/values for the various beaninfo properties. For example, you could call setDisplayName("Foo Name", "foo") to change the foo properties display name
      • getCustomizerClass

        protected java.lang.Class<?> getCustomizerClass()
        Override this method if you want to return a custom customizer class for the bean
        Returns:
        null.
      • setSmallColorIconName

        protected void setSmallColorIconName​(java.lang.String name)
        Specify the name/url/path to the small 16x16 color icon
        Parameters:
        name - name of the icon.
      • setColorIconName

        protected void setColorIconName​(java.lang.String name)
        Specify the name/url/path to the 32x32 color icon
        Parameters:
        name - name of the icon.
      • setSmallMonoIconName

        protected void setSmallMonoIconName​(java.lang.String name)
        Specify the name/url/path to the small 16x16 monochrome icon
        Parameters:
        name - name of the icon.
      • setMonoIconName

        protected void setMonoIconName​(java.lang.String name)
        Specify the name/url/path to the 32x32 monochrome icon
        Parameters:
        name - name of the icon.
      • setDisplayName

        protected void setDisplayName​(java.lang.String displayName,
                                      java.lang.String propertyName)
        Changes the display name of the given named property. Property names are always listed last to allow for varargs
        Parameters:
        displayName - display name of the property.
        propertyName - name of the property.
      • setTransient

        protected void setTransient​(boolean trans,
                                    java.lang.String... propertyNames)
        Sets the given named properties to be "transient".
        Parameters:
        trans - determines whether the properties should be encoded.
        propertyNames - name of properties.
        See Also:
        PropertyDescriptor
      • setHidden

        protected void setHidden​(boolean hidden,
                                 java.lang.String... propertyNames)
        Sets the given named properties to be "hidden".
        Parameters:
        hidden - determines whether the properties should be marked as hidden or not.
        propertyNames - name of properties.
        See Also:
        PropertyDescriptor
      • setExpert

        protected void setExpert​(boolean expert,
                                 java.lang.String... propertyNames)
      • setPreferred

        protected void setPreferred​(boolean preferred,
                                    java.lang.String... propertyNames)
      • setBound

        protected void setBound​(boolean bound,
                                java.lang.String... propertyNames)
      • setConstrained

        protected void setConstrained​(boolean constrained,
                                      java.lang.String... propertyNames)
      • setCategory

        protected void setCategory​(java.lang.String categoryName,
                                   java.lang.String... propertyNames)
      • setPropertyEditor

        protected void setPropertyEditor​(java.lang.Class<?> editorClass,
                                         java.lang.String... propertyNames)
      • setEnumerationValues

        protected void setEnumerationValues​(EnumerationValue[] values,
                                            java.lang.String... propertyNames)
      • getBeanDescriptor

        public java.beans.BeanDescriptor getBeanDescriptor()
        Gets the bean's BeanDescriptors.
        Specified by:
        getBeanDescriptor in interface java.beans.BeanInfo
        Overrides:
        getBeanDescriptor in class java.beans.SimpleBeanInfo
        Returns:
        BeanDescriptor describing the editable properties of this bean. May return null if the information should be obtained by automatic analysis.
      • getPropertyDescriptors

        public java.beans.PropertyDescriptor[] getPropertyDescriptors()
        Gets the bean's PropertyDescriptors.
        Specified by:
        getPropertyDescriptors in interface java.beans.BeanInfo
        Overrides:
        getPropertyDescriptors in class java.beans.SimpleBeanInfo
        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.

      • getEventSetDescriptors

        public java.beans.EventSetDescriptor[] getEventSetDescriptors()
        Gets the bean's EventSetDescriptors.
        Specified by:
        getEventSetDescriptors in interface java.beans.BeanInfo
        Overrides:
        getEventSetDescriptors in class java.beans.SimpleBeanInfo
        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.
      • getMethodDescriptors

        public java.beans.MethodDescriptor[] getMethodDescriptors()
        Gets the bean's MethodDescriptors.
        Specified by:
        getMethodDescriptors in interface java.beans.BeanInfo
        Overrides:
        getMethodDescriptors in class java.beans.SimpleBeanInfo
        Returns:
        An array of MethodDescriptors describing the methods implemented by this bean. May return null if the information should be obtained by automatic analysis.
      • getDefaultPropertyIndex

        public int getDefaultPropertyIndex()
        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.
        Specified by:
        getDefaultPropertyIndex in interface java.beans.BeanInfo
        Overrides:
        getDefaultPropertyIndex in class java.beans.SimpleBeanInfo
        Returns:
        Index of default property in the PropertyDescriptor array returned by getPropertyDescriptors.

        Returns -1 if there is no default property.

      • getDefaultEventIndex

        public int getDefaultEventIndex()
        A bean may have a "default" event that is the event that will mostly commonly be used by human's when using the bean.
        Specified by:
        getDefaultEventIndex in interface java.beans.BeanInfo
        Overrides:
        getDefaultEventIndex in class java.beans.SimpleBeanInfo
        Returns:
        Index of default event in the EventSetDescriptor array returned by getEventSetDescriptors.

        Returns -1 if there is no default event.

      • getIcon

        public java.awt.Image getIcon​(int iconKind)
        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.

        Specified by:
        getIcon in interface java.beans.BeanInfo
        Overrides:
        getIcon in class java.beans.SimpleBeanInfo
        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.
      • getImage

        private java.awt.Image getImage​(java.lang.String name,
                                        java.awt.Image img)