kaphein.ulid.EpochMilliSupplier Maven / Gradle / Ivy
The newest version!
package kaphein.ulid;
/**
*
* An interface for a supplier that supplies a value of milliseconds from
* {@code 1970-01-01T00:00:00Z}.
*
*
* It is strongly recommended that implementation classes are thread-safe.
*
*
* @author Hydrawisk793
*/
public interface EpochMilliSupplier
{
/**
*
* Gets a current value of milliseconds from {@code 1970-01-01T00:00:00Z}.
*
*
* If no value is available, an exception will be thrown.
*
*
* Usually, the result should be same as the return value of
* {@link System#currentTimeMillis()}. But implementations may return
* different values depending on their requirements.
*
*
* @return A value of milliseconds from {@code 1970-01-01T00:00:00Z}.
*/
long get();
}