Package name.abuchen.portfolio

Source Code of name.abuchen.portfolio.TaxonomyBuilder

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;
    }

}
TOP

Related Classes of name.abuchen.portfolio.TaxonomyBuilder

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.