/* Choose.java
Purpose:
Description:
History:
Tue Sep 6 15:33:24 2005, Created by tomyeh
Copyright (C) 2005 Potix Corporation. All Rights Reserved.
{{IS_RIGHT
This program is distributed under LGPL Version 2.1 in the hope that
it will be useful, but WITHOUT ANY WARRANTY.
}}IS_RIGHT
*/
package org.zkoss.web.servlet.dsp.action;
import java.io.IOException;
import java.io.StringWriter;
import org.zkoss.web.servlet.dsp.DspException;
/**
* Provides the context for mutually exclusive conditional execution.
*
* @author tomyeh
*/
public class Choose extends AbstractAction {
private boolean _matched, _trim;
/** Returns whether any child {@link When} is evaluated to true. */
/*package*/ boolean isMatched() {
return _matched;
}
/** Sets whether any child {@link When} is evaluated to true. */
/*package*/ void setMatched(boolean matched) {
_matched = matched;
}
/** Returns whether to trim the result. */
public boolean isTrim() {
return _trim;
}
/** Sets whether to trim the result.
* <p>Default: true.
*/
public void setTrim(boolean trim) {
_trim = trim;
}
//-- Action --//
public void render(ActionContext ac, boolean nested) throws DspException, IOException {
if (nested && isEffective()) {
final StringWriter out = getFragmentOut(ac, _trim);
renderFragment(ac, out, _trim);
if (out != null)
ac.getOut().write(out.toString());
}
}
//-- Object --//
public String toString() {
return "choose";
}
}