zweb/src/main/java/org/zkoss/web/servlet/dsp/action/Remove.java

Summary

Maintainability
A
0 mins
Test Coverage
/* Remove.java

    Purpose:
        
    Description:
        
    History:
        Tue Sep  6 16:14:44     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 org.zkoss.web.mesg.MWeb;
import org.zkoss.web.servlet.dsp.DspException;

/**
 * The remove action used to remove an attribute.
 * 
 * @author tomyeh
 */
public class Remove extends AbstractAction {
    private int _scope = ActionContext.PAGE_SCOPE;
    private String _var;

    /** Returns the scope. */
    public int getScope() {
        return _scope;
    }

    /** Sets the scope. */
    public void setScope(String scope) {
        _scope = toScope(scope);
    }

    /** Returns the attribute name. */
    public String getVar() {
        return _var;
    }

    /** Sets the attribute name. */
    public void setVar(String var) {
        _var = var;
    }

    //-- Action --//
    public void render(ActionContext ac, boolean nested) throws DspException, IOException {
        if (!isEffective())
            return;
        if (nested)
            throw new DspException(MWeb.DSP_NESTED_ACTION_NOT_ALLOWED,
                    new Object[] { this, new Integer(ac.getLineNumber()) });
        if (_var == null)
            throw new DspException(MWeb.DSP_ATTRIBUTE_REQUIRED,
                    new Object[] { this, "var", new Integer(ac.getLineNumber()) });
        ac.removeAttribute(_var, _scope);
    }

    //-- Object --//
    public String toString() {
        return "remove";
    }
}