org.olat.core.gui.components.form.flexible.impl.rules
Class RulesFactory

java.lang.Object
  extended by org.olat.core.gui.components.form.flexible.impl.rules.RulesFactory

public class RulesFactory
extends java.lang.Object

Description:
TODO: patrickb Class Description for RulesFactory

Initial Date: 10.02.2007

Author:
patrickb

Constructor Summary
RulesFactory()
           
 
Method Summary
static FormItemDependencyRule createCustomRule(FormItem triggerElement, java.lang.Object triggerValue, FormItem target, FormItemContainer formLayout)
          creates a custom rule, it is a must to define and set the applayable
static FormItemDependencyRule createCustomRule(FormItem triggerElement, java.lang.Object triggerValue, java.util.Set<FormItem> targets, FormItemContainer formLayout)
          Creates a custom rule which is triggered whenever triggerElement is set to triggerValue.
static FormItemDependencyRule createHideRule(FormItem triggerElement, java.lang.Object triggerValue, FormItem target, FormItemContainer formLayout)
           
static FormItemDependencyRule createHideRule(FormItem triggerElement, java.lang.Object triggerValue, java.util.Set<FormItem> targets, FormItemContainer formLayout)
           
static FormItemDependencyRule createReadOnlyRule(FormItem triggerElement, java.lang.Object triggerValue, FormItem target, FormItemContainer formLayout)
           
static FormItemDependencyRule createReadOnlyRule(FormItem triggerElement, java.lang.Object triggerValue, java.util.Set<FormItem> targets, FormItemContainer formLayout)
           
static FormItemDependencyRule createResetRule(FormItem triggerElement, java.lang.Object triggerValue, FormItem target, FormItemContainer formLayout)
          creates a reset rule
static FormItemDependencyRule createResetRule(FormItem triggerElement, java.lang.Object triggerValue, java.util.Set<FormItem> targets, FormItemContainer formLayout)
          creates a reset rule
static FormItemDependencyRule createShowRule(FormItem triggerElement, java.lang.Object triggerValue, FormItem target, FormItemContainer formLayout)
           
static FormItemDependencyRule createShowRule(FormItem triggerElement, java.lang.Object triggerValue, java.util.Set<FormItem> targets, FormItemContainer formLayout)
           
static FormItemDependencyRule createWritableRule(FormItem triggerElement, java.lang.Object triggerValue, FormItem target, FormItemContainer formLayout)
           
static FormItemDependencyRule createWritableRule(FormItem triggerElement, java.lang.Object triggerValue, java.util.Set<FormItem> targets, FormItemContainer formLayout)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RulesFactory

public RulesFactory()
Method Detail

createCustomRule

public static FormItemDependencyRule createCustomRule(FormItem triggerElement,
                                                      java.lang.Object triggerValue,
                                                      java.util.Set<FormItem> targets,
                                                      FormItemContainer formLayout)
Creates a custom rule which is triggered whenever triggerElement is set to triggerValue. The code which gets executed resides in the apply method of a DependencyRuleApplayable object. An implementation that executes if a trigger element changes to "true" could look like this:
 RulesFactory.createCustomRule(triggerElement, &quot;true&quot;, new HashSet&lt;FormItem&gt;(Arrays.asList(target1, target2)), formLayout).setDependencyRuleApplayable(new DependencyRuleApplayable() {
   public void apply(FormItem triggerElement, Object triggerVal, Set&lt;FormItem&gt; targets) {
     for (FormItem target : targets) {
       target.setEnabled(true);
     }
   }
 }); 
 
 
(Note that this example uses an anonymous class which makes it unnecessary for you to create a separate class which implements DependencyRuleApplayable for each of your rules.) Don't forget to add action listeners for org.olat.core.gui.components.form.flexible.impl.FormEvent.ONCHANGE to your trigger elements.

Parameters:
triggerElement - The element that is being watched for changes.
triggerValue - Triggers if the triggerElement's key changes to triggerValue
targets - The targets.
formLayout - The container.
Returns:
The rule
See Also:
DependencyRuleApplayable

createCustomRule

public static FormItemDependencyRule createCustomRule(FormItem triggerElement,
                                                      java.lang.Object triggerValue,
                                                      FormItem target,
                                                      FormItemContainer formLayout)
creates a custom rule, it is a must to define and set the applayable

Parameters:
triggerElement -
triggerValue -
target -
formLayout -
Returns:

createResetRule

public static FormItemDependencyRule createResetRule(FormItem triggerElement,
                                                     java.lang.Object triggerValue,
                                                     java.util.Set<FormItem> targets,
                                                     FormItemContainer formLayout)
creates a reset rule

Parameters:
triggerElement -
triggerValue -
targets -
formLayout -
Returns:

createResetRule

public static FormItemDependencyRule createResetRule(FormItem triggerElement,
                                                     java.lang.Object triggerValue,
                                                     FormItem target,
                                                     FormItemContainer formLayout)
creates a reset rule

Parameters:
triggerElement -
triggerValue -
target -
formLayout -
Returns:

createHideRule

public static FormItemDependencyRule createHideRule(FormItem triggerElement,
                                                    java.lang.Object triggerValue,
                                                    java.util.Set<FormItem> targets,
                                                    FormItemContainer formLayout)
Parameters:
triggerElement -
triggerValue -
targets -
Returns:

createHideRule

public static FormItemDependencyRule createHideRule(FormItem triggerElement,
                                                    java.lang.Object triggerValue,
                                                    FormItem target,
                                                    FormItemContainer formLayout)
Parameters:
triggerElement -
triggerValue -
target -
Returns:

createShowRule

public static FormItemDependencyRule createShowRule(FormItem triggerElement,
                                                    java.lang.Object triggerValue,
                                                    java.util.Set<FormItem> targets,
                                                    FormItemContainer formLayout)
Parameters:
triggerElement -
triggerValue -
targets -
Returns:

createShowRule

public static FormItemDependencyRule createShowRule(FormItem triggerElement,
                                                    java.lang.Object triggerValue,
                                                    FormItem target,
                                                    FormItemContainer formLayout)
Parameters:
triggerElement -
triggerValue -
target -
Returns:

createReadOnlyRule

public static FormItemDependencyRule createReadOnlyRule(FormItem triggerElement,
                                                        java.lang.Object triggerValue,
                                                        java.util.Set<FormItem> targets,
                                                        FormItemContainer formLayout)
Parameters:
triggerElement -
triggerValue -
targets -
Returns:

createReadOnlyRule

public static FormItemDependencyRule createReadOnlyRule(FormItem triggerElement,
                                                        java.lang.Object triggerValue,
                                                        FormItem target,
                                                        FormItemContainer formLayout)
Parameters:
triggerElement -
triggerValue -
target -
Returns:

createWritableRule

public static FormItemDependencyRule createWritableRule(FormItem triggerElement,
                                                        java.lang.Object triggerValue,
                                                        java.util.Set<FormItem> targets,
                                                        FormItemContainer formLayout)
Parameters:
triggerElement -
triggerValue -
targets -
Returns:

createWritableRule

public static FormItemDependencyRule createWritableRule(FormItem triggerElement,
                                                        java.lang.Object triggerValue,
                                                        FormItem target,
                                                        FormItemContainer formLayout)
Parameters:
triggerElement -
triggerValue -
target -
Returns: