/**
* フォルダ内画像ファイル情報リスト
*/
package jp.crwdev.app.container.folder;
import java.io.File;
import java.io.FilenameFilter;
import jp.crwdev.app.BufferedImageIO;
import jp.crwdev.app.container.ImageFileInfoList;
import jp.crwdev.app.interfaces.IImageFileInfo;
import jp.crwdev.app.interfaces.IImageFileInfoList;
public class FolderImageFileInfoList extends ImageFileInfoList {
/**
* コンストラクタ
* @param dir フォルダ
*/
public FolderImageFileInfoList(File dir){
super();
setList(dir);
}
/**
* コンストラクタ
*/
protected FolderImageFileInfoList(){
super();
}
/**
* フォルダ内の画像ファイルをリストに登録
* @param dir フォルダ
*/
private void setList(File dir){
clear();
if(dir != null){
String[] files = dir.list(new FilenameFilter(){
@Override
public boolean accept(File arg0, String arg1) {
return BufferedImageIO.isSupport(getSuffix(arg1));
}
});
for(String filename : files){
try {
IImageFileInfo info = new FolderImageFileInfo(dir.getAbsolutePath(), filename);
add(info);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
@Override
public IImageFileInfoList renew() {
FolderImageFileInfoList list = new FolderImageFileInfoList();
return renewInternal(list);
}
}