/* 
 * Copyright (C) 2001-2013 Michael Fuchs
 *
 * This file is part of herold.
 * 
 * herold is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * herold is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with herold.  If not, see <http://www.gnu.org/licenses/>.  
 */
package org.dbdoclet.tag.docbook;

import org.dbdoclet.service.StringServices;

public class Imagedata extends DocBookElement {

	Imagedata() {

		super("imagedata");
		isEmpty(true);
		setFormatType(FORMAT_BLOCK);
	}

	public DocBookElement setAlign(String align) {

		if (align == null) {

			throw new IllegalArgumentException("Parameter align is null!");
		}

		setAttribute("align", align);
		return this;
	}

	public DocBookElement setContentDepth(String depth) {

		if (depth == null || depth.trim().length() == 0) {
			removeAttribute("contentdepth");
		}

		setAttribute("contentdepth", depth);
		return this;
	}

	public DocBookElement setContentWidth(String width) {

		if (width == null || width.trim().length() == 0) {
			removeAttribute("contentwidth");
		}

		setAttribute("contentwidth", width);
		return this;
	}

	public DocBookElement setDepth(String depth) {

		if (depth == null || depth.trim().length() == 0) {
			removeAttribute("depth");
		}

		setAttribute("depth", depth);
		return this;
	}

	public DocBookElement setFileRef(String fileref) {

		if (fileref == null) {
			throw new IllegalArgumentException("Parameter fileref is null!");
		}

		fileref = StringServices.replace(fileref, "\\", "/");
		setAttribute("fileref", fileref);

		return this;
	}

	public DocBookElement setFormat(String format) {

		if (format == null) {

			throw new IllegalArgumentException("Parameter format is null!");
		}

		setAttribute("format", format.toUpperCase());

		return this;
	}

	public DocBookElement setScale(int scale) {

		setAttribute("scale", String.valueOf(scale));

		return this;
	}

	public DocBookElement setScaleFit(boolean scalefit) {

		if (scalefit == true) {
			setAttribute("scalefit", "1");
		} else {
			setAttribute("scalefit", "0");
		}

		return this;
	}

	public DocBookElement setWidth(String width) {

		if (width == null) {
			throw new IllegalArgumentException("Parameter width is null!");
		}

		setAttribute("width", width);

		return this;
	}
}
