RobotCore
1.0
WPILib port to raspberry Pi
Toggle main menu visibility
Loading...
Searching...
No Matches
TunableBoolean.java
1
// Copyright (c) FIRST and other WPILib contributors.
2
// Open Source Software; you can modify and/or share it under the terms of
3
// the WPILib BSD license file in the root directory of this project.
4
5
package
org.wpilib.tunable;
6
7
import
java.util.function.BooleanSupplier;
8
import
org.wpilib.util.function.BooleanConsumer;
9
11
public
abstract
class
TunableBoolean
extends
TunableBase
12
implements BooleanSupplier,
BooleanConsumer
{
18
public
static
TunableBoolean
create
() {
19
return
create
(
false
);
20
}
21
28
public
static
TunableBoolean
create
(
boolean
initialValue) {
29
return
createConfig
(initialValue,
null
);
30
}
31
41
public
static
TunableBoolean
create
(BooleanSupplier getter,
BooleanConsumer
setter) {
42
return
createConfig
(getter, setter,
null
);
43
}
44
51
public
static
TunableBoolean
createConfig
(
TunableConfig
config) {
52
return
createConfig
(
false
, config);
53
}
54
62
public
static
TunableBoolean
createConfig
(
boolean
initialValue,
TunableConfig
config) {
63
return
new
TunableBoolean
(config,
true
) {
64
@Override
65
public
void
set
(
boolean
value) {
66
if
(m_value == value) {
67
return
;
68
}
69
m_value = value;
70
markChanged
();
71
}
72
73
@Override
74
public
boolean
get
() {
75
return
m_value;
76
}
77
78
private
boolean
m_value = initialValue;
79
};
80
}
81
92
public
static
TunableBoolean
createConfig
(
93
BooleanSupplier getter,
BooleanConsumer
setter,
TunableConfig
config) {
94
if
(config ==
null
) {
95
config =
TunableConfig
.
of
(
TunableOption
.
ALWAYS_GET
);
96
}
else
if
(config.
getPolling
() ==
TunableConfig
.
Polling
.
DEFAULT
) {
97
config = config.
withPolling
(
TunableConfig
.
Polling
.
ALWAYS_GET
);
98
}
99
return
new
TunableBoolean
(config,
true
) {
100
@Override
101
public
void
set
(
boolean
value) {
102
boolean
changed = getter.getAsBoolean() != value;
103
if
(setter !=
null
) {
104
setter.
accept
(value);
105
}
106
if
(changed) {
107
markChanged
();
108
}
109
}
110
111
@Override
112
public
boolean
get
() {
113
return
getter.getAsBoolean();
114
}
115
};
116
}
117
123
protected
TunableBoolean
(
TunableConfig
config) {
124
super(config);
125
}
126
133
protected
TunableBoolean
(
TunableConfig
config,
boolean
supportsChangeNotification
) {
134
super(config,
supportsChangeNotification
);
135
}
136
144
public
abstract
void
set
(
boolean
value);
145
153
public
abstract
boolean
get
();
154
155
@Override
156
public
boolean
getAsBoolean() {
157
return
get
();
158
}
159
160
@Override
161
public
void
accept
(
boolean
value) {
162
set
(value);
163
}
164
}
org.wpilib.tunable.TunableBase.supportsChangeNotification
boolean supportsChangeNotification()
Definition
TunableBase.java:85
org.wpilib.tunable.TunableBase.markChanged
void markChanged()
Definition
TunableBase.java:90
org.wpilib.tunable.TunableBase.TunableBase
TunableBase(TunableConfig config)
Definition
TunableBase.java:24
org.wpilib.tunable.TunableBoolean.TunableBoolean
TunableBoolean(TunableConfig config)
Definition
TunableBoolean.java:123
org.wpilib.tunable.TunableBoolean.create
static TunableBoolean create()
Definition
TunableBoolean.java:18
org.wpilib.tunable.TunableBoolean.TunableBoolean
TunableBoolean(TunableConfig config, boolean supportsChangeNotification)
Definition
TunableBoolean.java:133
org.wpilib.tunable.TunableBoolean.createConfig
static TunableBoolean createConfig(boolean initialValue, TunableConfig config)
Definition
TunableBoolean.java:62
org.wpilib.tunable.TunableBoolean.create
static TunableBoolean create(BooleanSupplier getter, BooleanConsumer setter)
Definition
TunableBoolean.java:41
org.wpilib.tunable.TunableBoolean.createConfig
static TunableBoolean createConfig(TunableConfig config)
Definition
TunableBoolean.java:51
org.wpilib.tunable.TunableBoolean.accept
void accept(boolean value)
Definition
TunableBoolean.java:161
org.wpilib.tunable.TunableBoolean.create
static TunableBoolean create(boolean initialValue)
Definition
TunableBoolean.java:28
org.wpilib.tunable.TunableBoolean.createConfig
static TunableBoolean createConfig(BooleanSupplier getter, BooleanConsumer setter, TunableConfig config)
Definition
TunableBoolean.java:92
org.wpilib.tunable.TunableConfig
Definition
TunableConfig.java:15
org.wpilib.tunable.TunableConfig.getPolling
Polling getPolling()
Definition
TunableConfig.java:338
org.wpilib.tunable.TunableConfig.withPolling
TunableConfig withPolling(Polling polling)
Definition
TunableConfig.java:260
org.wpilib.tunable.TunableConfig.of
static TunableConfig of(TunableOption... options)
Definition
TunableConfig.java:128
org.wpilib.tunable.TunableConfig.Polling
Definition
TunableConfig.java:23
org.wpilib.tunable.TunableConfig.Polling.DEFAULT
DEFAULT
Definition
TunableConfig.java:25
org.wpilib.tunable.TunableConfig.Polling.ALWAYS_GET
ALWAYS_GET
Definition
TunableConfig.java:28
org.wpilib.tunable.TunableOption
Definition
TunableOption.java:10
org.wpilib.tunable.TunableOption.ALWAYS_GET
TunableOption ALWAYS_GET
Definition
TunableOption.java:89
org.wpilib.util.function.BooleanConsumer
Definition
BooleanConsumer.java:15
org.wpilib.util.function.BooleanConsumer.accept
void accept(boolean value)
org
wpilib
tunable
TunableBoolean.java
Generated by
1.18.0