OSDN Git Service

コミット漏れ
[coroid/inqubus.git] / frontend / src / saccubus / converter / classic / profile / SFile.java
1 /* $Id$ */
2 package saccubus.converter.classic.profile;
3
4 import java.io.File;
5
6 /**
7  * さきゅばすで扱うファイルは、「保存するディレクトリ」と、「保存されたファイルそのもの」の2パターンある。
8  * このクラスはこれらをまとめて扱うためのもの。
9  * @author yuki
10  */
11 public class SFile implements yukihane.saccubus.converter.profile.SFile {
12
13     private final boolean isFile;
14     private final File file;
15
16     /**
17      * @param isFile ファイルであればtrue, ディレクトリであればfalse.
18      * @param file このオブジェクトが示すFileインスタンス.
19      * @throws IllegalArgumentException 存在しないディレクトリを指定した. isFileがtrueの場合、親ディレクトリが存在しないとこの例外となる.
20      */
21     public SFile(boolean isFile, File file) {
22         this.isFile = isFile;
23         this.file = file;
24
25         File dir;
26         if (isFile) {
27             dir = file.getAbsoluteFile().getParentFile();
28         } else {
29             dir = file;
30         }
31         if (!dir.isDirectory()) {
32             throw new IllegalArgumentException("ディレクトリが存在しません:" + dir);
33         }
34     }
35
36     public boolean isFile() {
37         return isFile;
38     }
39
40     public File getFile() {
41         return file;
42     }
43 }