final private int column;
int style;
Object content;
+ final private Map<String, SheetNode> properties;
public SpreadsheetCell(SpreadsheetLine line, int column) {
+ this.properties = createProperties();
this.line = line;
this.column = column;
}
+ //All SpreadsheetCells have these properties - create them when object is created
+ private Map<String, SheetNode> createProperties() {
+ Map<String, SheetNode> p = new HashMap<>();
+ p.put("typeURI", new SpreadsheetTypeNode(SpreadsheetResource.URIs.Cell));
+ p.put("content", new SpreadsheetCellContent(this));
+ p.put("style", new SpreadsheetCellStyle(this));
+ p.put("editable", new SpreadsheetCellEditable(this));
+ return p;
+ }
+
public boolean hasExpression() {
return content instanceof SpreadsheetFormula || content instanceof SpreadsheetSCLConstant;
}
@Override
public Map<String, SheetNode> getProperties() {
- Map<String, SheetNode> properties = new HashMap<>();
-
if (GraphUI.DEBUG)
System.out.println("SpreadsheetCell.getProperties: " + this + " " + content + " " + style);
-
- properties.put("typeURI", new SpreadsheetTypeNode(SpreadsheetResource.URIs.Cell));
- properties.put("content", new SpreadsheetCellContent(this));
- properties.put("style", new SpreadsheetCellStyle(this));
- properties.put("editable", new SpreadsheetCellEditable(this));
- return properties;
+ return properties; //Return this SpreadsheetCells's properties, rather than a new HashMap
}
public SpreadsheetBook getBook() {