summaryrefslogtreecommitdiff
path: root/src/main/java/com/p4square/grow/frontend/IntegrationDriver.java
blob: 8ea2600e677ccd987307510e2a3f2844ef85614d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package com.p4square.grow.frontend;

import org.restlet.security.Verifier;

/**
 * An IntegrationDriver is used to create implementations of various objects
 * used to integration Grow with a particular Church Management System.
 */
public interface IntegrationDriver {

    /**
     * Create a new Restlet Verifier to authenticate users when they login to the site.
     *
     * @return A Verifier.
     */
    Verifier newUserAuthenticationVerifier();

    /**
     * Return a ProgressReporter for this Church Management System.
     *
     * The ProgressReporter should be thread-safe.
     *
     * @return The ProgressReporter.
     */
    ProgressReporter getProgressReporter();

    /**
     * Check if the IntegrationDriver is configured correctly and working.
     *
     * This method should try to contact the CMS to ensure endpoints,
     * credentials, etc. are working correctly.
     *
     * @return true for success.
     */
    boolean doHealthCheck();
}