1 package net.pterodactylus.sone.data.impl;
3 import net.pterodactylus.sone.data.Sone;
4 import net.pterodactylus.sone.database.Database;
5 import net.pterodactylus.sone.database.SoneBuilder;
7 import com.google.common.base.Optional;
10 * {@link SoneBuilder} implementation that can create {@link DefaultSone}s.
12 * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
14 public class DefaultSoneBuilder extends AbstractSoneBuilder {
16 private final Database database;
18 public DefaultSoneBuilder(Database database) {
19 this.database = database;
23 public Sone build(Optional<SoneCreated> soneCreated) throws IllegalStateException {
25 Sone sone = new DefaultSone(database, id, local, client);
26 if (soneCreated.isPresent()) {
27 soneCreated.get().soneCreated(sone);