
com.github.thorbenkuck.netcom2.auto.Example Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of NetCom2-Auto Show documentation
Show all versions of NetCom2-Auto Show documentation
Annotation approach to reduce boilerplate code
The newest version!
package com.github.thorbenkuck.netcom2.auto;
import com.github.thorbenkuck.netcom2.network.client.ClientStart;
import com.github.thorbenkuck.netcom2.network.server.ServerStart;
import com.github.thorbenkuck.netcom2.network.shared.clients.Client;
import com.github.thorbenkuck.netcom2.network.shared.clients.ClientDisconnectedHandler;
public class Example implements ClientDisconnectedWrapper {
private final ObjectRepository objectRepository;
public Example(ObjectRepository objectRepository) {
this.objectRepository = objectRepository;
}
@Override
public void apply(ServerStart serverStart, ObjectRepository repository) {
serverStart.addClientConnectedHandler(client -> client.addDisconnectedHandler(new InnerDisconnectedHandler(objectRepository)));
}
@Override
public void apply(ClientStart clientStart, ObjectRepository repository) {
clientStart.addDisconnectedHandler(new InnerDisconnectedHandler(objectRepository));
}
private class InnerDisconnectedHandler implements ClientDisconnectedHandler {
private final ObjectRepository objectRepository;
private InnerDisconnectedHandler(ObjectRepository objectRepository) {
this.objectRepository = objectRepository;
}
@Override
public void accept(Client client) {
// Foo
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy