Project Wonder 5.0

er.extensions.components.conditionals
Class ERXWOSwitch

java.lang.Object
  extended by com.webobjects.appserver.WOElement
      extended by com.webobjects.appserver.WODynamicElement
          extended by er.extensions.components.conditionals.ERXWOSwitch

public class ERXWOSwitch
extends com.webobjects.appserver.WODynamicElement

Adds a "multiple if" element to the WO templates. You'd use them to wrap "ERXWOCase" elements with their case bound to a value.

 ==========================
 Example.wo/Example.html (modern syntax)
 ==========================
 <wo:ERXWOSwitch case="$case">
    <wo:ERXWOCase case="caseOne">
            Case One!
    </wo:ERXWOCase>
    <wo:ERXWOCase case="caseTwo">
            Case Two!
    </wo:ERXWOCase>
    <wo:ERXWOCase case="default">
            OTHER
    </wo:ERXWOCase>
 </wo:ERXWOSwitch>
 ==========================
 Example.wo/Example.html (traditional syntax, with wod below)
 ==========================
 <webobject name=Switch>
    <webobject name=CaseOne>
        <h2>One: <webobject name=ChosenCaseString></webobject></h2>
    </webobject>

    <webobject name=CaseTwo>
        <h2>Two: <webobject name=ChosenCaseString></webobject></h2>
    </webobject>

    <webobject name=CaseThree>
        <h2>Three: <webobject name=ChosenCaseString></webobject></h2>
    </webobject>

    <webobject name=CaseFour>
        <h2>Four: <webobject name=ChosenCaseString></webobject></h2>
    </webobject>

    <webobject name=DefaultCase>
        <h2>Default: <webobject name=ChosenCaseString></webobject></h2>
    </webobject>
</webobject>
 ==========================
 Example.wo/Example.wod
 ==========================

Switch: ERXWOSwitch {
    case = chosenCase;
}

CaseFour: ERXWOCase {
    case = "Fourth";
}

CaseOne: ERXWOCase {
    case = "First";
}

CaseThree: ERXWOCase {
    case = "Third";
}

CaseTwo: ERXWOCase {
    case = 2;
}

DefaultCase: ERXWOCase {
    case = "default";
}

ChosenCaseString: WOString {
    value = chosenCase;
}

 ==========================
 Example.java
 ==========================

public Object chosenCase() {
    Object objects = new Object[] {"Fourth", "Third", "First", new Integer(2), "dummy"};
    return objects[(new Random()).nextInt(objects.length)];
}

 

Author:
ak (Java port), Charles Lloyd
Bindings
case the ivar that holds the value to be switched on
           

Field Summary
 
Fields inherited from class com.webobjects.appserver.WODynamicElement
_ConstructorParameters
 
Constructor Summary
ERXWOSwitch(java.lang.String name, com.webobjects.foundation.NSDictionary associations, com.webobjects.appserver.WOElement template)
           
 
Method Summary
 void appendToResponse(com.webobjects.appserver.WOResponse woresponse, com.webobjects.appserver.WOContext wocontext)
           
protected  com.webobjects.appserver.WOElement childCaseInContext(com.webobjects.appserver.WOContext context)
           
 com.webobjects.appserver.WOActionResults invokeAction(com.webobjects.appserver.WORequest worequest, com.webobjects.appserver.WOContext wocontext)
           
 void takeValuesFromRequest(com.webobjects.appserver.WORequest worequest, com.webobjects.appserver.WOContext wocontext)
           
 
Methods inherited from class com.webobjects.appserver.WODynamicElement
toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ERXWOSwitch

public ERXWOSwitch(java.lang.String name,
                   com.webobjects.foundation.NSDictionary associations,
                   com.webobjects.appserver.WOElement template)
Method Detail

childCaseInContext

protected com.webobjects.appserver.WOElement childCaseInContext(com.webobjects.appserver.WOContext context)

appendToResponse

public void appendToResponse(com.webobjects.appserver.WOResponse woresponse,
                             com.webobjects.appserver.WOContext wocontext)
Overrides:
appendToResponse in class com.webobjects.appserver.WOElement

invokeAction

public com.webobjects.appserver.WOActionResults invokeAction(com.webobjects.appserver.WORequest worequest,
                                                             com.webobjects.appserver.WOContext wocontext)
Overrides:
invokeAction in class com.webobjects.appserver.WOElement

takeValuesFromRequest

public void takeValuesFromRequest(com.webobjects.appserver.WORequest worequest,
                                  com.webobjects.appserver.WOContext wocontext)
Overrides:
takeValuesFromRequest in class com.webobjects.appserver.WOElement

Last updated: Tue, Feb 21, 2017 • 05:45 PM CET

Copyright © 2002 – 2007 Project Wonder.