package org.aksw.jena_sparql_api.update;
import java.util.function.Function;
import org.aksw.jena_sparql_api.core.SparqlService;
import org.aksw.jena_sparql_api.core.SparqlServiceFactory;
import org.apache.http.client.HttpClient;
import org.apache.jena.sparql.core.DatasetDescription;
public class SparqlServiceFactoryTransform
implements SparqlServiceFactory
{
protected SparqlServiceFactory delegate;
protected Function<SparqlService, SparqlService> transform;
public SparqlServiceFactoryTransform(SparqlServiceFactory delegate, Function<SparqlService, SparqlService> transform) {
this.delegate = delegate;
this.transform = transform;
}
@Override
public SparqlService createSparqlService(String serviceUri,
DatasetDescription datasetDescription, HttpClient httpClient) {
SparqlService raw = delegate.createSparqlService(serviceUri, datasetDescription, httpClient);
SparqlService r = transform.apply(raw);
return r;
}
}