
com.progressoft.brix.domino.api.server.request.DefaultRequestContext Maven / Gradle / Ivy
The newest version!
package com.progressoft.brix.domino.api.server.request;
import com.progressoft.brix.domino.api.shared.request.RequestBean;
public class DefaultRequestContext implements RequestContext {
private final T requestBean;
private final MultiMap parameters;
private final MultiMap headers;
private final String requestPath;
public DefaultRequestContext(String requestPath, T requestBean, MultiMap parameters, MultiMap headers) {
this.requestPath = requestPath;
this.requestBean = requestBean;
this.parameters = parameters;
this.headers = headers;
}
@Override
public T getRequestBean() {
return requestBean;
}
@Override
public MultiMap headers() {
return headers;
}
@Override
public MultiMap parameters() {
return parameters;
}
@Override
public String getRequestPath() {
return requestPath;
}
public static RequestContextBuilder forRequest(S requestBean) {
return new RequestContextBuilder<>(requestBean);
}
public static class RequestContextBuilder {
private String requestPath;
private S requestBean;
private MultiMap parameters;
private MultiMap headers;
public RequestContextBuilder(S requestBean) {
this.requestBean = requestBean;
}
public RequestContextBuilder requestPath(String requestPath) {
this.requestPath = requestPath;
return this;
}
public RequestContextBuilder parameters(MultiMap parameters) {
this.parameters = parameters;
return this;
}
public RequestContextBuilder headers(MultiMap headers) {
this.headers = headers;
return this;
}
public RequestContext build() {
return new DefaultRequestContext<>(requestPath, requestBean, parameters, headers);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy