From db13c5c2569df08698c0cb576284fa1e917358ba Mon Sep 17 00:00:00 2001 From: Denis Molony Date: Mon, 20 Mar 2017 10:33:23 +1100 Subject: [PATCH] created ValueListFunction --- .../diskbrowser/visicalc/Average.java | 11 +---------- .../bytezone/diskbrowser/visicalc/Choose.java | 9 +-------- .../bytezone/diskbrowser/visicalc/Count.java | 11 +---------- .../diskbrowser/visicalc/Function.java | 1 - .../bytezone/diskbrowser/visicalc/Lookup.java | 9 +-------- .../bytezone/diskbrowser/visicalc/Max.java | 8 +------- .../bytezone/diskbrowser/visicalc/Min.java | 8 +------- .../bytezone/diskbrowser/visicalc/Npv.java | 9 +-------- .../bytezone/diskbrowser/visicalc/Sum.java | 8 +------- .../visicalc/ValueListFunction.java | 19 +++++++++++++++++++ 10 files changed, 27 insertions(+), 66 deletions(-) create mode 100644 src/com/bytezone/diskbrowser/visicalc/ValueListFunction.java diff --git a/src/com/bytezone/diskbrowser/visicalc/Average.java b/src/com/bytezone/diskbrowser/visicalc/Average.java index 6261efd..29b340f 100644 --- a/src/com/bytezone/diskbrowser/visicalc/Average.java +++ b/src/com/bytezone/diskbrowser/visicalc/Average.java @@ -2,21 +2,12 @@ package com.bytezone.diskbrowser.visicalc; import com.bytezone.diskbrowser.visicalc.Cell.CellType; -public class Average extends Function +public class Average extends ValueListFunction { - private final boolean isRange; // may affect how the count is done - public Average (Cell cell, String text) { super (cell, text); - assert text.startsWith ("@AVERAGE(") : text; - - list = new ValueList (cell, functionText); - isRange = functionText.indexOf ("...") > 0; - - for (Value v : list) - values.add (v); } @Override diff --git a/src/com/bytezone/diskbrowser/visicalc/Choose.java b/src/com/bytezone/diskbrowser/visicalc/Choose.java index 32bc5a2..dc3a89e 100644 --- a/src/com/bytezone/diskbrowser/visicalc/Choose.java +++ b/src/com/bytezone/diskbrowser/visicalc/Choose.java @@ -2,19 +2,12 @@ package com.bytezone.diskbrowser.visicalc; import com.bytezone.diskbrowser.visicalc.Cell.CellType; -public class Choose extends Function +public class Choose extends ValueListFunction { Choose (Cell cell, String text) { super (cell, text); - assert text.startsWith ("@CHOOSE(") : text; - - // parameters are a Value, followed by a Range - list = new ValueList (cell, functionText); - - for (Value v : list) - values.add (v); } @Override diff --git a/src/com/bytezone/diskbrowser/visicalc/Count.java b/src/com/bytezone/diskbrowser/visicalc/Count.java index 1280b7e..3f2e3a5 100644 --- a/src/com/bytezone/diskbrowser/visicalc/Count.java +++ b/src/com/bytezone/diskbrowser/visicalc/Count.java @@ -2,21 +2,12 @@ package com.bytezone.diskbrowser.visicalc; import com.bytezone.diskbrowser.visicalc.Cell.CellType; -class Count extends Function +class Count extends ValueListFunction { - private final boolean isRange; - public Count (Cell cell, String text) { super (cell, text); - assert text.startsWith ("@COUNT(") : text; - - list = new ValueList (cell, functionText); - isRange = functionText.indexOf ("...") > 0; - - for (Value v : list) - values.add (v); } @Override diff --git a/src/com/bytezone/diskbrowser/visicalc/Function.java b/src/com/bytezone/diskbrowser/visicalc/Function.java index 3cf1628..6d50916 100644 --- a/src/com/bytezone/diskbrowser/visicalc/Function.java +++ b/src/com/bytezone/diskbrowser/visicalc/Function.java @@ -17,7 +17,6 @@ abstract class Function extends AbstractValue implements Iterable protected String fullText; protected Value source; - protected ValueList list; protected Range range; Function (Cell cell, String text) diff --git a/src/com/bytezone/diskbrowser/visicalc/Lookup.java b/src/com/bytezone/diskbrowser/visicalc/Lookup.java index ce2efd7..018d503 100644 --- a/src/com/bytezone/diskbrowser/visicalc/Lookup.java +++ b/src/com/bytezone/diskbrowser/visicalc/Lookup.java @@ -1,18 +1,11 @@ package com.bytezone.diskbrowser.visicalc; -class Lookup extends Function +class Lookup extends ValueListFunction { public Lookup (Cell cell, String text) { super (cell, text); - assert text.startsWith ("@LOOKUP(") : text; - - // parameters are a Value, followed by a Range - list = new ValueList (cell, functionText); - - for (Value v : list) - values.add (v); } @Override diff --git a/src/com/bytezone/diskbrowser/visicalc/Max.java b/src/com/bytezone/diskbrowser/visicalc/Max.java index cd403ce..8f2954f 100644 --- a/src/com/bytezone/diskbrowser/visicalc/Max.java +++ b/src/com/bytezone/diskbrowser/visicalc/Max.java @@ -1,17 +1,11 @@ package com.bytezone.diskbrowser.visicalc; -class Max extends Function +class Max extends ValueListFunction { public Max (Cell cell, String text) { super (cell, text); - assert text.startsWith ("@MAX(") : text; - - list = new ValueList (cell, functionText); - - for (Value v : list) - values.add (v); } @Override diff --git a/src/com/bytezone/diskbrowser/visicalc/Min.java b/src/com/bytezone/diskbrowser/visicalc/Min.java index 60df665..7001aa0 100644 --- a/src/com/bytezone/diskbrowser/visicalc/Min.java +++ b/src/com/bytezone/diskbrowser/visicalc/Min.java @@ -1,17 +1,11 @@ package com.bytezone.diskbrowser.visicalc; -class Min extends Function +class Min extends ValueListFunction { public Min (Cell cell, String text) { super (cell, text); - assert text.startsWith ("@MIN(") : text; - - list = new ValueList (cell, functionText); - - for (Value v : list) - values.add (v); } @Override diff --git a/src/com/bytezone/diskbrowser/visicalc/Npv.java b/src/com/bytezone/diskbrowser/visicalc/Npv.java index 8102baf..1473fd3 100644 --- a/src/com/bytezone/diskbrowser/visicalc/Npv.java +++ b/src/com/bytezone/diskbrowser/visicalc/Npv.java @@ -2,19 +2,12 @@ package com.bytezone.diskbrowser.visicalc; import com.bytezone.diskbrowser.visicalc.Cell.CellType; -public class Npv extends Function +public class Npv extends ValueListFunction { Npv (Cell cell, String text) { super (cell, text); - assert text.startsWith ("@NPV(") : text; - - // parameters are a Value, followed by a Range - list = new ValueList (cell, functionText); - - for (Value v : list) - values.add (v); } @Override diff --git a/src/com/bytezone/diskbrowser/visicalc/Sum.java b/src/com/bytezone/diskbrowser/visicalc/Sum.java index 989e33b..8128f83 100644 --- a/src/com/bytezone/diskbrowser/visicalc/Sum.java +++ b/src/com/bytezone/diskbrowser/visicalc/Sum.java @@ -1,17 +1,11 @@ package com.bytezone.diskbrowser.visicalc; -class Sum extends Function +class Sum extends ValueListFunction { public Sum (Cell cell, String text) { super (cell, text); - assert text.startsWith ("@SUM(") : text; - - list = new ValueList (cell, functionText); - - for (Value v : list) - values.add (v); } @Override diff --git a/src/com/bytezone/diskbrowser/visicalc/ValueListFunction.java b/src/com/bytezone/diskbrowser/visicalc/ValueListFunction.java new file mode 100644 index 0000000..e54e8d1 --- /dev/null +++ b/src/com/bytezone/diskbrowser/visicalc/ValueListFunction.java @@ -0,0 +1,19 @@ +package com.bytezone.diskbrowser.visicalc; + +public abstract class ValueListFunction extends Function +{ + protected final ValueList list; + protected final boolean isRange; + + public ValueListFunction (Cell cell, String text) + { + super (cell, text); + + list = new ValueList (cell, functionText); + isRange = functionText.indexOf ("...") > 0; + + for (Value v : list) + values.add (v); + } + +} \ No newline at end of file