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

com.daredayo.util.RollingSnapShot Maven / Gradle / Ivy

package com.daredayo.util;

import java.util.function.Function;

public interface RollingSnapShot{
	
	public void start(T instance);
	
	public default T effect(Function effector){
		return effector.apply(getSnapShot());
	}
	
	public T getSnapShot();
	
	public static class AbstractRolloingSnapShot implements RollingSnapShot{

		T instance;
		@Override
		public void start(T instance) {
			this.instance = instance;
		}

		@Override
		public T getSnapShot() {
			return instance;
		}
		
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy