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

uk.co.mruoc.camunda.client.process.get.ProcessInstancesResponse Maven / Gradle / Ivy

The newest version!
package uk.co.mruoc.camunda.client.process.get;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import java.util.Collection;
import java.util.Iterator;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
import lombok.Data;

@Data
public class ProcessInstancesResponse implements Iterable {

    private final Collection values;

    @JsonCreator
    public ProcessInstancesResponse(Collection values) {
        this.values = values;
    }

    @Override
    public Iterator iterator() {
        return values.iterator();
    }

    @JsonIgnore
    public Map getBusinessKeyToProcessInstanceIdMap() {
        return values.stream().collect(Collectors.toMap(ProcessInstance::getBusinessKey, ProcessInstance::getId));
    }

    @JsonIgnore
    public int getNumberOfProcessInstances() {
        return values.size();
    }

    @JsonIgnore
    public Optional getFirstProcessInstance() {
        return values.stream().findFirst();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy