Package er.extensions.components.conditionals

Source Code of er.extensions.components.conditionals.ERXWOCase

package er.extensions.components.conditionals;

import com.webobjects.appserver.WOActionResults;
import com.webobjects.appserver.WOAssociation;
import com.webobjects.appserver.WOContext;
import com.webobjects.appserver.WODynamicElement;
import com.webobjects.appserver.WOElement;
import com.webobjects.appserver.WORequest;
import com.webobjects.appserver.WOResponse;
import com.webobjects.foundation.NSDictionary;

/**
* Contains one case of a {@link ERXWOSwitch}.
*
* @author ak (Java port)
* @author Charles Lloyd
* @binding case
*/
public class ERXWOCase extends WODynamicElement {

    protected Object _value;
    protected WOElement _children;
   
    public ERXWOCase(String name, NSDictionary<String, WOAssociation> associations, WOElement woelement) {
        super(name, associations, woelement);
        WOAssociation assoc = associations.objectForKey("case");
        if(!assoc.isValueConstant()) {
            throw new IllegalStateException("You must bind 'case' to a constant value");
        }
        _value = assoc.valueInComponent(null);
        _children = woelement;
    }
   
    public Object caseValue() {
        return _value;
    }
   
    @Override
    public void appendToResponse(WOResponse woresponse, WOContext wocontext) {
        _children.appendToResponse(woresponse, wocontext);
    }
   
    @Override
    public WOActionResults invokeAction(WORequest worequest, WOContext wocontext) {
        return _children.invokeAction(worequest, wocontext);
    }
   
    @Override
    public void takeValuesFromRequest(WORequest worequest, WOContext wocontext) {
        _children.takeValuesFromRequest(worequest, wocontext);
    }
}
TOP

Related Classes of er.extensions.components.conditionals.ERXWOCase

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.