OSDN Git Service

merge.
[coroid/inqubus.git] / frontend / src / saccubus / properties / InputCommentSetting.java
diff --git a/frontend/src/saccubus/properties/InputCommentSetting.java b/frontend/src/saccubus/properties/InputCommentSetting.java
new file mode 100644 (file)
index 0000000..f19d5fb
--- /dev/null
@@ -0,0 +1,63 @@
+/* $Id$ */
+package saccubus.properties;
+
+import java.io.File;
+import java.util.Properties;
+
+/**
+ * \93ü\97Í\83R\83\81\83\93\83g\90Ý\92è.
+ * @author yuki
+ */
+public class InputCommentSetting extends InputFileSetting<Boolean> {
+
+    private static final String PROP_COMMENT_FILE = "CommentFile";
+    private static final String PROP_BACK_COMMENT = "BackComment";
+    private static final String PROP_DEL_COMMENT_AFTER_CONV = "DeleteCommentAfterConv";
+    private static final String PROP_COMMENT_FIX_FILE_NAME = "CommentFixFileName";
+    private static final String PROP_COMMENT_FIX_FILE_NAME_FOLDER = "CommentFixFileNameFolder";
+    private static final String PROP_FIX_COMMENT_NUM = "FixCommentSize";
+    private static final String PROP_SAVE_COMMENT = "SaveCommentFile";
+    private final boolean selfAdjustNumOfComment;
+    private final int numOfComment;
+
+    public InputCommentSetting(boolean download, boolean autoNaming, File folder, File file, boolean deleteAfterConvert,
+            boolean adjust, int numOfCom) {
+        super(Boolean.valueOf(download), autoNaming, folder, file, deleteAfterConvert);
+        this.selfAdjustNumOfComment = adjust;
+        this.numOfComment = numOfCom;
+    }
+
+    public void save(Properties prop) {
+        prop.setProperty(PROP_COMMENT_FILE, getFile().getPath());
+        prop.setProperty(PROP_BACK_COMMENT, Integer.toString(getNumOfComment()));
+        prop.setProperty(PROP_DEL_COMMENT_AFTER_CONV, Boolean.toString(isDeleteAfterConvert()));
+        prop.setProperty(PROP_COMMENT_FIX_FILE_NAME, Boolean.toString(isAutoNaming()));
+        prop.setProperty(PROP_COMMENT_FIX_FILE_NAME_FOLDER, getFolder().getPath());
+        prop.setProperty(PROP_FIX_COMMENT_NUM, Boolean.toString(isSelfAdjustNumOfComment()));
+        prop.setProperty(PROP_SAVE_COMMENT, getProcessKind().toString());
+
+    }
+
+    public static InputCommentSetting load(Properties prop) {
+
+        String file = prop.getProperty(PROP_COMMENT_FILE, ".\\comment.xml");
+        String numOfComment = prop.getProperty(PROP_BACK_COMMENT, "500");
+        boolean delete = Boolean.parseBoolean(prop.getProperty(PROP_DEL_COMMENT_AFTER_CONV, "false"));
+        boolean adjustNumOfComment = Boolean.parseBoolean(prop.getProperty(PROP_COMMENT_FIX_FILE_NAME, "true"));
+        String folder = prop.getProperty(PROP_COMMENT_FIX_FILE_NAME_FOLDER, ".\\[out]comment\\");
+        boolean autoNaming = Boolean.parseBoolean(prop.getProperty(PROP_FIX_COMMENT_NUM, "true"));
+        boolean download = Boolean.parseBoolean(prop.getProperty(PROP_SAVE_COMMENT, "true"));
+
+        return new InputCommentSetting(download, autoNaming, new File(folder), new File(file), delete,
+                adjustNumOfComment,
+                Integer.parseInt(numOfComment));
+    }
+
+    public final boolean isSelfAdjustNumOfComment() {
+        return selfAdjustNumOfComment;
+    }
+
+    public final int getNumOfComment() {
+        return numOfComment;
+    }
+}