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

pl.chilldev.commons.aws.sns.NotificationHandler Maven / Gradle / Ivy

There is a newer version: 0.4.4
Show newest version
// Generated by delombok at Tue Oct 30 19:49:49 UTC 2018
/*
 * This file is part of the ChillDev-Commons.
 *
 * @license http://mit-license.org/ The MIT license
 * @copyright 2017 © by Rafał Wrzeszcz - Wrzasq.pl.
 */
package pl.chilldev.commons.aws.sns;

import java.util.function.Consumer;
import com.amazonaws.services.lambda.runtime.events.SNSEvent;

/**
 * SNS notifications handler.
 */
public class NotificationHandler {
    /**
     * Message consumer.
     */
    private Consumer messageHandler;

    /**
     * Processes event notification.
     *
     * @param event Notification message.
     */
    public void process(SNSEvent event) {
        // SNS event for lambda always contain one record, but keep it uniform
        event.getRecords().stream().map(SNSEvent.SNSRecord::getSNS).forEach(this.messageHandler);
    }

    @SuppressWarnings("all")
    public NotificationHandler(final Consumer messageHandler) {
        this.messageHandler = messageHandler;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy