org.aksw.commons.util.slot.SlottedBuilder Maven / Gradle / Ivy
package org.aksw.commons.util.slot;
/**
* Interface where a whole is created from parts, whereas these parts
* are requested from different contributors.
*
* Contributors request slots into which they can place a supplier for the part they wish to contribute.
* Slots should be released via {@link Slot#close()}.
*
* The whole can be repeatedly assembled using {@link #build()} thereby reflecting the latest state of the parts.
* During assembly null values on supplies and contributions are ignored.
*
* Thread safety depends on the implementation.
*
* @author raven
*
* @param The type of the whole to be created
* @param The type of the parts that are contributed
*/
public interface SlottedBuilder
extends SlotSource
{
W build();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy