package com.faforever.client.mod;
import java.net.MalformedURLException;
import java.net.URL;
import java.time.LocalDateTime;
import java.util.UUID;
public class ModInfoBeanBuilder {
private final ModInfoBean modInfo;
public ModInfoBeanBuilder() {
modInfo = new ModInfoBean();
}
public ModInfoBeanBuilder defaultValues() {
modInfo.setPublishDate(LocalDateTime.now());
uid(UUID.randomUUID().toString());
return this;
}
public ModInfoBeanBuilder uid(String uid) {
modInfo.setId(uid);
return this;
}
public ModInfoBean get() {
return modInfo;
}
public ModInfoBeanBuilder downloadUrl(URL url) throws MalformedURLException {
modInfo.setDownloadUrl(url);
return this;
}
public ModInfoBeanBuilder uiMod(boolean uiOnly) {
modInfo.setUiOnly(uiOnly);
return this;
}
public ModInfoBeanBuilder name(String name) {
modInfo.setName(name);
return this;
}
public ModInfoBeanBuilder author(String author) {
modInfo.setAuthor(author);
return this;
}
public ModInfoBeanBuilder thumbnailUrl(String thumbnailUrl) {
modInfo.setThumbnailUrl(thumbnailUrl);
return this;
}
public static ModInfoBeanBuilder create() {
return new ModInfoBeanBuilder();
}
}