• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

TrueLayer / truelayer-java / #102

14 Jan 2025 08:54AM UTC coverage: 89.662% (-0.2%) from 89.888%
#102

Pull #337

github

dili91
simplification
Pull Request #337: [ACL-263] Caching improvements

20 of 21 new or added lines in 5 files covered. (95.24%)

20 existing lines in 2 files now uncovered.

477 of 532 relevant lines covered (89.66%)

0.9 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

74.19
/src/main/java/com/truelayer/java/TrueLayerClient.java
1
package com.truelayer.java;
2

3
import com.truelayer.java.auth.IAuthenticationHandler;
4
import com.truelayer.java.commonapi.ICommonHandler;
5
import com.truelayer.java.commonapi.entities.SubmitPaymentsProviderReturnRequest;
6
import com.truelayer.java.commonapi.entities.SubmitPaymentsProviderReturnResponse;
7
import com.truelayer.java.hpp.IHostedPaymentPageLinkBuilder;
8
import com.truelayer.java.http.entities.ApiResponse;
9
import com.truelayer.java.mandates.IMandatesHandler;
10
import com.truelayer.java.merchantaccounts.IMerchantAccountsHandler;
11
import com.truelayer.java.payments.IPaymentsHandler;
12
import com.truelayer.java.paymentsproviders.IPaymentsProvidersHandler;
13
import com.truelayer.java.payouts.IPayoutsHandler;
14
import com.truelayer.java.signupplus.ISignupPlusHandler;
15
import java.util.concurrent.CompletableFuture;
16
import lombok.AllArgsConstructor;
17
import org.apache.commons.lang3.ObjectUtils;
18

19
/**
20
 * Main class that holds TrueLayer API client. Should be built with the help of its builder
21
 * class. Acts as entrypoint for the Java client library capabilities.
22
 *
23
 * @see TrueLayerClientBuilder
24
 */
25
@AllArgsConstructor
26
public class TrueLayerClient implements ITrueLayerClient {
27

28
    private IAuthenticationHandler authenticationHandler;
29
    private IPaymentsHandler paymentsHandler;
30
    private IPaymentsProvidersHandler paymentsProvidersHandler;
31
    private IMerchantAccountsHandler merchantAccountsHandler;
32
    private IMandatesHandler mandatesHandler;
33
    private IPayoutsHandler payoutsHandler;
34
    private ISignupPlusHandler signupPlusHandler;
35
    private ICommonHandler commonHandler;
36

37
    /**
38
     * @deprecated - use {@link #hostedPaymentPageLinkBuilder} instead.
39
     */
40
    @Deprecated
41
    private IHostedPaymentPageLinkBuilder hppLinkBuilder;
42

43
    private HostedPaymentPageLinkBuilder hostedPaymentPageLinkBuilder;
44

45
    public TrueLayerClient(
46
            IAuthenticationHandler authenticationHandler,
47
            IHostedPaymentPageLinkBuilder hostedPaymentPageLinkBuilder,
48
            ICommonHandler commonHandler,
49
            ISignupPlusHandler signupPlusHandler,
50
            HostedPaymentPageLinkBuilder hppLinkBuilder) {
1✔
51
        this.authenticationHandler = authenticationHandler;
1✔
52
        this.hppLinkBuilder = hostedPaymentPageLinkBuilder;
1✔
53
        this.commonHandler = commonHandler;
1✔
54
        this.signupPlusHandler = signupPlusHandler;
1✔
55
        this.hostedPaymentPageLinkBuilder = hppLinkBuilder;
1✔
56
    }
1✔
57

58
    /**
59
     * Static utility to return a builder instance.
60
     * @return an instance of the TrueLayer API client builder.
61
     */
62
    public static TrueLayerClientBuilder New() {
63
        return new TrueLayerClientBuilder();
1✔
64
    }
65

66
    /**
67
     * {@inheritDoc}
68
     */
69
    @Override
70
    public IAuthenticationHandler auth() {
71
        return this.authenticationHandler;
1✔
72
    }
73

74
    /**
75
     * {@inheritDoc}
76
     */
77
    @Override
78
    public IPaymentsHandler payments() {
79
        if (ObjectUtils.isEmpty(paymentsHandler)) {
1✔
80
            throw buildInitializationException("payments");
1✔
81
        }
82
        return paymentsHandler;
1✔
83
    }
84

85
    /**
86
     * {@inheritDoc}
87
     */
88
    @Override
89
    public IPaymentsProvidersHandler paymentsProviders() {
UNCOV
90
        if (ObjectUtils.isEmpty(paymentsProvidersHandler)) {
×
UNCOV
91
            throw buildInitializationException("payment providers");
×
92
        }
UNCOV
93
        return paymentsProvidersHandler;
×
94
    }
95

96
    /**
97
     * {@inheritDoc}
98
     */
99
    @Override
100
    public IMerchantAccountsHandler merchantAccounts() {
101
        if (ObjectUtils.isEmpty(merchantAccountsHandler)) {
1✔
102
            throw buildInitializationException("merchant accounts");
1✔
103
        }
104
        return merchantAccountsHandler;
1✔
105
    }
106

107
    @Override
108
    public IMandatesHandler mandates() {
109
        if (ObjectUtils.isEmpty(mandatesHandler)) {
1✔
110
            throw buildInitializationException("mandates");
1✔
111
        }
112
        return mandatesHandler;
1✔
113
    }
114

115
    @Override
116
    public IPayoutsHandler payouts() {
117
        if (ObjectUtils.isEmpty(payoutsHandler)) {
1✔
118
            throw buildInitializationException("payouts");
1✔
119
        }
120
        return payoutsHandler;
1✔
121
    }
122

123
    @Override
124
    public ISignupPlusHandler signupPlus() {
UNCOV
125
        if (ObjectUtils.isEmpty(signupPlusHandler)) {
×
UNCOV
126
            throw buildInitializationException("signup plus");
×
127
        }
UNCOV
128
        return signupPlusHandler;
×
129
    }
130

131
    /**
132
     * {@inheritDoc}
133
     */
134
    @Override
135
    @Deprecated
136
    public IHostedPaymentPageLinkBuilder hpp() {
UNCOV
137
        return this.hppLinkBuilder;
×
138
    }
139

140
    @Override
141
    public HostedPaymentPageLinkBuilder hppLinkBuilder() {
142
        return this.hostedPaymentPageLinkBuilder;
1✔
143
    }
144

145
    /**
146
     * {@inheritDoc}
147
     */
148
    @Override
149
    public CompletableFuture<ApiResponse<SubmitPaymentsProviderReturnResponse>> submitPaymentReturnParameters(
150
            SubmitPaymentsProviderReturnRequest request) {
UNCOV
151
        return commonHandler.submitPaymentReturnParameters(request);
×
152
    }
153

154
    private TrueLayerException buildInitializationException(String handlerName) {
155
        return new TrueLayerException(String.format(
1✔
156
                "%s handler not initialized."
157
                        + " Make sure you specified the required signing options while initializing the library",
158
                handlerName));
159
    }
160
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc