org.multiverse.api.TraceLevel Maven / Gradle / Ivy
package org.multiverse.api;
/**
* Using the TraceLevel you get some feedback on what is happening inside a transaction.
*
* For tracing to work, you need to look at {@link org.multiverse.MultiverseConstants#TRACING_ENABLED}. If not enabled,
* the JIT will remove dead code because we don't want any overhead.
*
* @author Peter Veentjer
* @see TxnFactoryBuilder#setTraceLevel(TraceLevel)
* @see TxnConfig#getTraceLevel()
*/
public enum TraceLevel {
None, Coarse;
/**
* Checks if the provided level is higher than this TraceLevel.
*
* @param level the TraceLevel to check
* @return true if level is higher or equal than this TraceLevel.
* @throws NullPointerException if level is null.
*/
public boolean isLoggableFrom(TraceLevel level) {
if(level == null){
throw new NullPointerException();
}
return compareTo(level) >= 0;
}
}