/*
 * $Id: LocalQueueCollection.java,v 1.4 2005/05/31 14:38:19 rampil Exp $
 * Copyright (c) 2004 LOGICAL-PARADOX.ORG
 */
package org.logical_paradox.koike.simple.document;

import java.io.File;
import java.io.IOException;

import org.logical_paradox.common.util.Cache;

/**
 * ローカルでだけ動作するコレクション
 * 
 * @author satoshi akabane@logical-paradox.org
 * @version $Revision: 1.4 $
 */
public class LocalQueueCollection {
	// VMで唯一のキュー
	private static Cache queue = new Cache();

	/**
	 * キャッシュに対してコンテンツのダイジェスト(=ファイル名)をロードする
	 * 既にロードされている場合は何もしない
	 * @param dirname コンテンツファイルが格納されているディレクトリ名
	 * @throws IOException ロード中に発生した例外
	 */
	public static void load(String dirname) throws IOException {
		synchronized(queue) {
			if(queue.size() == 0) {
				File[] documents = new File(dirname).listFiles();
				for(int i = 0; i < documents.length; i++) {
					if(documents[i].isFile() == true) {
						queue.add(documents[i].getName());
					}
				}
			}
		}
	}
	/**
	 * キューを返す
	 * @return キュー
	 */
	public static Cache getQueue() {
		return queue;
	}
}
