リファクタリング。
[nucalgen] / nucalgen / src / main / java / jp / satomichan / nucalgen / NamedAreaStore.java
1 package jp.satomichan.nucalgen;
2
3 import java.util.HashMap;
4 import java.util.Map;
5 import java.util.Map.Entry;
6 import java.util.Set;
7
8 import org.apache.poi.ss.util.CellReference;
9
10 public class NamedAreaStore {
11
12         private static NamedAreaStore instance = new NamedAreaStore();
13         
14         private Map<String, String> namedAreaMap = new HashMap<String, String>();
15         
16         private NamedAreaStore() {
17                 //
18         }
19         
20         static NamedAreaStore getInstance() {
21                 return NamedAreaStore.instance;
22         }
23         
24         static String getAreaString(int row1, int col1, int row2, int col2) {
25                 String ret = new CellReference(row1, col1, true, true).formatAsString();
26                 
27                 if(row1 != row2 || col1 != col2) {
28                         ret = ret + ":" + new CellReference(row2, col2, true, true).formatAsString();
29                 }
30                 
31                 return ret;
32         }
33         
34         String save(String areaname, int row1, int col1, int row2, int col2) {
35                 String area = getAreaString(row1, col1, row2, col2);
36                 
37                 this.namedAreaMap.put(areaname, area);
38                 
39                 return area;
40         }
41         
42         
43         String save(String areaname, int row, int col) {
44                 return this.save(areaname, row, col, row, col);
45         }
46         
47         
48         String load(String areaName) {
49                 return this.namedAreaMap.get(areaName);
50         }
51         
52         
53         Set<Entry<String, String>> entrySet(){
54                 return this.namedAreaMap.entrySet();
55         }
56         
57 }