package sk.stuba.fiit.perconik.eclipse.debug.core; import java.util.Set; import org.eclipse.debug.core.DebugEvent; import sk.stuba.fiit.perconik.eclipse.jdt.core.JavaElementDeltaFlag; import sk.stuba.fiit.perconik.utilities.constant.IntegralConstant; import sk.stuba.fiit.perconik.utilities.constant.IntegralConstantSupport; /** * Debug event details. * * @see DebugEvent * * @author Pavol Zbell * @since 1.0 */ public enum DebugEventDetail implements IntegralConstant { /** * @see DebugEvent#STEP_INTO */ STEP_INTO(DebugEvent.STEP_INTO), /** * @see DebugEvent#STEP_OVER */ STEP_OVER(DebugEvent.STEP_OVER), /** * @see DebugEvent#STEP_RETURN */ STEP_RETURN(DebugEvent.STEP_RETURN), /** * @see DebugEvent#STEP_END */ STEP_END(DebugEvent.STEP_END), /** * @see DebugEvent#BREAKPOINT */ BREAKPOINT(DebugEvent.BREAKPOINT), /** * @see DebugEvent#CLIENT_REQUEST */ CLIENT_REQUEST(DebugEvent.CLIENT_REQUEST), /** * @see DebugEvent#EVALUATION */ EVALUATION(DebugEvent.EVALUATION), /** * @see DebugEvent#EVALUATION_IMPLICIT */ EVALUATION_IMPLICIT(DebugEvent.EVALUATION_IMPLICIT), /** * @see DebugEvent#STATE */ STATE(DebugEvent.STATE), /** * @see DebugEvent#CONTENT */ CONTENT(DebugEvent.CONTENT); private static final IntegralConstantSupport<DebugEventDetail> integers = IntegralConstantSupport.of(DebugEventDetail.class); private final int value; private DebugEventDetail(final int value) { this.value = value; } public static Set<Integer> valuesAsIntegers() { return integers.getIntegers(); } public static int valuesAsInteger() { return integers.getConstantsAsInteger(); } public static int valuesAsInteger(final Set<JavaElementDeltaFlag> values) { return IntegralConstantSupport.constantsAsInteger(values); } public static DebugEventDetail valueOf(final int value) { return integers.getConstant(value); } public static Set<DebugEventDetail> setOf(final int values) { return integers.getConstants(values); } public int getValue() { return this.value; } }