Difference: DpHipeTools (33 vs. 34)

Revision 342009-04-03 - JavierDiaz

Line: 1 to 1
 
META TOPICPARENT name="DpHipe"

Adding Tools to HIPE

Line: 139 to 139
  Currently the system contains basic implementation for the simple types Integer, Float, Long, Double and few more, so there's still a lot of space for improvements and contribution.
Added:
>
>
The following behaviours and limitations are present in the provided modifiers:
  • If the value is unfilled or invalid (red) the parameter will not be commited to the task : the getObject method returns null : This has been retrofitted in a consistent manner after 1.0
  • The point above means null is not a value a parameter will ever show from a modifier in a task invocation, While you can always in a TUI write T(a = null), with a GUI you will get T()
  • Modifiers so, have no notion of the optionality of parameters: if they have a valid value they will return it. So parameters with valid default values will be committed (if not modified/invalidated)
  • Modifiers accept D'n'D of variables and if a variable is D'n'Ded it takes precedence over the filled value: currently only the default modifier has visual feedback about it's D'n'D state, we are planning on making explicit captured variables in all our implementations (when we can!)
  • D'n'D is not really typechecked (and it can't easily be!)
    • Initially they have no type
    • They accept the type of the first variable D'n'Ded and remember it (of any type!)
    • Now they only accept variables of the same type
    • You go back to the first step D'n'Ding a null (None): type capture erased
    • Even if it were typechecked, you can change the object (and type) of a Jython variable AFTER you have D'n'D somewhere: the modifier should be listening to those events to remove the capture when the variable changes type. In Jython one does not declare types, and one can change the type of a variable when one wishes.
    • So, D'n'D should start prefilled with a (target) type that is final and also it could listen to all variables changes or the type capture should be removed.
  • Current floating point modifiers are incapable of parsing special values like NaN, +-Infinite and -0, as parsing/checking is done via pure numeric patterns.
 If your Task Parameter isn't one of the mentioned types, you could:
  • Implement a Modifier
  • Register it to the system.
 
This site is powered by the TWiki collaboration platform Powered by Perl