001package co.codewizards.cloudstore.rest.client.request; 002 003import static java.util.Objects.*; 004 005import javax.ws.rs.client.WebTarget; 006import javax.ws.rs.core.MediaType; 007 008import co.codewizards.cloudstore.core.dto.RepoFileDto; 009 010public class GetRepoFileDto extends AbstractRequest<RepoFileDto> { 011 private final String repositoryName; 012 private final String path; 013 014 public GetRepoFileDto(final String repositoryName, final String path) { 015 this.repositoryName = requireNonNull(repositoryName, "repositoryName"); 016 this.path = path; 017 } 018 019 @Override 020 public RepoFileDto execute() { 021 final WebTarget webTarget = createWebTarget(getPath(RepoFileDto.class), urlEncode(repositoryName), encodePath(path)); 022 final RepoFileDto repoFileDto = assignCredentials(webTarget.request(MediaType.APPLICATION_XML)).get(RepoFileDto.class); 023 return repoFileDto; 024 } 025 026 @Override 027 public boolean isResultNullable() { 028 return true; 029 } 030 031}