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

io.automatiko.engine.addons.persistence.AbstractProcessInstancesFactory Maven / Gradle / Ivy

There is a newer version: 0.36.0
Show newest version
package io.automatiko.engine.addons.persistence;

import java.util.Optional;

import io.automatiko.engine.addons.persistence.dynamodb.DynamoDBProcessInstances;
import io.automatiko.engine.api.Model;
import io.automatiko.engine.api.workflow.Process;
import io.automatiko.engine.api.workflow.ProcessInstancesFactory;
import software.amazon.awssdk.services.dynamodb.DynamoDbClient;

/**
 * This class must always have exact FQCN as
 * io.automatiko.engine.addons.persistence.AbstractProcessInstancesFactory
 *
 */
public abstract class AbstractProcessInstancesFactory implements ProcessInstancesFactory {

    protected DynamoDbClient dynamodb;

    protected Optional createTables;

    protected Optional readCapacity;

    protected Optional writeCapacity;

    public AbstractProcessInstancesFactory() {
    }

    public AbstractProcessInstancesFactory(DynamoDbClient dynamodb, Optional createTables,
            Optional readCapacity, Optional writeCapacity) {
        this.dynamodb = dynamodb;
        this.createTables = createTables;
        this.readCapacity = readCapacity;
        this.writeCapacity = writeCapacity;
    }

    @SuppressWarnings("unchecked")
    public DynamoDBProcessInstances createProcessInstances(Process process) {
        return new DynamoDBProcessInstances((Process) process, dynamodb, codec(),
                transactionLogStore(), auditor(), createTables, readCapacity, writeCapacity);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy