1 /*
2 *
3 * GeoVISTA Center (Penn State, Dept. of Geography)
4 * Copyright (c), 1999 - 2002, GeoVISTA Center
5 * All Rights Researved.
6 *
7 * Description: Protect against circle reference
8 * Date: Mar 27, 2003
9 * Time: 8:21:57 PM
10 * @author Jin Chen
11 */
12
13 package edu.psu.geovista.app.spreadsheet.formula;
14
15 import java.util.HashSet;
16
17
18
19 public class ReferenceManager {
20 private HashSet references;
21 /* Reference Manager is owned by only one cell
22 * It records all reference cells involved in calculating the owner cell
23 */
24 private Cell owner;
25
26 public Cell getOwner() {
27 return owner;
28 }
29
30 public boolean addReference(Cell cell) {
31 return this.references.add(cell);
32 }
33 /***
34 * assume single thread(in swing)
35 */
36 public synchronized void setOwner(Cell owner) {
37 if (hasOwner()) return;
38 this.owner = owner;
39 }
40
41 public boolean hasOwner() {
42 return (owner!=null);
43 }
44 }
This page was automatically generated by Maven