From ce484cfd433602bd48ebd19bf9970f3cbb4fe1aa Mon Sep 17 00:00:00 2001 From: Danila Fedorin Date: Fri, 4 Aug 2017 12:52:02 -0700 Subject: [PATCH] Add comments and clean some code. --- .../org/nwapw/abacus/fx/ToggleablePlugin.java | 27 +++++++++++++++++++ .../nwapw/abacus/plugin/StandardPlugin.java | 27 ++++++++++++++----- 2 files changed, 48 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/nwapw/abacus/fx/ToggleablePlugin.java b/src/main/java/org/nwapw/abacus/fx/ToggleablePlugin.java index e311819..45238cb 100644 --- a/src/main/java/org/nwapw/abacus/fx/ToggleablePlugin.java +++ b/src/main/java/org/nwapw/abacus/fx/ToggleablePlugin.java @@ -3,25 +3,52 @@ package org.nwapw.abacus.fx; import javafx.beans.property.BooleanProperty; import javafx.beans.property.SimpleBooleanProperty; +/** + * Class that represents an entry in the plugin check box list. + * The changes from this property are written to the config on application. + */ public class ToggleablePlugin { + /** + * The property that determines whether the plugin will be enabled. + */ private final BooleanProperty enabled; + /** + * The name of the class this entry toggles. + */ private final String className; + /** + * Creates a new toggleable plugin with the given properties. + * @param enabled the enabled / disabled state at the beginning. + * @param className the name of the class this plugin toggles. + */ public ToggleablePlugin(boolean enabled, String className){ this.enabled = new SimpleBooleanProperty(); this.enabled.setValue(enabled); this.className = className; } + /** + * Gets the enabled property of this plugin. + * @return the enabled property. + */ public BooleanProperty enabledProperty() { return enabled; } + /** + * Checks if this plugin entry should be enabled. + * @return whether this plugin will be enabled. + */ public boolean isEnabled() { return enabled.get(); } + /** + * Gets the class name this plugin toggles. + * @return the class name that should be disabled. + */ public String getClassName() { return className; } diff --git a/src/main/java/org/nwapw/abacus/plugin/StandardPlugin.java b/src/main/java/org/nwapw/abacus/plugin/StandardPlugin.java index 029c044..e4197c5 100755 --- a/src/main/java/org/nwapw/abacus/plugin/StandardPlugin.java +++ b/src/main/java/org/nwapw/abacus/plugin/StandardPlugin.java @@ -18,7 +18,7 @@ import java.util.function.BiFunction; */ public class StandardPlugin extends Plugin { - private static HashMap, ArrayList> factorialLists = new HashMap, ArrayList>(); + private static final HashMap, ArrayList> FACTORIAL_LISTS = new HashMap<>(); /** * The addition operator, + @@ -318,6 +318,9 @@ public class StandardPlugin extends Plugin { } }; + /** + * The cosine function (the argument is in radians). + */ public final Function functionCos = new Function() { @Override protected boolean matchesParams(NumberInterface[] params) { @@ -331,6 +334,9 @@ public class StandardPlugin extends Plugin { } }; + /** + * The tangent function (the argument is in radians). + */ public final Function functionTan = new Function() { @Override protected boolean matchesParams(NumberInterface[] params) { @@ -343,6 +349,9 @@ public class StandardPlugin extends Plugin { } }; + /** + * The secant function (the argument is in radians). + */ public final Function functionSec = new Function() { @Override protected boolean matchesParams(NumberInterface[] params) { @@ -355,6 +364,9 @@ public class StandardPlugin extends Plugin { } }; + /** + * The cosecant function (the argument is in radians). + */ public final Function functionCsc = new Function() { @Override protected boolean matchesParams(NumberInterface[] params) { @@ -367,6 +379,9 @@ public class StandardPlugin extends Plugin { } }; + /** + * The cotangent function (the argument is in radians). + */ public final Function functionCot = new Function() { @Override protected boolean matchesParams(NumberInterface[] params) { @@ -499,12 +514,12 @@ public class StandardPlugin extends Plugin { * @return a number of numClass with value n factorial. */ public static NumberInterface factorial(Class numberClass, int n){ - if(!factorialLists.containsKey(numberClass)){ - factorialLists.put(numberClass, new ArrayList<>()); - factorialLists.get(numberClass).add(NaiveNumber.ONE.promoteTo(numberClass)); - factorialLists.get(numberClass).add(NaiveNumber.ONE.promoteTo(numberClass)); + if(!FACTORIAL_LISTS.containsKey(numberClass)){ + FACTORIAL_LISTS.put(numberClass, new ArrayList<>()); + FACTORIAL_LISTS.get(numberClass).add(NaiveNumber.ONE.promoteTo(numberClass)); + FACTORIAL_LISTS.get(numberClass).add(NaiveNumber.ONE.promoteTo(numberClass)); } - ArrayList list = factorialLists.get(numberClass); + ArrayList list = FACTORIAL_LISTS.get(numberClass); if(n >= list.size()){ while(list.size() < n + 16){ list.add(list.get(list.size()-1).multiply(new NaiveNumber(list.size()).promoteTo(numberClass)));