com.frinika.gui
Class DefaultOptionsBinder

java.lang.Object
  extended by com.frinika.gui.DefaultOptionsBinder
All Implemented Interfaces:
OptionsBinder, OptionsEditor

public class DefaultOptionsBinder
extends java.lang.Object
implements OptionsBinder

Binds between data fields and GUI elements, in both directions.

Author:
Jens Gulden

Field Summary
protected  java.util.Map<java.lang.reflect.Field,java.lang.Object> back
           
protected  java.lang.Object bindInstance
           
protected  java.util.Map<java.lang.reflect.Field,java.lang.Object> bindMap
           
protected  java.util.Map<java.lang.String,java.lang.Object> dynamicBindMap
           
protected  java.util.Properties properties
           
 
Constructor Summary
DefaultOptionsBinder(java.util.Map<java.lang.reflect.Field,java.lang.Object> bindMap, java.util.Map<java.lang.String,java.lang.Object> dynamicBindMap, java.util.Properties properties)
           
DefaultOptionsBinder(java.util.Map<java.lang.reflect.Field,java.lang.Object> bindMap, java.util.Properties properties)
           
 
Method Summary
 void backup()
           
protected  java.lang.Object fromGUI(java.lang.Object component, java.lang.String fieldName, java.lang.Class fieldType)
          Here the magic happens: set data-field according to gui-elements.
 java.lang.Object getBindInstance()
           
 void refresh()
          Refreshes the GUI so that it reflects the model's current state.
 void restore()
           
 void setBindInstance(java.lang.Object bindInstance)
           
protected  void toGUI(java.lang.Object component, java.lang.Object value, java.lang.String fieldName)
          Here the magic happens: set gui-elements according to data-fields.
 void update()
          Updates the model so that it contains the values set by the user
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

bindMap

protected java.util.Map<java.lang.reflect.Field,java.lang.Object> bindMap

dynamicBindMap

protected java.util.Map<java.lang.String,java.lang.Object> dynamicBindMap

properties

protected java.util.Properties properties

bindInstance

protected java.lang.Object bindInstance

back

protected java.util.Map<java.lang.reflect.Field,java.lang.Object> back
Constructor Detail

DefaultOptionsBinder

public DefaultOptionsBinder(java.util.Map<java.lang.reflect.Field,java.lang.Object> bindMap,
                            java.util.Map<java.lang.String,java.lang.Object> dynamicBindMap,
                            java.util.Properties properties)

DefaultOptionsBinder

public DefaultOptionsBinder(java.util.Map<java.lang.reflect.Field,java.lang.Object> bindMap,
                            java.util.Properties properties)
Method Detail

getBindInstance

public java.lang.Object getBindInstance()

setBindInstance

public void setBindInstance(java.lang.Object bindInstance)

toGUI

protected void toGUI(java.lang.Object component,
                     java.lang.Object value,
                     java.lang.String fieldName)
Here the magic happens: set gui-elements according to data-fields.

Parameters:
component -
value -
fieldName -
fieldType -

fromGUI

protected java.lang.Object fromGUI(java.lang.Object component,
                                   java.lang.String fieldName,
                                   java.lang.Class fieldType)
Here the magic happens: set data-field according to gui-elements.

Parameters:
component -
fieldName -
fieldType -
Returns:

refresh

public void refresh()
Refreshes the GUI so that it reflects the model's current state.

Specified by:
refresh in interface OptionsBinder
Specified by:
refresh in interface OptionsEditor

update

public void update()
Updates the model so that it contains the values set by the user

Specified by:
update in interface OptionsBinder
Specified by:
update in interface OptionsEditor

backup

public void backup()
Specified by:
backup in interface OptionsBinder

restore

public void restore()
Specified by:
restore in interface OptionsBinder