リファクタリング。
[nucalgen] / nucalgen / src / main / java / jp / satomichan / nucalgen / NamedAreaStore.java
diff --git a/nucalgen/src/main/java/jp/satomichan/nucalgen/NamedAreaStore.java b/nucalgen/src/main/java/jp/satomichan/nucalgen/NamedAreaStore.java
new file mode 100644 (file)
index 0000000..095499e
--- /dev/null
@@ -0,0 +1,57 @@
+package jp.satomichan.nucalgen;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
+
+import org.apache.poi.ss.util.CellReference;
+
+public class NamedAreaStore {
+
+       private static NamedAreaStore instance = new NamedAreaStore();
+       
+       private Map<String, String> namedAreaMap = new HashMap<String, String>();
+       
+       private NamedAreaStore() {
+               //
+       }
+       
+       static NamedAreaStore getInstance() {
+               return NamedAreaStore.instance;
+       }
+       
+       static String getAreaString(int row1, int col1, int row2, int col2) {
+               String ret = new CellReference(row1, col1, true, true).formatAsString();
+               
+               if(row1 != row2 || col1 != col2) {
+                       ret = ret + ":" + new CellReference(row2, col2, true, true).formatAsString();
+               }
+               
+               return ret;
+       }
+       
+       String save(String areaname, int row1, int col1, int row2, int col2) {
+               String area = getAreaString(row1, col1, row2, col2);
+               
+               this.namedAreaMap.put(areaname, area);
+               
+               return area;
+       }
+       
+       
+       String save(String areaname, int row, int col) {
+               return this.save(areaname, row, col, row, col);
+       }
+       
+       
+       String load(String areaName) {
+               return this.namedAreaMap.get(areaName);
+       }
+       
+       
+       Set<Entry<String, String>> entrySet(){
+               return this.namedAreaMap.entrySet();
+       }
+       
+}