// Path: src/main/java/com/exmertec/dummie/configuration/CycleLogic.java
// public enum CycleLogic {
//     LEVEL, CYCLE
// }
// 
// Path: src/main/java/com/exmertec/dummie/configuration/GenerationStrategy.java
// public enum GenerationStrategy {
//     DEFAULT, RANDOM
// }


import com.exmertec.dummie.configuration.CycleLogic;
import com.exmertec.dummie.configuration.GenerationStrategy;
package com.exmertec.dummie;


public class Dummie {
    public static <T> T create(Class<T> type) {
        return prepare(type).build();
    }

    public static <T> DummyBuilder<T> prepare(Class<T> type) {
        return new DummyBuilderFactory().prepare(type);
    }

    public static DummyBuilderFactory cycleLogic(CycleLogic logic) {
        DummyBuilderFactory factory = new DummyBuilderFactory();
        factory.cycleLogic(logic);
        return factory;
    }

// Path: src/main/java/com/exmertec/dummie/configuration/CycleLogic.java
// public enum CycleLogic {
//     LEVEL, CYCLE
// }
// 
// Path: src/main/java/com/exmertec/dummie/configuration/GenerationStrategy.java
// public enum GenerationStrategy {
//     DEFAULT, RANDOM
// }


// Path: src/main/java/com/exmertec/dummie/Dummie.java
import com.exmertec.dummie.configuration.CycleLogic;
import com.exmertec.dummie.configuration.GenerationStrategy;

package com.exmertec.dummie;


public class Dummie {
    public static <T> T create(Class<T> type) {
        return prepare(type).build();
    }

    public static <T> DummyBuilder<T> prepare(Class<T> type) {
        return new DummyBuilderFactory().prepare(type);
    }

    public static DummyBuilderFactory cycleLogic(CycleLogic logic) {
        DummyBuilderFactory factory = new DummyBuilderFactory();
        factory.cycleLogic(logic);
        return factory;
    }

    public static DummyBuilderFactory withStrategy(GenerationStrategy strategy) {