Class MetawidgetBinder

  • All Implemented Interfaces:
    org.metawidget.iface.Immutable, org.metawidget.swing.widgetprocessor.binding.BindingConverter, org.metawidget.widgetprocessor.iface.AdvancedWidgetProcessor<javax.swing.JComponent,​org.metawidget.swing.SwingMetawidget>, org.metawidget.widgetprocessor.iface.WidgetProcessor<javax.swing.JComponent,​org.metawidget.swing.SwingMetawidget>

    public class MetawidgetBinder
    extends java.lang.Object
    implements org.metawidget.widgetprocessor.iface.AdvancedWidgetProcessor<javax.swing.JComponent,​org.metawidget.swing.SwingMetawidget>, org.metawidget.swing.widgetprocessor.binding.BindingConverter
    Property binding implementation based on BeanUtils.

    This implementation recognizes the following SwingMetawidget.setParameter parameters:

    • propertyStyle - either PROPERTYSTYLE_JAVABEAN (default) or PROPERTYSTYLE_SCALA (for Scala-style getters and setters).

    Note: BeanUtils does not bind actions, such as invoking a method when a JButton is pressed. For that, see ReflectionBindingProcessor and MetawidgetActionStyle or SwingAppFrameworkActionStyle.

    Author:
    Richard Kennard, Stefan Ackermann
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object convertFromString​(java.lang.String value, java.lang.Class<?> expectedType)  
      void onEndBuild​(org.metawidget.swing.SwingMetawidget metawidget)  
      void onStartBuild​(org.metawidget.swing.SwingMetawidget metawidget)  
      javax.swing.JComponent processWidget​(javax.swing.JComponent component, java.lang.String elementName, java.util.Map<java.lang.String,​java.lang.String> attributes, org.metawidget.swing.SwingMetawidget metawidget)  
      void rebind​(java.lang.Object toRebind, org.metawidget.swing.SwingMetawidget metawidget)
      Rebinds the Metawidget to the given Object.
      void save​(org.metawidget.swing.SwingMetawidget metawidget)  
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MetawidgetBinder

        public MetawidgetBinder()
    • Method Detail

      • onStartBuild

        public void onStartBuild​(org.metawidget.swing.SwingMetawidget metawidget)
        Specified by:
        onStartBuild in interface org.metawidget.widgetprocessor.iface.AdvancedWidgetProcessor<javax.swing.JComponent,​org.metawidget.swing.SwingMetawidget>
      • processWidget

        public javax.swing.JComponent processWidget​(javax.swing.JComponent component,
                                                    java.lang.String elementName,
                                                    java.util.Map<java.lang.String,​java.lang.String> attributes,
                                                    org.metawidget.swing.SwingMetawidget metawidget)
        Specified by:
        processWidget in interface org.metawidget.widgetprocessor.iface.WidgetProcessor<javax.swing.JComponent,​org.metawidget.swing.SwingMetawidget>
      • rebind

        public void rebind​(java.lang.Object toRebind,
                           org.metawidget.swing.SwingMetawidget metawidget)
        Rebinds the Metawidget to the given Object.

        This method is an optimization that allows clients to load a new object into the binding without calling setToInspect, and therefore without reinspecting the object or recreating the components. It is the client's responsbility to ensure the rebound object is compatible with the original setToInspect.

      • save

        public void save​(org.metawidget.swing.SwingMetawidget metawidget)
      • convertFromString

        public java.lang.Object convertFromString​(java.lang.String value,
                                                  java.lang.Class<?> expectedType)
        Specified by:
        convertFromString in interface org.metawidget.swing.widgetprocessor.binding.BindingConverter
      • onEndBuild

        public void onEndBuild​(org.metawidget.swing.SwingMetawidget metawidget)
        Specified by:
        onEndBuild in interface org.metawidget.widgetprocessor.iface.AdvancedWidgetProcessor<javax.swing.JComponent,​org.metawidget.swing.SwingMetawidget>