package org.erlide.backend.debug; import java.util.Collection; import org.eclipse.debug.core.DebugException; import org.erlide.backend.debug.events.DebuggerEvent; import org.erlide.backend.debug.events.DebuggerEventFactory; import org.erlide.backend.debug.model.ErlangDebugTarget; import org.erlide.util.ErlLogger; import com.ericsson.otp.erlang.OtpErlangObject; class DebugEventHandler { private final ErlangDebugTarget debugTarget; DebugEventHandler(final ErlangDebugTarget erlangDebugTarget) { debugTarget = erlangDebugTarget; } public void handleMessages(final Collection<OtpErlangObject> messages) { for (final OtpErlangObject message : messages) { try { handleMessage(message); } catch (final Exception e) { ErlLogger.info(e); } } } private void handleMessage(final OtpErlangObject message) throws DebugException { final DebuggerEvent event = DebuggerEventFactory.parse(message); event.execute(debugTarget); } }