1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package com.linecorp.centraldogma.server.internal.admin.auth;
17
18 import static java.util.Objects.requireNonNull;
19
20 import java.util.concurrent.CompletableFuture;
21
22 import com.linecorp.centraldogma.internal.Util;
23 import com.linecorp.centraldogma.server.auth.Session;
24 import com.linecorp.centraldogma.server.auth.SessionManager;
25
26
27
28
29 public class ForwardingSessionManager implements SessionManager {
30
31 private final SessionManager delegate;
32
33
34
35
36
37 protected ForwardingSessionManager(SessionManager delegate) {
38 this.delegate = requireNonNull(delegate, "delegate");
39 }
40
41 protected final <T extends SessionManager> T delegate() {
42 return Util.unsafeCast(delegate);
43 }
44
45 @Override
46 public String generateSessionId() {
47 return delegate().generateSessionId();
48 }
49
50 @Override
51 public CompletableFuture<Boolean> exists(String sessionId) {
52 return delegate().exists(sessionId);
53 }
54
55 @Override
56 public CompletableFuture<Session> get(String sessionId) {
57 return delegate().get(sessionId);
58 }
59
60 @Override
61 public CompletableFuture<Void> create(Session session) {
62 return delegate().create(session);
63 }
64
65 @Override
66 public CompletableFuture<Void> update(Session session) {
67 return delegate().update(session);
68 }
69
70 @Override
71 public CompletableFuture<Void> delete(String sessionId) {
72 return delegate().delete(sessionId);
73 }
74
75 @Override
76 public void close() throws Exception {
77 delegate().close();
78 }
79
80 @Override
81 public String toString() {
82 return getClass().getSimpleName() + '(' + delegate() + ')';
83 }
84 }