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

com.metamx.emitter.core.factory.EmitterFactory Maven / Gradle / Ivy

There is a newer version: 1.3.8
Show newest version
package com.metamx.emitter.core.factory;

import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.metamx.common.lifecycle.Lifecycle;
import com.metamx.emitter.core.Emitter;
import org.asynchttpclient.AsyncHttpClient;

@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type")
@JsonSubTypes(value = {
    @JsonSubTypes.Type(name = "http", value = HttpEmitterFactory.class),
    @JsonSubTypes.Type(name = "logging", value = LoggingEmitterFactory.class),
    @JsonSubTypes.Type(name = "parametrized", value = ParametrizedUriEmitterFactory.class),
    @JsonSubTypes.Type(name = "noop", value = NoopEmiterFactory.class),
})
public interface EmitterFactory
{
  Emitter makeEmitter(ObjectMapper objectMapper, AsyncHttpClient httpClient, Lifecycle lifecycle);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy