01: /*
02: * Copyright 2001 Sun Microsystems, Inc. All rights reserved.
03: * PROPRIETARY/CONFIDENTIAL. Use of this product is subject to license terms.
04: */
05: package com.sun.portal.desktop.taglib.providerContext;
06:
07: import javax.servlet.jsp.JspException;
08:
09: import java.util.List;
10:
11: import com.sun.portal.providers.Provider;
12: import com.sun.portal.providers.context.ProviderContext;
13: import com.sun.portal.providers.context.ProviderContextException;
14:
15: import com.sun.portal.desktop.taglib.DesktopTaglibException;
16:
17: public class SetBooleanPropertyTag extends
18: BaseProviderContextTagSupport {
19: private String m_key = null;
20: private boolean m_value = false;
21: private List m_pflist = null;
22:
23: public void setKey(String key) throws DesktopTaglibException {
24: m_key = resolveParameter(key).toString();
25: }
26:
27: public void setValue(String value) throws DesktopTaglibException {
28: m_value = toBoolean(value);
29: }
30:
31: public void setPfList(String pflist) throws DesktopTaglibException {
32: if (!isContextVariable(pflist)) {
33: throw new DesktopTaglibException(
34: DesktopTaglibException.INVALID_PARAMETER, pflist);
35: }
36: try {
37: m_pflist = (List) resolveParameter(pflist);
38: } catch (ClassCastException cce) {
39: throw new DesktopTaglibException(
40: DesktopTaglibException.INVALID_PARAMETER, pflist);
41: }
42: }
43:
44: public int doStartTag() throws JspException {
45: ProviderContext pc = getCurrentProviderContext();
46: Provider p = getCurrentObj();
47: try {
48: if (m_pflist == null) {
49: pc.setBooleanProperty(p.getName(), m_key, m_value);
50: } else {
51: pc.setBooleanProperty(p.getName(), m_key, m_value,
52: m_pflist);
53: }
54: } catch (ProviderContextException pce) {
55: throw new DesktopTaglibException(pce);
56: }
57:
58: return SKIP_BODY;
59: }
60: }
|