View Javadoc
1   package org.kuali.common.util.runonce.smart;
2   
3   public interface RunOnce {
4   
5   	/**
6   	 * Do whatever is needed for isTrue() to return the correct value
7   	 */
8   	void initialize();
9   
10  	/**
11  	 * Indicates it is safe to run something once.
12  	 */
13  	boolean isTrue();
14  
15  	/**
16  	 * Update state in a way that persists across JVM restarts (eg database table, properties file, etc)
17  	 */
18  	void changeState(RunOnceState state);
19  
20  }