package com.novoda.downloadmanager;

import android.app.Notification;
import android.support.v4.app.NotificationCompat;

public interface NotificationCustomizer<T> {

    NotificationDisplayState notificationDisplayState(T payload);

    Notification customNotificationFrom(NotificationCompat.Builder builder, T payload);

    enum NotificationDisplayState {
        SINGLE_PERSISTENT_NOTIFICATION,
        STACK_NOTIFICATION_NOT_DISMISSIBLE,
        STACK_NOTIFICATION_DISMISSIBLE,
        HIDDEN_NOTIFICATION
    }
}

@@ -223,24 +223,393 @@
  payload);%0A%0A
+    /**%0A     * Create a custom %7B@link Notification%7D from the given %7B@link NotificationCompat.Builder%7D and payload.%0A     *%0A     * @param builder the base %7B@link NotificationCompat.Builder%7D to build the %7B@link Notification%7D from.%0A     * @param payload the information to add to the %7B@link Notification%7D.%0A     * @return the custom %7B@link Notification%7D to display.%0A     */%0A
     Notifica

Add javadoc to the NotificationCustomizer.