com.wavefront.agent.handlers.ReportableEntityHandlerFactory Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of proxy-test Show documentation
Show all versions of proxy-test Show documentation
Service for batching and relaying metric traffic to Wavefront
package com.wavefront.agent.handlers;
import com.wavefront.data.ReportableEntityType;
import javax.annotation.Nonnull;
/**
* Factory for {@link ReportableEntityHandler} objects.
*
* @author [email protected]
*/
public interface ReportableEntityHandlerFactory {
/**
* Create, or return existing, {@link ReportableEntityHandler}.
*
* @param handlerKey unique identifier for the handler.
* @return new or existing handler.
*/
ReportableEntityHandler getHandler(HandlerKey handlerKey);
/**
* Create, or return existing, {@link ReportableEntityHandler}.
*
* @param entityType ReportableEntityType for the handler.
* @param handle handle.
* @return new or existing handler.
*/
default ReportableEntityHandler getHandler(
ReportableEntityType entityType, String handle) {
return getHandler(HandlerKey.of(entityType, handle));
}
/**
* Shutdown pipeline for a specific handle.
*/
void shutdown(@Nonnull String handle);
}