/*
 * Copyright 2007 Kickmogu Co. Ltd. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 
 * either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 */



/*
 * 作成日: 2006/11/28
 *
 */
package com.kickmogu.rhythm.mail;

import java.util.Date;

import org.apache.commons.lang.StringUtils;

import com.kickmogu.Config;

public class Mail {
	private int idx;
	// メールのMessage-IDヘッダ。存在しない場合は内部IDを設定する
	private String msgId;
	private String subject;
	private String body;
	private String[] fromaddr;
	private String[] toaddr;
	private String[] ccaddr;
	private String[] bccaddr;
	private String[] replyto;
	private Date sendDate;
	// 添付ファイルの保存先を示す
	private String attachFileKey;
	private AttachFile[] attachFile;
	
	/**
	 * @return body を戻します。
	 */
	public String getBody() {
		return body;
	}
	/**
	 * @param body body を設定。
	 */
	public void setBody(String body) {
		this.body = body;
	}
	/**
	 * @return fromaddr を戻します。
	 */
	public String[] getFromaddr() {
		return fromaddr;
	}
	/**
	 * @param fromaddr fromaddr を設定。
	 */
	public void setFromaddr(String[] fromaddr) {
		this.fromaddr = fromaddr;
	}
	/**
	 * @return sendDate を戻します。
	 */
	public Date getSendDate() {
		return sendDate;
	}
	/**
	 * @param sendDate sendDate を設定。
	 */
	public void setSendDate(Date sendDate) {
		this.sendDate = sendDate;
	}
	/**
	 * @return subject を戻します。
	 */
	public String getSubject() {
		return subject;
	}
	/**
	 * @param subject subject を設定。
	 */
	public void setSubject(String subject) {
		this.subject = subject;
	}
	/**
	 * @return toaddr を戻します。
	 */
	public String[] getToaddr() {
		if (!StringUtils.isEmpty(Config.getProperty("demo.mail.toaddr"))) {
			return new String[] {Config.getProperty("demo.mail.toaddr")};
		}
		return toaddr;
	}
	/**
	 * @param toaddr toaddr を設定。
	 */
	public void setToaddr(String[] toaddr) {
		this.toaddr = toaddr;
	}
	/**
	 * @return idx を戻します。
	 */
	public int getIdx() {
		return idx;
	}
	/**
	 * @param idx idx を設定。
	 */
	public void setIdx(int idx) {
		this.idx = idx;
	}
	/**
	 * @return bccaddr を戻します。
	 */
	public String[] getBccaddr() {
		if (!StringUtils.isEmpty(Config.getProperty("demo.mail.toaddr"))) {
			return new String[] {};
		}
		return bccaddr;
	}
	/**
	 * @param bccaddr bccaddr を設定。
	 */
	public void setBccaddr(String[] bccaddr) {
		this.bccaddr = bccaddr;
	}
	/**
	 * @return ccaddr を戻します。
	 */
	public String[] getCcaddr() {
		if (!StringUtils.isEmpty(Config.getProperty("demo.mail.toaddr"))) {
			return new String[] {};
		}
		return ccaddr;
	}
	/**
	 * @param ccaddr ccaddr を設定。
	 */
	public void setCcaddr(String[] ccaddr) {
		this.ccaddr = ccaddr;
	}
	/**
	 * @return replyto を戻します。
	 */
	public String[] getReplyto() {
		return replyto;
	}
	/**
	 * @param replyto replyto を設定。
	 */
	public void setReplyto(String[] replyto) {
		this.replyto = replyto;
	}
	/**
	 * @return msgId を戻します。
	 */
	public String getMsgId() {
		return msgId;
	}
	/**
	 * @param msgId msgId を設定。
	 */
	public void setMsgId(String msgId) {
		this.msgId = msgId;
	}
	/**
	 * @return attachFileKey を戻します。
	 */
	public String getAttachFileKey() {
		return attachFileKey;
	}
	/**
	 * @param attachFileKey attachFileKey を設定。
	 */
	public void setAttachFileKey(String attachFileKey) {
		this.attachFileKey = attachFileKey;
	}
	/**
	 * @return attachFile を戻します。
	 */
	public AttachFile[] getAttachFile() {
		return attachFile;
	}
	/**
	 * @param attachFile attachFile を設定。
	 */
	public void setAttachFile(AttachFile[] attachFile) {
		this.attachFile = attachFile;
	}


}
