![JAR search and dependency download from the Maven repository](/logo.png)
me.redtea.carcadex.repo.builder.RepoBuilder Maven / Gradle / Ivy
package me.redtea.carcadex.repo.builder;
import me.redtea.carcadex.repo.MutableRepo;
import me.redtea.carcadex.repo.builder.impl.RepoBuilderImpl;
import me.redtea.carcadex.schema.SchemaStrategy;
import me.redtea.carcadex.serializer.CommonSerializer;
import org.bukkit.plugin.Plugin;
import org.slf4j.Logger;
import java.io.File;
import java.nio.file.Path;
public interface RepoBuilder {
RepoBuilder folder(File folder);
RepoBuilder folder(String filename); //requires plugin. didnt need if dir set
RepoBuilder plugin(Plugin plugin);
RepoBuilder serializer(CommonSerializer serializer);
RepoBuilder binary(); //requires that V extends Serializable
RepoBuilder schema(SchemaStrategy schemaStrategy);
RepoBuilder logging();
RepoBuilder debugLogging();
RepoBuilder logging(Logger logger);
RepoBuilder debugLogging(Logger logger);
RepoBuilder autoSave(long period); //in milisec
RepoBuilder sync();
RepoBuilder cacheCollectionAll();
RepoBuilder concurrent();
MutableRepo build();
static RepoBuilder get() {
return new RepoBuilderImpl<>();
}
static RepoBuilder of(File folder) {
return RepoBuilder.get().folder(folder);
}
static RepoBuilder of(Path folder) {
return RepoBuilder.get().folder(folder.toFile());
}
static RepoBuilder of(Plugin plugin) {
return RepoBuilder.get().plugin(plugin);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy