package io.searchbox.snapshot; import io.searchbox.action.GenericResultAbstractAction; /** * @author ckeser */ public abstract class AbstractSnapshotRepositoryAction extends GenericResultAbstractAction { private String repositories; protected AbstractSnapshotRepositoryAction(RepositoryBuilder builder) { super(builder); this.repositories = builder.getRepositories(); setURI(buildURI()); } @Override protected String buildURI() { return super.buildURI() + "/_snapshot/" + repositories; } public abstract static class RepositoryBuilder<T extends AbstractSnapshotRepositoryAction, K> extends Builder<T, K> { protected abstract String getRepositories(); } public abstract static class SingleRepositoryBuilder<T extends AbstractSnapshotRepositoryAction, K> extends RepositoryBuilder<T, K> { private String repository; public SingleRepositoryBuilder(String repository) { this.repository = repository; } protected String getRepositories() { return repository; } } }