package io.searchbox.snapshot; import com.google.common.base.Joiner; import java.util.Collection; import java.util.LinkedHashSet; import java.util.Set; /** * @author happyprg(hongsgo@gmail.com) */ public class GetSnapshotRepository extends AbstractSnapshotRepositoryAction { protected GetSnapshotRepository(Builder builder) { super(builder); } @Override public String getRestMethodName() { return "GET"; } public static class Builder extends AbstractSnapshotRepositoryAction.RepositoryBuilder<GetSnapshotRepository, Builder> { private Set<String> repositories = new LinkedHashSet<String>(); public Builder() { } public Builder(String repository) { this.repositories.add(repository); } public Builder(Collection<? extends String> repositories) { this.repositories.addAll(repositories); } public Builder addRepository(Collection<? extends String> repositories) { this.repositories.addAll(repositories); return this; } @Override public GetSnapshotRepository build() { return new GetSnapshotRepository(this); } @Override protected String getRepositories() { if (repositories.isEmpty()) { return "_all"; } else { return Joiner.on(',').join(repositories); } } } }