package org.ovirt.engine.api.restapi.rsdl; import org.ovirt.engine.api.model.Body; import org.ovirt.engine.api.model.DetailedLink; import org.ovirt.engine.api.model.HttpMethod; import org.ovirt.engine.api.model.Link; import org.ovirt.engine.api.model.Request; import org.ovirt.engine.api.model.Response; public class LinkBuilder { private DetailedLink detailedLink = new DetailedLink();; public LinkBuilder url(String url) { detailedLink.setHref(url); return this; } public LinkBuilder rel(String rel) { detailedLink.setRel(rel); return this; } public LinkBuilder requestParameter(final String requestParameter) { detailedLink.setRequest(new Request()); detailedLink.getRequest().setBody(new Body(){{setType(requestParameter);}}); return this; } public LinkBuilder responseType(final String responseType) { detailedLink.setResponse(new Response(){{setType(responseType);}}); return this; } public LinkBuilder httpMethod(HttpMethod httpMethod) { if(!detailedLink.isSetRequest()) { detailedLink.setRequest(new Request()); } detailedLink.getRequest().setHttpMethod(httpMethod); return this; } public Link build() { return detailedLink; } }