Skip to content

Commit f790360

Browse files
committed
Rename methods to avoid unnecessary method overloads
1 parent c55e497 commit f790360

File tree

20 files changed

+103
-120
lines changed

20 files changed

+103
-120
lines changed

examples/src/main/java/org/jsignal/examples/AnimationTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public static void main(String[] args) {
3838
@Override
3939
public Element render() {
4040
var animation = new Animation((deltaTimeNano, stop) ->
41-
angle.accept(cur -> cur + (deltaTimeNano * 1e-9f * ANGULAR_VEL_DEG_SEC)));
41+
angle.transform(cur -> cur + (deltaTimeNano * 1e-9f * ANGULAR_VEL_DEG_SEC)));
4242

4343
return Node.builder()
4444
.layout(EzLayout.builder()

examples/src/main/java/org/jsignal/examples/AsyncCounter.java

+2-7
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,7 @@
55
import org.jsignal.std.Para;
66
import org.jsignal.std.ez.EzColors;
77
import org.jsignal.std.ez.EzLayout;
8-
import org.jsignal.ui.Component;
9-
import org.jsignal.ui.Element;
10-
import org.jsignal.ui.Node;
11-
import org.jsignal.ui.UiThread;
12-
import org.jsignal.ui.UiUtil;
13-
import org.jsignal.ui.UiWindow;
8+
import org.jsignal.ui.*;
149

1510
import java.util.concurrent.Executors;
1611
import java.util.concurrent.TimeUnit;
@@ -30,7 +25,7 @@ public static void main(String[] args) {
3025
@Override
3126
public Element render() {
3227
var executorService = Executors.newSingleThreadScheduledExecutor();
33-
executorService.scheduleAtFixedRate(() -> count.accept(c -> c + 1), 0, 100, TimeUnit.MILLISECONDS);
28+
executorService.scheduleAtFixedRate(() -> count.transform(c -> c + 1), 0, 100, TimeUnit.MILLISECONDS);
3429
Cleanups.onCleanup(executorService::shutdown);
3530

3631
return Node.builder()

examples/src/main/java/org/jsignal/examples/Counter.java

+2-8
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,7 @@
44
import org.jsignal.std.Button;
55
import org.jsignal.std.Para;
66
import org.jsignal.std.ez.EzColors;
7-
import org.jsignal.ui.Component;
8-
import org.jsignal.ui.Element;
9-
import org.jsignal.ui.Node;
10-
import org.jsignal.ui.Nodes;
11-
import org.jsignal.ui.UiThread;
12-
import org.jsignal.ui.UiUtil;
13-
import org.jsignal.ui.UiWindow;
7+
import org.jsignal.ui.*;
148

159
public class Counter extends Component {
1610
public static void main(String[] args) {
@@ -43,7 +37,7 @@ public Element render() {
4337
.build(),
4438
Button.builder()
4539
.color(EzColors.BLUE_300)
46-
.action(() -> count.accept(c -> c + 1))
40+
.action(() -> count.transform(c -> c + 1))
4741
.children(() -> Para.fromString("Increment"))
4842
.build()
4943
))

examples/src/main/java/org/jsignal/examples/SimpleTest.java

+9-22
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,10 @@
44
import io.github.humbleui.skija.Color;
55
import io.github.humbleui.skija.FontStyle;
66
import org.jsignal.rx.Signal;
7-
import org.jsignal.std.BasicPainter;
8-
import org.jsignal.std.Blob;
9-
import org.jsignal.std.BlobException;
10-
import org.jsignal.std.Button;
11-
import org.jsignal.std.Image;
12-
import org.jsignal.std.Para;
13-
import org.jsignal.std.ParaStyle;
14-
import org.jsignal.std.Scroll;
7+
import org.jsignal.std.*;
158
import org.jsignal.std.ez.EzColors;
169
import org.jsignal.std.ez.EzLayout;
17-
import org.jsignal.ui.Component;
18-
import org.jsignal.ui.Element;
19-
import org.jsignal.ui.Node;
20-
import org.jsignal.ui.Nodes;
21-
import org.jsignal.ui.UiThread;
22-
import org.jsignal.ui.UiUtil;
23-
import org.jsignal.ui.UiWindow;
10+
import org.jsignal.ui.*;
2411
import org.slf4j.Logger;
2512
import org.slf4j.LoggerFactory;
2613

@@ -111,30 +98,30 @@ public Element render() {
11198
.children(compose(
11299
Button.builder()
113100
.color(EzColors.BLUE_300)
114-
.action(() -> count.accept(c -> c + 1))
101+
.action(() -> count.transform(c -> c + 1))
115102
.children(() -> Para.fromString("Increase"))
116103
.build(),
117104
Button.builder()
118105
.color(EzColors.BLUE_700)
119-
.action(() -> count.accept(c -> c - 1))
106+
.action(() -> count.transform(c -> c - 1))
120107
.children(() -> Para.fromString("Decrease"))
121108
.build(),
122109
Button.builder()
123110
.color(EzColors.RED_300)
124-
.action(() -> count.accept(c -> c * 2))
111+
.action(() -> count.transform(c -> c * 2))
125112
.children(() -> Para.fromString("Multiply"))
126113
.build(),
127114
Button.builder()
128115
.color(EzColors.RED_700)
129-
.action(() -> count.accept(c -> c / 2))
116+
.action(() -> count.transform(c -> c / 2))
130117
.children(() -> Para.fromString("Divide"))
131118
.build()
132119

133120
))
134121
.build(),
135122
Button.builder()
136123
.color(EzColors.RED_900)
137-
.action(() -> fontSize.accept(v -> v + 2))
124+
.action(() -> fontSize.transform(v -> v + 2))
138125
.children(() -> Para.fromString("Increase Font Size"))
139126
.build(),
140127
ParaStyle.context.customize(style -> style.textStyleBuilder(tsb ->
@@ -171,7 +158,7 @@ public Element render() {
171158
.color(buttonColor)
172159
.action(() -> {
173160
buttonColor.accept(Color.withA(rand.nextInt(), 255));
174-
showFire.accept(show -> !show);
161+
showFire.transform(show -> !show);
175162
})
176163
.children(() -> Para.fromString(this::buttonText))
177164
.build(),
@@ -204,7 +191,7 @@ private Nodes maybeFire() {
204191
.height(pixel(200))
205192
.build(),
206193
Button.builder()
207-
.action(() -> testState.accept(c -> c + 1))
194+
.action(() -> testState.transform(c -> c + 1))
208195
.children(() -> Para.fromString(() -> testState.get().toString()))
209196
.build()
210197
);

examples/src/main/java/org/jsignal/examples/todo/TodoApp.java

+13-8
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,7 @@ protected Element render() {
100100
Button.builder()
101101
.color(EzColors.BLUE_500)
102102
.action(() -> batch(() -> {
103-
todos.mutate(list -> {
104-
list.add(todo.get());
105-
});
103+
todos.modify(list -> list.add(todo.get()));
106104
todo.accept("");
107105
}))
108106
.children(() -> Para.fromString("Add"))
@@ -111,12 +109,19 @@ protected Element render() {
111109
.build()
112110
))
113111
.build(),
114-
Nodes.forEach(todos, (content, idx) ->
115-
Node.builder()
112+
Nodes.forEach(todos, (content, idx) -> {
113+
var enterAnim = AnimationHelper.builder()
114+
.function(EasingFunction::easeOutQuad)
115+
.build();
116+
117+
enterAnim.start();
118+
119+
return Node.builder()
116120
.paint(CardPainter.builder()
117121
.radius(16f)
118122
.build()
119123
)
124+
.transform(layout -> MathUtil.scaleCenter(enterAnim.get(), layout.getWidth(), layout.getHeight()))
120125
.layoutBuilder(lb -> lb
121126
.maxWidth(percent(100f))
122127
.padding(insets(16f).pixels())
@@ -139,13 +144,13 @@ protected Element render() {
139144
.build(),
140145
Button.builder()
141146
.color(EzColors.RED_600)
142-
.action(() -> todos.mutate(list -> {list.remove((int) idx.get());}))
147+
.action(() -> todos.modify(list -> list.remove((int) idx.get())))
143148
.size(Button.Size.SM)
144149
.children(() -> Para.fromString("Remove"))
145150
.build()
146151
))
147-
.build()
148-
)
152+
.build();
153+
})
149154
))
150155
.build()
151156
)

rx/src/main/java/org/jsignal/rx/Computed.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,6 @@ public static <T> Computed<T> create(Supplier<T> supplier) {
2222
}
2323

2424
public static <T> Computed<T> create(SignalLike<T> signal, Supplier<T> supplier) {
25-
return new Computed<>(signal, Effect.create(() -> signal.accept(supplier)));
25+
return new Computed<>(signal, Effect.create(() -> signal.accept(supplier.get())));
2626
}
2727
}

rx/src/main/java/org/jsignal/rx/LazyComputed.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,6 @@ public static <T> LazyComputed<T> create(Supplier<T> supplier) {
3333
}
3434

3535
public static <T> LazyComputed<T> create(SignalLike<T> signal, Supplier<T> supplier) {
36-
return new LazyComputed<>(signal, new Effect(() -> signal.accept(supplier)));
36+
return new LazyComputed<>(signal, new Effect(() -> signal.accept(supplier.get())));
3737
}
3838
}
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package org.jsignal.rx;
22

3-
import jakarta.annotation.Nonnull;
4-
53
import java.util.Arrays;
64
import java.util.HashMap;
75

@@ -16,21 +14,23 @@ public MutableProvider(MutableProvider that) {
1614
this.contexts = new HashMap<>(that.contexts);
1715
}
1816

19-
public void add(@Nonnull Iterable<Provider.Entry> entries) {
17+
public void add(Iterable<Provider.Entry> entries) {
2018
for (var entry : entries) {
2119
contexts.put(entry.getContext(), entry.getValue());
2220
}
2321
}
2422

25-
public void add(@Nonnull Provider.Entry... entries) {
23+
public void add(Provider.Entry... entries) {
2624
add(Arrays.asList(entries));
2725
}
2826

29-
public <T> T use(@Nonnull Context<T> context) {
27+
@SuppressWarnings("unchecked")
28+
public <T> T use(Context<T> context) {
3029
var obj = contexts.get(context);
31-
if (obj != null)
30+
if (obj != null) {
3231
return (T) obj;
33-
else
32+
} else {
3433
return context.getDefaultValue();
34+
}
3535
}
3636
}

rx/src/main/java/org/jsignal/rx/Signal.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public T get() {
6464
}
6565

6666
@Override
67-
public void accept(Function<T, T> transform) {
67+
public void transform(Function<T, T> transform) {
6868
mutate(oldValue -> {
6969
value = transform.apply(oldValue);
7070
return !equals.apply(oldValue, value);
@@ -86,10 +86,11 @@ protected void runEffects() {
8686
EffectRef ref = itr.next();
8787
Optional<EffectLike> effect = ref.getEffect();
8888

89-
if (effect.isEmpty() || effect.get().isDisposed())
89+
if (effect.isEmpty() || effect.get().isDisposed()) {
9090
itr.remove();
91-
else
91+
} else {
9292
batch.add(ref);
93+
}
9394
}
9495
});
9596
}

rx/src/main/java/org/jsignal/rx/SignalDecorator.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ public SignalLike<T> getSignal() {
1717
}
1818

1919
@Override
20-
public void accept(Function<T, T> transform) {
21-
this.signal.accept(transform);
20+
public void transform(Function<T, T> transform) {
21+
this.signal.transform(transform);
2222
}
2323

2424
@Override

rx/src/main/java/org/jsignal/rx/Trigger.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ public Trigger(SignalLike<Object> signal) {
1313
}
1414

1515
public void trigger() {
16-
accept(v -> null);
16+
transform(v -> null);
1717
}
1818
}

rx/src/main/java/org/jsignal/rx/interfaces/Acceptable.java

+2-7
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,12 @@
44

55
import java.util.function.Consumer;
66
import java.util.function.Function;
7-
import java.util.function.Supplier;
87

98
public interface Acceptable<T> extends Consumer<T> {
10-
void accept(Function<T, T> transform);
11-
12-
default void accept(Supplier<T> supplier) {
13-
accept(RxUtil.toFunction(supplier));
14-
}
9+
void transform(Function<T, T> transform);
1510

1611
@Override
1712
default void accept(T value) {
18-
accept(RxUtil.toFunction(value));
13+
transform(RxUtil.toFunction(value));
1914
}
2015
}

rx/src/main/java/org/jsignal/rx/interfaces/Mutateable.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
public interface Mutateable<T> {
66
void mutate(Mutate<T> mutate);
77

8-
default void mutate(Consumer<T> mutate) {
8+
default void modify(Consumer<T> mutate) {
99
mutate(value -> {
1010
mutate.accept(value);
1111
return true;

std/src/main/java/org/jsignal/std/AnimationHelper.java

+10-7
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,26 @@
1111

1212
@GeneratePropHelper
1313
public non-sealed class AnimationHelper extends AnimationHelperPropHelper implements Supplier<Float> {
14-
@Prop(required = true)
15-
Supplier<Float> start;
16-
@Prop(required = true)
17-
Supplier<Float> end;
18-
@Prop(required = true)
19-
Supplier<Float> durationSeconds;
14+
@Prop
15+
Supplier<Float> start = Constant.of(0f);
16+
@Prop
17+
Supplier<Float> end = Constant.of(1f);
18+
@Prop
19+
Supplier<Float> durationSeconds = Constant.of(0.2f);
2020
@Prop
2121
Supplier<EasingFunction> function = Constant.of(EasingFunction::linear);
22+
@Prop
23+
Runnable onFinish = () -> {};
2224

2325
private final Signal<Float> progress = Signal.create(0f);
2426
private final Signal<State> state = Signal.create(State.INITIAL);
2527
private final Animation animation = new Animation((deltaTime, stop) -> {
2628
float increment = (deltaTime * 1e-9f) / durationSeconds.get();
27-
progress.accept(cur -> cur + increment);
29+
progress.transform(cur -> cur + increment);
2830
if (progress.get() > 1) {
2931
stop.run();
3032
state.accept(State.FINISHED);
33+
onFinish.run();
3134
}
3235
});
3336

std/src/main/java/org/jsignal/std/Button.java

+2-6
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import org.jsignal.rx.Signal;
99
import org.jsignal.std.ez.EzColors;
1010
import org.jsignal.ui.Element;
11+
import org.jsignal.ui.MathUtil;
1112
import org.jsignal.ui.Node;
1213
import org.jsignal.ui.Nodes;
1314
import org.jsignal.ui.layout.Layout;
@@ -93,12 +94,7 @@ private float textSize() {
9394
private void paint(Canvas canvas, Layout layout) {
9495
var size = layout.getSize();
9596
if (mouseDown.get()) {
96-
float pressScale = 0.95f;
97-
canvas.scale(pressScale, pressScale);
98-
canvas.translate(
99-
size.getX() * (1f - pressScale) / 2f,
100-
size.getY() * (1f - pressScale) / 2f
101-
);
97+
canvas.concat(MathUtil.scaleCenter(0.95f, size.getX(), size.getY()));
10298
}
10399
try (Paint paint = new Paint()) {
104100
paint.setColor(mouseOver.get() ? hoverColor(color.get()) : color.get());

0 commit comments

Comments
 (0)