All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ldes.client.treenodefetcher.domain.valueobjects.TreeNodeRequest Maven / Gradle / Ivy

package ldes.client.treenodefetcher.domain.valueobjects;

import be.vlaanderen.informatievlaanderen.ldes.ldi.requestexecutor.valueobjects.GetRequest;
import be.vlaanderen.informatievlaanderen.ldes.ldi.requestexecutor.valueobjects.Request;
import be.vlaanderen.informatievlaanderen.ldes.ldi.requestexecutor.valueobjects.RequestHeader;
import be.vlaanderen.informatievlaanderen.ldes.ldi.requestexecutor.valueobjects.RequestHeaders;
import org.apache.http.HttpHeaders;
import org.apache.jena.riot.Lang;

/**
 * Contains the endpoint to connect to the server. This can only be a fragment
 */
public class TreeNodeRequest {
	private final String treeNodeUrl;
	private final Lang lang;

	private final String etag;

	public TreeNodeRequest(String treeNodeUrl, Lang lang, String etag) {
		this.treeNodeUrl = treeNodeUrl;
		this.lang = lang;
		this.etag = etag;
	}

	public Request createRequest() {
		RequestHeaders requestHeaders = RequestHeaders.of(
				new RequestHeader(HttpHeaders.ACCEPT, lang.getHeaderString()),
				new RequestHeader(HttpHeaders.ACCEPT_ENCODING, "gzip")
		);
		if (etag != null) {
			requestHeaders = requestHeaders.withRequestHeader(new RequestHeader(HttpHeaders.IF_NONE_MATCH, etag));
		}
		return new GetRequest(treeNodeUrl, requestHeaders);
	}

	public Lang getLang() {
		return lang;
	}

	public String getTreeNodeUrl() {
		return treeNodeUrl;
	}

	@Override
	public String toString() {
		return "TreeNodeRequest{" +
				"treeNodeUrl='" + treeNodeUrl + '\'' +
				", lang=" + lang +
				", etag='" + etag + '\'' +
				'}';
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy