de.unihalle.informatik.Alida.dataio.provider.swing
Class ALDOperatorDataIOSwing

java.lang.Object
  extended by de.unihalle.informatik.Alida.dataio.provider.swing.ALDOperatorDataIOSwing
All Implemented Interfaces:
ALDDataIO, ALDDataIOSwing

@ALDDataIOProvider
public class ALDOperatorDataIOSwing
extends java.lang.Object
implements ALDDataIOSwing

Data IO provider for operators in GUI.

This class provides GUI elements and functionality for configuring operators in GUI. Note that the class has to operation modes:

While in the first case the default constructor without arguments is used, in the second case the constructor with boolean flag is used, followed by a call of the `getConfigPanel()` method.

If you do any changes to this class, please make sure that the panel is always properly built, independent of how the class object in constructed!

Author:
Stefan Posch, Birgit Moeller

Nested Class Summary
protected  class ALDOperatorDataIOSwing.OperatorConfigWindow
          Configuration window for operator.
 
Field Summary
protected  ALDOperator op
          The operator of this frame, may be abstract!
protected  java.util.LinkedList<ALDOpParameterDescriptor> opParamDescrips
          List of all parameter descriptors associated with operator.
protected  boolean topLevelCall
          Local flag to indicate if object is created on OpRunner top level or not; flag modules if deep validation is done or not.
 
Constructor Summary
ALDOperatorDataIOSwing()
          Default constructor.
 
Method Summary
 ALDSwingComponent createGUIElement(java.lang.reflect.Field field, java.lang.Class<?> cl, java.lang.Object obj, ALDParameterDescriptor descr)
          Interface method to create a GUI element for data input.
 java.util.Collection<java.lang.Class<?>> providedClasses()
          Interface method to announce all classes handled by this provider.
 java.lang.Object readData(java.lang.reflect.Field field, java.lang.Class<?> cl, ALDSwingComponent guiElement)
          Interface method for getting parameter values via a GUI element.
 void setValue(java.lang.reflect.Field field, java.lang.Class<?> cl, ALDSwingComponent guiElement, java.lang.Object value)
          Interface method for setting new parameter values in GUI.
 javax.swing.JComponent writeData(java.lang.Object obj, ALDParameterDescriptor descr)
          Interface method for displaying an object in the GUI.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

topLevelCall

protected boolean topLevelCall
Local flag to indicate if object is created on OpRunner top level or not; flag modules if deep validation is done or not.


op

protected ALDOperator op
The operator of this frame, may be abstract!


opParamDescrips

protected java.util.LinkedList<ALDOpParameterDescriptor> opParamDescrips
List of all parameter descriptors associated with operator.

Constructor Detail

ALDOperatorDataIOSwing

public ALDOperatorDataIOSwing()
Default constructor.

Method Detail

createGUIElement

public ALDSwingComponent createGUIElement(java.lang.reflect.Field field,
                                          java.lang.Class<?> cl,
                                          java.lang.Object obj,
                                          ALDParameterDescriptor descr)
Description copied from interface: ALDDataIOSwing
Interface method to create a GUI element for data input.

Optionally an object may be supplied which is assumed to be of type cl and used as default.

Specified by:
createGUIElement in interface ALDDataIOSwing
cl - Class of object to be returned.
obj - The value of this object to be set as inital value.
descr - Optional descriptor to hand over additional information.
Returns:
Alida GUI component to input values.

setValue

public void setValue(java.lang.reflect.Field field,
                     java.lang.Class<?> cl,
                     ALDSwingComponent guiElement,
                     java.lang.Object value)
              throws ALDDataIOProviderException
Description copied from interface: ALDDataIOSwing
Interface method for setting new parameter values in GUI.

Specified by:
setValue in interface ALDDataIOSwing
Parameters:
field - Field of parameter object to be handled.
cl - Class of parameter object to be handled.
guiElement - Corresponding GUI element.
value - New value of the parameter.
Throws:
ALDDataIOProviderException

readData

public java.lang.Object readData(java.lang.reflect.Field field,
                                 java.lang.Class<?> cl,
                                 ALDSwingComponent guiElement)
                          throws ALDDataIOProviderException
Description copied from interface: ALDDataIOSwing
Interface method for getting parameter values via a GUI element.

Specified by:
readData in interface ALDDataIOSwing
Parameters:
field - Field associated with object to be returned.
cl - Class of object to be returned.
guiElement - Component from where to read data.
Returns:
Object read from source, might be null.
Throws:
ALDDataIOProviderException

writeData

public javax.swing.JComponent writeData(java.lang.Object obj,
                                        ALDParameterDescriptor descr)
Description copied from interface: ALDDataIOSwing
Interface method for displaying an object in the GUI.

Specified by:
writeData in interface ALDDataIOSwing
Parameters:
obj - Object to be displayed or saved.
descr - Optional descriptor to hand over additional information.

providedClasses

public java.util.Collection<java.lang.Class<?>> providedClasses()
Description copied from interface: ALDDataIO
Interface method to announce all classes handled by this provider.

Specified by:
providedClasses in interface ALDDataIO
Returns:
Collection of classes provided


Copyright © 2010-2014 Martin Luther University Halle-Wittenberg. All Rights Reserved.