IdentifierSupplier.java

package org.codefilarete.stalactite.engine.idprovider;

import java.util.function.Supplier;

/**
 * Implementation based on {@link Supplier}
 * 
 * @author Guillaume Mary
 */
public class IdentifierSupplier<T> implements IdentifierProvider<T> {
	
	private final Supplier<T> delegateSupplier;
	
	public IdentifierSupplier(Supplier<T> delegateSupplier) {
		this.delegateSupplier = delegateSupplier;
	}
	
	@Override
	public final T giveNewIdentifier() {
		return delegateSupplier.get();
	}
}