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

Summary

Maintainability
A
3 hrs
Test Coverage
/* Img.java

    Purpose:
        
    Description:
        
    History:
        Tue Sep 20 15:13:32     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.html;

import java.io.IOException;

import org.zkoss.web.mesg.MWeb;
import org.zkoss.web.servlet.dsp.DspException;
import org.zkoss.web.servlet.dsp.action.AbstractAction;
import org.zkoss.web.servlet.dsp.action.ActionContext;

/**
 * Generates the HTML <img> tag
 *
 * @author tomyeh
 */
public class Img extends AbstractAction {
    private String _id, _onclick;
    private String _src, _height, _width, _border, _hspace, _vspace;
    private String _align, _title, _alt, _sclass, _style;

    /** Returns the id attribute.
     * Default: null.
     */
    public String getId() {
        return _id;
    }

    /** Sets the id attribute.
     */
    public void setId(String id) {
        _id = id;
    }

    /** Returns the src (URL).
     * Default: null.
     */
    public String getSrc() {
        return _src;
    }

    /** Sets the src (URL).
     */
    public void setSrc(String src) {
        _src = src;
    }

    /** Returns the alignment.
     * Default: null.
     */
    public String getAlign() {
        return _align;
    }

    /** Sets the alignment.
     */
    public void setAlign(String align) {
        _align = align;
    }

    /** Returns the alt.
     * Default: null.
     */
    public String getAlt() {
        return _alt;
    }

    /** Sets the alt.
     */
    public void setAlt(String alt) {
        _alt = alt;
    }

    /** Returns the border.
     * Default: null.
     */
    public String getBorder() {
        return _border;
    }

    /** Sets the border.
     */
    public void setBorder(String border) {
        _border = border;
    }

    /** Returns the hspace.
     * Default: null.
     */
    public String getHspace() {
        return _hspace;
    }

    /** Sets the hspace.
     */
    public void setHspace(String hspace) {
        _hspace = hspace;
    }

    /** Returns the vspace.
     * Default: null.
     */
    public String getVspace() {
        return _vspace;
    }

    /** Sets the vspace.
     */
    public void setVspace(String vspace) {
        _vspace = vspace;
    }

    /** Returns the style class.
     * Default: null.
     */
    public String getSclass() {
        return _sclass;
    }

    /** Sets the style class.
     */
    public void setSclass(String sclass) {
        _sclass = sclass;
    }

    /** Returns the style.
     * Default: null.
     */
    public String getStyle() {
        return _style;
    }

    /** Sets the style.
     */
    public void setStyle(String style) {
        _style = style;
    }

    /** Returns the height.
     * Default: null.
     */
    public String getHeight() {
        return _height;
    }

    /** Sets the height.
     */
    public void setHeight(String height) {
        _height = height;
    }

    /** Returns the width.
     * Default: null.
     */
    public String getWidth() {
        return _width;
    }

    /** Sets the width.
     */
    public void setWidth(String width) {
        _width = width;
    }

    /** Returns the title.
     * Default: null (no title at all).
     */
    public String getTitle() {
        return _title;
    }

    /** Sets the title.
     */
    public void setTitle(String title) {
        _title = title;
    }

    /** Returns the onclick.
     * Default: null.
     */
    public String getOnclick() {
        return _onclick;
    }

    /** Sets the onclick.
     */
    public void setOnclick(String onclick) {
        _onclick = onclick;
    }

    //-- Action --//
    public void render(ActionContext ac, boolean nested) throws DspException, IOException {
        if (!isEffective() || _src == null || _src.length() == 0)
            return; //nothing to generate
        if (nested)
            throw new DspException(MWeb.DSP_NESTED_ACTION_NOT_ALLOWED,
                    new Object[] { this, new Integer(ac.getLineNumber()) });

        final StringBuffer sb = new StringBuffer(64).append("<img src=\"").append(ac.encodeURL(_src)).append('"');
        append(sb, "id", _id);
        append(sb, "height", _height);
        append(sb, "width", _width);
        append(sb, "title", _title);
        append(sb, "align", _align);
        append(sb, "alt", _alt);
        append(sb, "class", _sclass);
        append(sb, "style", _style);
        append(sb, "border", _border);
        append(sb, "hspace", _hspace);
        append(sb, "vspace", _vspace);
        append(sb, "onclick", _onclick);
        sb.append("/>");
        ac.getOut().write(sb.toString());
    }

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