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

com.netflix.suro.routing.MessageConverter Maven / Gradle / Ivy

The newest version!
package com.netflix.suro.routing;

import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.netflix.suro.message.MessageContainer;

/**
 * Converts an {@link com.netflix.suro.message.MessageContainer} to a Java object that is suitable
 * for filtering by {@link XPathFilter}
 */
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type")
@JsonSubTypes(value = {
    @JsonSubTypes.Type(name = JsonMapConverter.TYPE, value = JsonMapConverter.class),
})
public interface MessageConverter {
    /**
     * Converts the message in the given message container to an object of type T
     * @param message The message container that contains the message to be converted.
     *
     * @return Converted object from the given message container
     */
    public T convert(MessageContainer message);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy