Package org.erlide.util.event_tracer

Source Code of org.erlide.util.event_tracer.ErlideEventTracer

package org.erlide.util.event_tracer;

import org.erlide.util.IDisposable;
import org.erlide.util.event_tracer.ErlideCrashEvent;
import org.erlide.util.event_tracer.ErlideEvent;
import org.erlide.util.event_tracer.ErlideEventTracerHandler;
import org.erlide.util.event_tracer.ErlideOperationEndEvent;
import org.erlide.util.event_tracer.ErlideOperationStartEvent;
import org.erlide.util.event_tracer.ErlideResetEvent;
import org.erlide.util.event_tracer.ErlideSessionEvent;
import org.erlide.util.event_tracer.ErlideStatusEvent;
import org.erlide.util.event_tracer.NullEventHandler;

@SuppressWarnings("all")
public class ErlideEventTracer implements IDisposable {
  private final static ErlideEventTracer instance = new ErlideEventTracer();
 
  private final ErlideEventTracerHandler handler;
 
  public ErlideEventTracer() {
    final String tracerPath = System.getProperty("erlide.event_tracer");
    boolean _tripleEquals = (tracerPath == null);
    if (_tripleEquals) {
      NullEventHandler _nullEventHandler = new NullEventHandler();
      this.handler = _nullEventHandler;
    } else {
      ErlideEventTracerHandler _erlideEventTracerHandler = new ErlideEventTracerHandler(tracerPath);
      this.handler = _erlideEventTracerHandler;
    }
  }
 
  public void traceSession(final String workspace) {
    ErlideSessionEvent _erlideSessionEvent = new ErlideSessionEvent(workspace);
    this.trace(_erlideSessionEvent);
  }
 
  public void traceReset() {
    ErlideResetEvent _erlideResetEvent = new ErlideResetEvent();
    this.trace(_erlideResetEvent);
  }
 
  public void traceCrash(final String backend) {
    ErlideCrashEvent _erlideCrashEvent = new ErlideCrashEvent(backend);
    this.trace(_erlideCrashEvent);
  }
 
  public void traceStatus(final Object status) {
    ErlideStatusEvent _erlideStatusEvent = new ErlideStatusEvent(status);
    this.trace(_erlideStatusEvent);
  }
 
  public void traceOperationStart(final String operation, final Object id) {
    int _identityHashCode = System.identityHashCode(id);
    String _hexString = Integer.toHexString(_identityHashCode);
    ErlideOperationStartEvent _erlideOperationStartEvent = new ErlideOperationStartEvent(operation, _hexString);
    this.trace(_erlideOperationStartEvent);
  }
 
  public void traceOperationEnd(final String operation, final Object id) {
    int _identityHashCode = System.identityHashCode(id);
    String _hexString = Integer.toHexString(_identityHashCode);
    ErlideOperationEndEvent _erlideOperationEndEvent = new ErlideOperationEndEvent(operation, _hexString);
    this.trace(_erlideOperationEndEvent);
  }
 
  public void traceOperationStart(final Object id) {
    Class<?> _class = id.getClass();
    String _simpleName = _class.getSimpleName();
    this.traceOperationStart(_simpleName, id);
  }
 
  public void traceOperationEnd(final Object id) {
    Class<?> _class = id.getClass();
    String _simpleName = _class.getSimpleName();
    this.traceOperationEnd(_simpleName, id);
  }
 
  private void trace(final ErlideEvent event) {
    this.handler.handle(event);
  }
 
  public static ErlideEventTracer getInstance() {
    return ErlideEventTracer.instance;
  }
 
  public void dispose() {
    this.handler.dispose();
  }
}
TOP

Related Classes of org.erlide.util.event_tracer.ErlideEventTracer

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.