1 package jp.satomichan.nucalgen;
3 import java.util.HashMap;
5 import java.util.Map.Entry;
7 import java.util.regex.Matcher;
9 import org.apache.poi.ss.usermodel.Cell;
10 import org.apache.poi.ss.util.CellReference;
12 public class NamedAreaStore {
14 private static NamedAreaStore instance = new NamedAreaStore();
16 private Map<String, String> namedAreaMap = new HashMap<String, String>();
18 private NamedAreaStore() {
22 static NamedAreaStore getInstance() {
23 return NamedAreaStore.instance;
26 static String getAreaString(int row1, int col1, int row2, int col2) {
27 String ret = new CellReference(row1, col1, true, true).formatAsString();
29 if(row1 != row2 || col1 != col2) {
30 ret = ret + ":" + new CellReference(row2, col2, true, true).formatAsString();
36 String save(String areaname, int row1, int col1, int row2, int col2) {
37 String area = getAreaString(row1, col1, row2, col2);
38 areaname = Matcher.quoteReplacement(areaname);
39 this.namedAreaMap.put(areaname, area);
45 String save(String areaname, int row, int col) {
46 return this.save(areaname, row, col, row, col);
50 String save(String areaname, Cell cell) {
51 return this.save(areaname, cell.getRowIndex(), cell.getColumnIndex());
55 String load(String areaName) {
56 areaName = Matcher.quoteReplacement(areaName);
57 return this.namedAreaMap.get(areaName);
61 Set<Entry<String, String>> entrySet(){
62 return this.namedAreaMap.entrySet();