View Javadoc
1   package org.oxerr.vividseats.client.cached.redisson;
2   
3   import java.util.concurrent.Executor;
4   import java.util.concurrent.ForkJoinPool;
5   
6   import org.oxerr.vividseats.client.VividSeatsClient;
7   import org.oxerr.vividseats.client.cached.CachedVividSeatsClient;
8   import org.oxerr.vividseats.client.cached.redisson.inventory.RedissonCachedListingService;
9   import org.redisson.api.RedissonClient;
10  
11  public class RedissonCachedVividSeatsClient implements CachedVividSeatsClient {
12  
13  	private final VividSeatsClient vividSeatsClient;
14  
15  	private final RedissonCachedListingService cachedSellerListingService;
16  
17  	public RedissonCachedVividSeatsClient(
18  		VividSeatsClient vividSeatsClient,
19  		RedissonClient redissonClient,
20  		String keyPrefix
21  	) {
22  		this(vividSeatsClient, redissonClient, keyPrefix, ForkJoinPool.commonPool());
23  	}
24  
25  	public RedissonCachedVividSeatsClient(
26  		VividSeatsClient vividSeatsClient,
27  		RedissonClient redissonClient,
28  		String keyPrefix,
29  		Executor executor
30  	) {
31  		this(
32  			vividSeatsClient,
33  			new RedissonCachedListingService(
34  				vividSeatsClient.getListingService(),
35  				redissonClient,
36  				keyPrefix,
37  				executor
38  			)
39  		);
40  	}
41  
42  	public RedissonCachedVividSeatsClient(
43  		VividSeatsClient vividSeatsClient,
44  		RedissonCachedListingService cachedSellerListingService
45  	) {
46  		this.vividSeatsClient = vividSeatsClient;
47  		this.cachedSellerListingService = cachedSellerListingService;
48  	}
49  
50  	@Override
51  	public VividSeatsClient getClient() {
52  		return vividSeatsClient;
53  	}
54  
55  	@Override
56  	public RedissonCachedListingService getCachedListingService() {
57  		return cachedSellerListingService;
58  	}
59  
60  }