/*
 * 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.
 */



/*
 * 作成日: 2005/08/23
 *
 * TODO この生成されたファイルのテンプレートを変更するには次へジャンプ:
 * ウィンドウ - 設定 - Java - コード・スタイル - コード・テンプレート
 */
package com.kickmogu.s2;

import org.seasar.framework.container.S2Container;
import com.kickmogu.s2.dao.*;

/**
 * @author mogu
 *
 * TODO この生成された型コメントのテンプレートを変更するには次へジャンプ:
 * ウィンドウ - 設定 - Java - コード・スタイル - コード・テンプレート
 */
public class DAOSequence {
	private String keyname;
	private int seq;
	
	public DAOSequence() {
		
	}

	public static int getNextId(String keyname) {
		S2Container s2container = S2Util.getS2Container();
		DAOSequenceDAO dao = (DAOSequenceDAO) s2container.getComponent(DAOSequenceDAO.class);

        DAOSequence daoSeq = dao.getDAOSequence(keyname);
        if (daoSeq == null) {
        	daoSeq = new DAOSequence();
        	daoSeq.setKeyname(keyname);
        	daoSeq.setSeq(0);
        	dao.insert(daoSeq);
        } else {
        	daoSeq.setSeq(daoSeq.getSeq() + 1);
        	dao.update(daoSeq);
        }
		return daoSeq.getSeq();
	}
	/**
	 * @return keyname を戻します。
	 */
	public String getKeyname() {
		return keyname;
	}
	/**
	 * @param keyname keyname を設定。
	 */
	public void setKeyname(String keyname) {
		this.keyname = keyname;
	}
	/**
	 * @return seq を戻します。
	 */
	public int getSeq() {
		return seq;
	}
	/**
	 * @param seq seq を設定。
	 */
	public void setSeq(int seq) {
		this.seq = seq;
	}
}
