]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/SpreadsheetEngine.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.spreadsheet.graph / src / org / simantics / spreadsheet / graph / SpreadsheetEngine.java
index c9ca0bf756b8604b2066bb7bac1e17f491ad4058..285f6ce5e26edde167f59329e48713ca5a4cb01f 100644 (file)
-package org.simantics.spreadsheet.graph;\r
-\r
-import java.util.Collections;\r
-import java.util.HashMap;\r
-import java.util.List;\r
-import java.util.Map;\r
-import java.util.Optional;\r
-\r
-import org.simantics.spreadsheet.Range;\r
-import org.simantics.spreadsheet.graph.parser.ast.AstRange;\r
-\r
-public class SpreadsheetEngine implements SpreadsheetElement, SheetNode {\r
-\r
-       private static final long serialVersionUID = -5246063647558595642L;\r
-       \r
-       private static final String LINES = "Lines";\r
-       \r
-       private final SpreadsheetBook book;\r
-       private final String name;\r
-       private final int id;\r
-\r
-       public SpreadsheetLines lines;\r
-       \r
-       transient public Map<String,Object> rangeCache;\r
-\r
-       public Map<String,Object> getRangeCache() {\r
-               if(rangeCache == null) rangeCache = new HashMap<String,Object>();\r
-               return rangeCache;\r
-       }\r
-       \r
-       public Object getCachedRange(AstRange range) {\r
-               if(range.sheetName != null) return null;\r
-               return getRangeCache().get(range.first + ":" + range.second); \r
-       }\r
-       \r
-       public void cacheRange(AstRange range, Object value) {\r
-               if(range.sheetName != null) return;\r
-               getRangeCache().put(range.first + ":" + range.second, value);\r
-       }\r
-\r
-       public SpreadsheetEngine(SpreadsheetBook book, String name) {\r
-               this.book = book;\r
-               this.name = name;\r
-               this.id = book.getNewId(this);\r
-               this.lines = new SpreadsheetLines(this, LINES);\r
-       }\r
-       \r
-       public SpreadsheetBook getBook() {\r
-               return book;\r
-       }\r
-       \r
-       public int getId() {\r
-               return id;\r
-       }\r
-       \r
-       Object resolve(String[] parts, int index) {\r
-               \r
-               String part = parts[index];\r
-               if(!part.equals(LINES)) return null;\r
-               \r
-               if(index == parts.length-1) return lines;\r
-               \r
-               return lines.resolve(parts, index+1);\r
-\r
-       }\r
-       \r
-       @Override\r
-       public String getName() {\r
-               return name;\r
-       }\r
-       \r
-       @Override\r
-       public Map<String, SheetNode> getChildren() {\r
-               return Collections.singletonMap(LINES, lines);\r
-       }\r
-       \r
-       @Override\r
-       public Map<String, SheetNode> getProperties() {\r
-               return Collections.emptyMap();\r
-       } \r
-       \r
-       public Object ensureSubprocess(String[] path, int index) {\r
-               \r
-               String name = path[index];\r
-               if(!LINES.equals(name)) throw new IllegalStateException();\r
-               if(index == path.length - 1) return lines;\r
-               return lines.ensureSubprocess(path, index+1);\r
-               \r
-       }\r
-       \r
-       public SpreadsheetLine getLine(int row) {\r
-               assert(lines.nodes.size() == 1);\r
-               SpreadsheetLines root = lines.nodes.values().iterator().next();\r
-               return root.getLine(row);\r
-       }\r
-\r
-       @Override\r
-       public void accept(SpreadsheetVisitor v) {\r
-               v.visit(this);\r
-       }\r
-       \r
-       public Range actualRange(Range r) {\r
-               if(r.isFullRows()) {\r
-                       SpreadsheetLines root = lines.nodes.values().iterator().next();\r
-                       Range result = new Range(r);\r
-                       result.startRow = 0;\r
-                       result.endRow = root.getMaxRow(); \r
-                       return result;\r
-               } else {\r
-                       return r;\r
-               }\r
-       }\r
-\r
-    @Override\r
-    public Optional<SpreadsheetElement> getParent() {\r
-        return Optional.of(book);\r
-    }\r
-\r
-    @Override\r
-    public List<SpreadsheetElement> getSpreadsheetChildren() {\r
-        return Collections.singletonList(lines);\r
-    }\r
-\r
-    @Override\r
-    public void remove(SpreadsheetElement child) {\r
-        \r
-    }\r
-\r
-    @Override\r
-    public int hashCode() {\r
-        final int prime = 31;\r
-        int result = 1;\r
-        result = prime * result + ((book == null) ? 0 : book.hashCode());\r
-        result = prime * result + ((name == null) ? 0 : name.hashCode());\r
-        return result;\r
-    }\r
-\r
-    @Override\r
-    public boolean equals(Object obj) {\r
-        if (this == obj)\r
-            return true;\r
-        if (obj == null)\r
-            return false;\r
-        if (getClass() != obj.getClass())\r
-            return false;\r
-        SpreadsheetEngine other = (SpreadsheetEngine) obj;\r
-        if (book == null) {\r
-            if (other.book != null)\r
-                return false;\r
-        } else if (!book.equals(other.book))\r
-            return false;\r
-        if (name == null) {\r
-            if (other.name != null)\r
-                return false;\r
-        } else if (!name.equals(other.name))\r
-            return false;\r
-        return true;\r
-    }\r
-       \r
-       \r
+package org.simantics.spreadsheet.graph;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+
+import org.simantics.spreadsheet.Range;
+import org.simantics.spreadsheet.graph.parser.ast.AstRange;
+
+public class SpreadsheetEngine implements SpreadsheetElement, SheetNode {
+
+       private static final long serialVersionUID = -5246063647558595642L;
+       
+       private static final String LINES = "Lines";
+       
+       private final SpreadsheetBook book;
+       private final String name;
+       private final int id;
+
+       public SpreadsheetLines lines;
+       
+       transient public Map<String,Object> rangeCache;
+
+       public Map<String,Object> getRangeCache() {
+               if(rangeCache == null) rangeCache = new HashMap<String,Object>();
+               return rangeCache;
+       }
+       
+       public Object getCachedRange(AstRange range) {
+               if(range.sheetName != null) return null;
+               return getRangeCache().get(range.first + ":" + range.second); 
+       }
+       
+       public void cacheRange(AstRange range, Object value) {
+               if(range.sheetName != null) return;
+               getRangeCache().put(range.first + ":" + range.second, value);
+       }
+
+       public SpreadsheetEngine(SpreadsheetBook book, String name) {
+               this.book = book;
+               this.name = name;
+               this.id = book.getNewId(this);
+               this.lines = new SpreadsheetLines(this, LINES);
+       }
+       
+       public SpreadsheetBook getBook() {
+               return book;
+       }
+       
+       public int getId() {
+               return id;
+       }
+       
+       Object resolve(String[] parts, int index) {
+               
+               String part = parts[index];
+               if(!part.equals(LINES)) return null;
+               
+               if(index == parts.length-1) return lines;
+               
+               return lines.resolve(parts, index+1);
+
+       }
+       
+       @Override
+       public String getName() {
+               return name;
+       }
+       
+       @Override
+       public Map<String, SheetNode> getChildren() {
+               return Collections.singletonMap(LINES, lines);
+       }
+       
+       @Override
+       public Map<String, SheetNode> getProperties() {
+               return Collections.emptyMap();
+       } 
+       
+       public Object ensureSubprocess(String[] path, int index) {
+               
+               String name = path[index];
+               if(!LINES.equals(name)) throw new IllegalStateException();
+               if(index == path.length - 1) return lines;
+               return lines.ensureSubprocess(path, index+1);
+               
+       }
+       
+       public SpreadsheetLine getLine(int row) {
+               assert(lines.nodes.size() == 1);
+               SpreadsheetLines root = lines.nodes.values().iterator().next();
+               return root.getLine(row);
+       }
+
+       @Override
+       public void accept(SpreadsheetVisitor v) {
+               v.visit(this);
+       }
+       
+       public Range actualRange(Range r) {
+               if(r.isFullRows()) {
+                       SpreadsheetLines root = lines.nodes.values().iterator().next();
+                       Range result = new Range(r);
+                       result.startRow = 0;
+                       result.endRow = root.getMaxRow(); 
+                       return result;
+               } else {
+                       return r;
+               }
+       }
+
+    @Override
+    public Optional<SpreadsheetElement> getParent() {
+        return Optional.of(book);
+    }
+
+    @Override
+    public List<SpreadsheetElement> getSpreadsheetChildren() {
+        return Collections.singletonList(lines);
+    }
+
+    @Override
+    public void remove(SpreadsheetElement child) {
+        
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((book == null) ? 0 : book.hashCode());
+        result = prime * result + ((name == null) ? 0 : name.hashCode());
+        return result;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj)
+            return true;
+        if (obj == null)
+            return false;
+        if (getClass() != obj.getClass())
+            return false;
+        SpreadsheetEngine other = (SpreadsheetEngine) obj;
+        if (book == null) {
+            if (other.book != null)
+                return false;
+        } else if (!book.equals(other.book))
+            return false;
+        if (name == null) {
+            if (other.name != null)
+                return false;
+        } else if (!name.equals(other.name))
+            return false;
+        return true;
+    }
+       
+       
 }
\ No newline at end of file