Skip to content

Make Preference classes implement relevant Supplier interfaces #12

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down Expand Up @@ -48,4 +50,9 @@ protected void putDefaultValue() {
public boolean get() {
return Preferences.getBoolean(getName(), m_default);
}

@Override
public boolean getAsBoolean() {
return this.get();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down Expand Up @@ -48,4 +50,9 @@ protected void putDefaultValue() {
public double get() {
return Preferences.getDouble(getName(), m_default);
}

@Override
public double getAsDouble() {
return this.get();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down Expand Up @@ -48,4 +50,9 @@ protected void putDefaultValue() {
public int get() {
return Preferences.getInt(getName(), m_default);
}

@Override
public int getAsInt() {
return this.get();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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<Scalar> {

private List<DoublePreference> m_prefs = new ArrayList<>();

Expand Down Expand Up @@ -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());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<String> {
private final String m_default;
private String m_lastValue;

Expand Down Expand Up @@ -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);
}
Expand Down