diff --git a/src/main/java/org/hyperonline/hyperlib/pref/BooleanPreference.java b/src/main/java/org/hyperonline/hyperlib/pref/BooleanPreference.java index 66aac55..ec57503 100644 --- a/src/main/java/org/hyperonline/hyperlib/pref/BooleanPreference.java +++ b/src/main/java/org/hyperonline/hyperlib/pref/BooleanPreference.java @@ -2,12 +2,14 @@ import edu.wpi.first.wpilibj.Preferences; +import java.util.function.BooleanSupplier; + /** * A class which represents a boolean-valued preference * * @author James Hagborg */ -public class BooleanPreference extends Preference { +public class BooleanPreference extends Preference implements BooleanSupplier { private final boolean m_default; private boolean m_lastValue; @@ -48,4 +50,9 @@ protected void putDefaultValue() { public boolean get() { return Preferences.getBoolean(getName(), m_default); } + + @Override + public boolean getAsBoolean() { + return this.get(); + } } diff --git a/src/main/java/org/hyperonline/hyperlib/pref/DoublePreference.java b/src/main/java/org/hyperonline/hyperlib/pref/DoublePreference.java index b27b525..ce528c1 100644 --- a/src/main/java/org/hyperonline/hyperlib/pref/DoublePreference.java +++ b/src/main/java/org/hyperonline/hyperlib/pref/DoublePreference.java @@ -2,12 +2,14 @@ import edu.wpi.first.wpilibj.Preferences; +import java.util.function.DoubleSupplier; + /** * A class which represents a double-valued preference * * @author James Hagborg */ -public class DoublePreference extends Preference { +public class DoublePreference extends Preference implements DoubleSupplier { private final double m_default; private double m_lastValue; @@ -48,4 +50,9 @@ protected void putDefaultValue() { public double get() { return Preferences.getDouble(getName(), m_default); } + + @Override + public double getAsDouble() { + return this.get(); + } } diff --git a/src/main/java/org/hyperonline/hyperlib/pref/IntPreference.java b/src/main/java/org/hyperonline/hyperlib/pref/IntPreference.java index 2ef40cc..8ba0ad4 100644 --- a/src/main/java/org/hyperonline/hyperlib/pref/IntPreference.java +++ b/src/main/java/org/hyperonline/hyperlib/pref/IntPreference.java @@ -2,12 +2,14 @@ import edu.wpi.first.wpilibj.Preferences; +import java.util.function.IntSupplier; + /** * A class which represents an integer-valued preference * * @author James Hagborg */ -public class IntPreference extends Preference { +public class IntPreference extends Preference implements IntSupplier { private final int m_default; private int m_lastValue; @@ -48,4 +50,9 @@ protected void putDefaultValue() { public int get() { return Preferences.getInt(getName(), m_default); } + + @Override + public int getAsInt() { + return this.get(); + } } diff --git a/src/main/java/org/hyperonline/hyperlib/pref/ScalarPreference.java b/src/main/java/org/hyperonline/hyperlib/pref/ScalarPreference.java index 15ffc42..6025e21 100644 --- a/src/main/java/org/hyperonline/hyperlib/pref/ScalarPreference.java +++ b/src/main/java/org/hyperonline/hyperlib/pref/ScalarPreference.java @@ -4,13 +4,14 @@ import java.util.ArrayList; import java.util.List; +import java.util.function.Supplier; /** * {@link ScalarPreference} * * @author James */ -public class ScalarPreference { +public class ScalarPreference implements Supplier { private List m_prefs = new ArrayList<>(); @@ -50,6 +51,7 @@ public ScalarPreference(String name, String components, double... defaults) { * * @return The current value of the preference. */ + @Override public Scalar get() { return new Scalar(m_prefs.stream().mapToDouble(DoublePreference::get).toArray()); } diff --git a/src/main/java/org/hyperonline/hyperlib/pref/StringPreference.java b/src/main/java/org/hyperonline/hyperlib/pref/StringPreference.java index fa383e7..4c594f6 100644 --- a/src/main/java/org/hyperonline/hyperlib/pref/StringPreference.java +++ b/src/main/java/org/hyperonline/hyperlib/pref/StringPreference.java @@ -2,12 +2,14 @@ import edu.wpi.first.wpilibj.Preferences; +import java.util.function.Supplier; + /** * A class which represents a string-valued preference * * @author James Hagborg */ -public class StringPreference extends Preference { +public class StringPreference extends Preference implements Supplier { private final String m_default; private String m_lastValue; @@ -50,6 +52,7 @@ public void putDefaultValue() { * @return The value of the preference * @see Preferences#getString(String, String) */ + @Override public String get() { return Preferences.getString(getName(), m_default); }