![JAR search and dependency download from the Maven repository](/logo.png)
kikaha.uworkers.core.WrappedExchange Maven / Gradle / Ivy
package kikaha.uworkers.core;
import java.util.function.BiConsumer;
import kikaha.uworkers.api.Exchange;
import lombok.RequiredArgsConstructor;
/**
* Wraps an exchange to send a new value as reply to a former sender.
*/
@RequiredArgsConstructor(staticName = "wrap")
public class WrappedExchange implements Exchange {
final Object request;
final Exchange listener;
@Override
public REQ requestAs( Class requestType ) {
return (REQ)request;
}
@Override
public REQ request() {
return (REQ)request;
}
@Override
public Exchange reply( RESP response ) {
listener.reply( response );
return this;
}
@Override
public Exchange reply(Throwable error) {
listener.reply(error);
return this;
}
@Override
public Exchange then(BiConsumer listener) {
this.listener.then( listener );
return this;
}
@Override
public RESP response() {
throw new UnsupportedOperationException("response not available here!");
}
@Override
public RESP responseAs(Class targetClass) {
throw new UnsupportedOperationException("responseAs not available here!");
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy