All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.undefinedlabs.scope.events.EventFieldsFactory Maven / Gradle / Ivy

package com.undefinedlabs.scope.events;

import com.undefinedlabs.scope.events.custom.CustomEvent;
import com.undefinedlabs.scope.events.custom.CustomEventFieldsFactory;
import com.undefinedlabs.scope.events.exception.ThrowableEvent;
import com.undefinedlabs.scope.events.exception.ThrowableEventFieldsFactory;
import com.undefinedlabs.scope.events.log.LogEvent;
import com.undefinedlabs.scope.events.log.LogEventFieldsFactory;
import java.util.Map;

public enum EventFieldsFactory {
  INSTANCE;

  private final ThrowableEventFieldsFactory throwableEventFieldsFactory;
  private final LogEventFieldsFactory logEventFieldsFactory;
  private final CustomEventFieldsFactory customEventFieldsFactory;

  EventFieldsFactory() {
    this.throwableEventFieldsFactory = new ThrowableEventFieldsFactory();
    this.logEventFieldsFactory = new LogEventFieldsFactory();
    this.customEventFieldsFactory = new CustomEventFieldsFactory();
  }

  public Map createFields(final LogEvent logEvent) {
    return this.logEventFieldsFactory.createFields(logEvent);
  }

  public Map createFields(final ThrowableEvent throwableEvent) {
    return this.throwableEventFieldsFactory.createFields(throwableEvent);
  }

  public Map createFields(final CustomEvent customEvent) {
    return this.customEventFieldsFactory.createFields(customEvent);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy