All Downloads are FREE. Search and download functionalities are using the official Maven repository.

uk.co.caeldev.builder4test.EntityBuilder Maven / Gradle / Ivy

There is a newer version: 0.2.1
Show newest version
package uk.co.caeldev.builder4test;

import java.util.Map;
import java.util.Optional;

public class EntityBuilder {

    private final Creator creator;
    private final LookUp lookUp;

    private EntityBuilder(Creator creator) {
        this.creator = creator;
        this.lookUp = new DefaultLookUp();
    }

    private EntityBuilder(Creator creator, Map fields) {
        this.creator = creator;
        this.lookUp = new DefaultLookUp(fields);
    }

    private EntityBuilder(Creator creator, LookUp lookUp) {
        this.creator = creator;
        this.lookUp = lookUp;
    }

    protected static  EntityBuilder entityBuilder(Creator Creator, Map fields) {
        return new EntityBuilder<>(Creator, fields);
    }

    protected static  EntityBuilder entityBuilder(Creator Creator) {
        return new EntityBuilder<>(Creator);
    }

    protected static  EntityBuilder entityBuilder(Creator Creator, LookUp lookUp) {
        return new EntityBuilder<>(Creator, lookUp);
    }

    public  EntityBuilder override(Field field, V value) {
        lookUp.put(field, value);
        return this;
    }

    public K get() {
        return creator.build(lookUp);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy