1 package com.atlassian.johnson.event; 2 3 import javax.annotation.Nullable; 4 5 import static com.atlassian.johnson.event.EventLevel.ERROR; 6 import static com.atlassian.johnson.event.EventLevel.FATAL; 7 import static com.atlassian.johnson.event.EventLevel.WARNING; 8 import static com.atlassian.johnson.event.EventLevel.get; 9 10 /** 11 * Commonly-used {@link EventLevel}s. This is more typesafe than using the Strings in that class. 12 * 13 * This is not an enum because the levels can't be loaded until Johnson is initialised. 14 * 15 * @since 3.2 16 */ 17 public final class EventLevels { 18 19 /** 20 * Returns the {@link EventLevel#FATAL} event level. 21 * 22 * @return null if no such level is defined 23 * @throws IllegalStateException if Johnson has not been initialised 24 * @since 3.2 25 */ 26 @Nullable 27 public static EventLevel fatal() { 28 return get(FATAL); 29 } 30 31 /** 32 * Returns the {@link EventLevel#ERROR} event level. 33 * 34 * @return null if no such level is defined 35 * @throws IllegalStateException if Johnson has not been initialised 36 * @since 3.2 37 */ 38 @Nullable 39 public static EventLevel error() { 40 return get(ERROR); 41 } 42 43 /** 44 * Returns the {@link EventLevel#WARNING} event level. 45 * 46 * @return null if no such level is defined 47 * @throws IllegalStateException if Johnson has not been initialised 48 * @since 3.2 49 */ 50 @Nullable 51 public static EventLevel warning() { 52 return get(WARNING); 53 } 54 55 private EventLevels() {} 56 }