package name.abuchen.portfolio;
import java.util.UUID;
import name.abuchen.portfolio.model.Classification;
import name.abuchen.portfolio.model.Client;
import name.abuchen.portfolio.model.Taxonomy;
public class TaxonomyBuilder
{
private Taxonomy taxonomy;
public TaxonomyBuilder()
{
String uuid = UUID.randomUUID().toString();
this.taxonomy = new Taxonomy(uuid, uuid);
Classification root = new Classification(uuid, uuid);
taxonomy.setRootNode(root);
}
public TaxonomyBuilder addClassification(String id)
{
return addClassificaiton(taxonomy.getRoot(), id);
}
public TaxonomyBuilder addClassification(String parent, String id)
{
return addClassificaiton(taxonomy.getClassificationById(parent), id);
}
private TaxonomyBuilder addClassificaiton(Classification parent, String id)
{
Classification c = new Classification(parent, id, id);
parent.addChild(c);
return this;
}
public Taxonomy addTo(Client client)
{
client.addTaxonomy(taxonomy);
return taxonomy;
}
}