Make the AbstractBehavior builder mutable (#26309)
* Make the AbstractBehavior builder mutable #26260 * Use mutable builder style in first sample, mention that fluent is an option * A bit of rework of the Java builders: * onAnyMessage added * use the japi SAMs throughout in the APIs * avoid wrapping the japi functions in Scala functions for the most common cases * more Java test coverage * Not just any exception * Works on 2.11 as well as 2.12
This commit is contained in:
parent
ddada9a8e1
commit
8fabb73f2b
22 changed files with 391 additions and 268 deletions
|
|
@ -36,7 +36,7 @@ class PrintMyActorRefActor extends AbstractBehavior<String> {
|
|||
|
||||
@Override
|
||||
public Receive<String> createReceive() {
|
||||
return receiveBuilder().onMessageEquals("printit", this::printIt).build();
|
||||
return newReceiveBuilder().onMessageEquals("printit", this::printIt).build();
|
||||
}
|
||||
|
||||
private Behavior<String> printIt() {
|
||||
|
|
@ -60,7 +60,7 @@ class StartStopActor1 extends AbstractBehavior<String> {
|
|||
|
||||
@Override
|
||||
public Receive<String> createReceive() {
|
||||
return receiveBuilder()
|
||||
return newReceiveBuilder()
|
||||
.onMessageEquals("stop", Behaviors::stopped)
|
||||
.onSignal(PostStop.class, signal -> postStop())
|
||||
.build();
|
||||
|
|
@ -84,7 +84,7 @@ class StartStopActor2 extends AbstractBehavior<String> {
|
|||
|
||||
@Override
|
||||
public Receive<String> createReceive() {
|
||||
return receiveBuilder().onSignal(PostStop.class, signal -> postStop()).build();
|
||||
return newReceiveBuilder().onSignal(PostStop.class, signal -> postStop()).build();
|
||||
}
|
||||
|
||||
private Behavior<String> postStop() {
|
||||
|
|
@ -113,7 +113,7 @@ class SupervisingActor extends AbstractBehavior<String> {
|
|||
|
||||
@Override
|
||||
public Receive<String> createReceive() {
|
||||
return receiveBuilder().onMessageEquals("failChild", this::failChild).build();
|
||||
return newReceiveBuilder().onMessageEquals("failChild", this::failChild).build();
|
||||
}
|
||||
|
||||
private Behavior<String> failChild() {
|
||||
|
|
@ -134,7 +134,7 @@ class SupervisedActor extends AbstractBehavior<String> {
|
|||
|
||||
@Override
|
||||
public Receive<String> createReceive() {
|
||||
return receiveBuilder()
|
||||
return newReceiveBuilder()
|
||||
.onMessageEquals("fail", this::fail)
|
||||
.onSignal(PreRestart.class, signal -> preRestart())
|
||||
.onSignal(PostStop.class, signal -> postStop())
|
||||
|
|
@ -174,7 +174,7 @@ class Main extends AbstractBehavior<String> {
|
|||
|
||||
@Override
|
||||
public Receive<String> createReceive() {
|
||||
return receiveBuilder().onMessageEquals("start", this::start).build();
|
||||
return newReceiveBuilder().onMessageEquals("start", this::start).build();
|
||||
}
|
||||
|
||||
private Behavior<String> start() {
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public class IotSupervisor extends AbstractBehavior<Void> {
|
|||
// No need to handle any messages
|
||||
@Override
|
||||
public Receive<Void> createReceive() {
|
||||
return receiveBuilder().onSignal(PostStop.class, signal -> postStop()).build();
|
||||
return newReceiveBuilder().onSignal(PostStop.class, signal -> postStop()).build();
|
||||
}
|
||||
|
||||
private IotSupervisor postStop() {
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ public class Device extends AbstractBehavior<DeviceMessage> {
|
|||
|
||||
@Override
|
||||
public Receive<DeviceMessage> createReceive() {
|
||||
return receiveBuilder()
|
||||
return newReceiveBuilder()
|
||||
.onMessage(RecordTemperature.class, this::recordTemperature)
|
||||
.onMessage(ReadTemperature.class, this::readTemperature)
|
||||
.onSignal(PostStop.class, signal -> postStop())
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ public class Device extends AbstractBehavior<DeviceMessage> {
|
|||
|
||||
@Override
|
||||
public Receive<DeviceMessage> createReceive() {
|
||||
return receiveBuilder()
|
||||
return newReceiveBuilder()
|
||||
.onMessage(ReadTemperature.class, this::readTemperature)
|
||||
.onSignal(PostStop.class, signal -> postStop())
|
||||
.build();
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ public class Device extends AbstractBehavior<DeviceMessage> {
|
|||
|
||||
@Override
|
||||
public Receive<DeviceMessage> createReceive() {
|
||||
return receiveBuilder()
|
||||
return newReceiveBuilder()
|
||||
.onMessage(RecordTemperature.class, this::recordTemperature)
|
||||
.onMessage(ReadTemperature.class, this::readTemperature)
|
||||
.onMessage(Passivate.class, m -> Behaviors.stopped())
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ public class DeviceGroup extends AbstractBehavior<DeviceGroupMessage> {
|
|||
|
||||
@Override
|
||||
public Receive<DeviceGroupMessage> createReceive() {
|
||||
return receiveBuilder()
|
||||
return newReceiveBuilder()
|
||||
.onMessage(RequestTrackDevice.class, this::onTrackDevice)
|
||||
// #device-group-register
|
||||
// #device-group-remove
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ public class DeviceManager extends AbstractBehavior<DeviceManagerMessage> {
|
|||
}
|
||||
|
||||
public Receive<DeviceManagerMessage> createReceive() {
|
||||
return receiveBuilder()
|
||||
return newReceiveBuilder()
|
||||
.onMessage(RequestTrackDevice.class, this::onTrackDevice)
|
||||
.onMessage(RequestDeviceList.class, this::onRequestDeviceList)
|
||||
.onMessage(DeviceGroupTerminated.class, this::onTerminated)
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public class Device extends AbstractBehavior<DeviceMessage> {
|
|||
|
||||
@Override
|
||||
public Receive<DeviceMessage> createReceive() {
|
||||
return receiveBuilder()
|
||||
return newReceiveBuilder()
|
||||
.onMessage(RecordTemperature.class, this::recordTemperature)
|
||||
.onMessage(ReadTemperature.class, this::readTemperature)
|
||||
.onMessage(Passivate.class, m -> Behaviors.stopped())
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ public class DeviceGroup extends AbstractBehavior<DeviceGroupMessage> {
|
|||
|
||||
@Override
|
||||
public Receive<DeviceGroupMessage> createReceive() {
|
||||
return receiveBuilder()
|
||||
return newReceiveBuilder()
|
||||
// #query-added
|
||||
.onMessage(RequestTrackDevice.class, this::onTrackDevice)
|
||||
.onMessage(RequestDeviceList.class, r -> r.groupId.equals(groupId), this::onDeviceList)
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ public class DeviceGroupQuery extends AbstractBehavior<DeviceGroupQueryMessage>
|
|||
// #query-state
|
||||
@Override
|
||||
public Receive<DeviceGroupQueryMessage> createReceive() {
|
||||
return receiveBuilder()
|
||||
return newReceiveBuilder()
|
||||
.onMessage(WrappedRespondTemperature.class, this::onRespondTemperature)
|
||||
.onMessage(DeviceTerminated.class, this::onDeviceTerminated)
|
||||
.onMessage(CollectionTimeout.class, this::onCollectionTimeout)
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ public class DeviceManager extends AbstractBehavior<DeviceManagerMessage> {
|
|||
}
|
||||
|
||||
public Receive<DeviceManagerMessage> createReceive() {
|
||||
return receiveBuilder()
|
||||
return newReceiveBuilder()
|
||||
.onMessage(RequestTrackDevice.class, this::onTrackDevice)
|
||||
.onMessage(RequestDeviceList.class, this::onRequestDeviceList)
|
||||
.onMessage(RequestAllTemperatures.class, this::onRequestAllTemperatures)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue