io.vlingo.lattice.model.projection.MultiConfirming Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of vlingo-lattice Show documentation
Show all versions of vlingo-lattice Show documentation
Tooling for reactive Domain-Driven Design projects that are highly concurrent. Includes compute grid, actor caching, spaces, cross-node cluster messaging, CQRS, and Event Sourcing support.
// Copyright © 2012-2020 VLINGO LABS. All rights reserved.
//
// This Source Code Form is subject to the terms of the
// Mozilla Public License, v. 2.0. If a copy of the MPL
// was not distributed with this file, You can obtain
// one at https://mozilla.org/MPL/2.0/.
package io.vlingo.lattice.model.projection;
import java.util.List;
import io.vlingo.common.Completes;
/**
* Manages the multiple confirmations of {@code Projectable}s until the full
* count are virtually confirmed, after which the actual confirmation is performed.
*/
public interface MultiConfirming {
static final long DefaultExpirationLimit = 3000;
/**
* Include the {@code projectable} to manage its confirmations to {@code count} times
* and then perform the actual confirmation.
* @param projectable the Projectable to manage
* @param count the int number of times that confirmation must occur for final confirmation
*/
void manageConfirmationsFor(final Projectable projectable, final int count);
/**
* Answer a {@code List} of managed {@code Projectable}s within a {@code Completes>}.
* @return {@code Completes>}
*/
Completes> managedConfirmations();
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy