// Path: examples/multi-db/key-gen/src/main/java/com/palominolabs/benchpress/example/multidb/key/KeyGeneratorFactory.java
// @ThreadSafe
// public interface KeyGeneratorFactory {
//     /**
//      * Should be called by each worker thread.
//      *
//      * @return a KeyGenerator
//      */
//     KeyGenerator getKeyGenerator();
// }
// 
// Path: examples/multi-db/key-gen/src/main/java/com/palominolabs/benchpress/example/multidb/key/KeyGeneratorFactoryFactoryRegistry.java
// public final class KeyGeneratorFactoryFactoryRegistry extends IdRegistry<KeyGeneratorFactoryFactory> {
// 
//     @Inject
//     KeyGeneratorFactoryFactoryRegistry(Set<KeyGeneratorFactoryFactory> instances) {
//         super(instances);
//     }
// }
// 
// Path: job/src/main/java/com/palominolabs/benchpress/job/task/ComponentFactory.java
// public interface ComponentFactory {
//     /**
//      * Read config data out of the config node using the supplied ObjectReader and create a TaskFactory.
//      *
//      * @return a configured task factory
//      */
//     @Nonnull
//     TaskFactory getTaskFactory();
// }
// 
// Path: examples/multi-db/value-gen/src/main/java/com/palominolabs/benchpress/example/multidb/value/ValueGeneratorFactory.java
// @NotThreadSafe
// public interface ValueGeneratorFactory {
//     ValueGenerator getValueGenerator();
// }
// 
// Path: examples/multi-db/value-gen/src/main/java/com/palominolabs/benchpress/example/multidb/value/ValueGeneratorFactoryFactoryRegistry.java
// public final class ValueGeneratorFactoryFactoryRegistry extends IdRegistry<ValueGeneratorFactoryFactory> {
// 
//     @Inject
//     ValueGeneratorFactoryFactoryRegistry(Set<ValueGeneratorFactoryFactory> instances) {
//         super(instances);
//     }
// }


import com.palominolabs.benchpress.example.multidb.key.KeyGeneratorFactory;
import com.palominolabs.benchpress.example.multidb.key.KeyGeneratorFactoryFactoryRegistry;
import com.palominolabs.benchpress.job.task.ComponentFactory;
import com.palominolabs.benchpress.example.multidb.value.ValueGeneratorFactory;
import com.palominolabs.benchpress.example.multidb.value.ValueGeneratorFactoryFactoryRegistry;
package com.palominolabs.benchpress.example.multidb.task;


public abstract class ComponentFactoryBase implements ComponentFactory {

    private final KeyGeneratorFactoryFactoryRegistry keyGeneratorFactoryFactoryRegistry;
    private final ValueGeneratorFactoryFactoryRegistry valueGeneratorFactoryFactoryRegistry;

    protected ComponentFactoryBase(KeyGeneratorFactoryFactoryRegistry keyGeneratorFactoryFactoryRegistry,
// Path: examples/multi-db/key-gen/src/main/java/com/palominolabs/benchpress/example/multidb/key/KeyGeneratorFactory.java
// @ThreadSafe
// public interface KeyGeneratorFactory {
//     /**
//      * Should be called by each worker thread.
//      *
//      * @return a KeyGenerator
//      */
//     KeyGenerator getKeyGenerator();
// }
// 
// Path: examples/multi-db/key-gen/src/main/java/com/palominolabs/benchpress/example/multidb/key/KeyGeneratorFactoryFactoryRegistry.java
// public final class KeyGeneratorFactoryFactoryRegistry extends IdRegistry<KeyGeneratorFactoryFactory> {
// 
//     @Inject
//     KeyGeneratorFactoryFactoryRegistry(Set<KeyGeneratorFactoryFactory> instances) {
//         super(instances);
//     }
// }
// 
// Path: job/src/main/java/com/palominolabs/benchpress/job/task/ComponentFactory.java
// public interface ComponentFactory {
//     /**
//      * Read config data out of the config node using the supplied ObjectReader and create a TaskFactory.
//      *
//      * @return a configured task factory
//      */
//     @Nonnull
//     TaskFactory getTaskFactory();
// }
// 
// Path: examples/multi-db/value-gen/src/main/java/com/palominolabs/benchpress/example/multidb/value/ValueGeneratorFactory.java
// @NotThreadSafe
// public interface ValueGeneratorFactory {
//     ValueGenerator getValueGenerator();
// }
// 
// Path: examples/multi-db/value-gen/src/main/java/com/palominolabs/benchpress/example/multidb/value/ValueGeneratorFactoryFactoryRegistry.java
// public final class ValueGeneratorFactoryFactoryRegistry extends IdRegistry<ValueGeneratorFactoryFactory> {
// 
//     @Inject
//     ValueGeneratorFactoryFactoryRegistry(Set<ValueGeneratorFactoryFactory> instances) {
//         super(instances);
//     }
// }


// Path: examples/multi-db/job-default-base/src/main/java/com/palominolabs/benchpress/example/multidb/task/ComponentFactoryBase.java
import com.palominolabs.benchpress.example.multidb.key.KeyGeneratorFactory;
import com.palominolabs.benchpress.example.multidb.key.KeyGeneratorFactoryFactoryRegistry;
import com.palominolabs.benchpress.job.task.ComponentFactory;
import com.palominolabs.benchpress.example.multidb.value.ValueGeneratorFactory;
import com.palominolabs.benchpress.example.multidb.value.ValueGeneratorFactoryFactoryRegistry;

package com.palominolabs.benchpress.example.multidb.task;


public abstract class ComponentFactoryBase implements ComponentFactory {

    private final KeyGeneratorFactoryFactoryRegistry keyGeneratorFactoryFactoryRegistry;
    private final ValueGeneratorFactoryFactoryRegistry valueGeneratorFactoryFactoryRegistry;

    protected ComponentFactoryBase(KeyGeneratorFactoryFactoryRegistry keyGeneratorFactoryFactoryRegistry,
        ValueGeneratorFactoryFactoryRegistry valueGeneratorFactoryFactoryRegistry) {