yangys
2024-05-18 040976de6f9934b99f30268a28e2ecf42260e217
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package com.qianwen.core.sequence.builder;
 
import com.qianwen.core.sequence.range.BizName;
import com.qianwen.core.sequence.range.redis.RedisSeqRangeMgr;
import com.qianwen.core.sequence.sequence.Sequence;
import com.qianwen.core.sequence.sequence.impl.DefaultRangeSequence;
 
 
public class RedisSeqBuilder implements SeqBuilder {
    private String ip;
    private int port;
    private BizName bizName;
    private String auth;
    private int step = 1;
    private long stepStart = 0;
 
    public static RedisSeqBuilder create() {
        RedisSeqBuilder builder = new RedisSeqBuilder();
        return builder;
    }
 
    @Override // com.qianwen.core.sequence.builder.SeqBuilder
    public Sequence build() {
        RedisSeqRangeMgr redisSeqRangeMgr = new RedisSeqRangeMgr();
        redisSeqRangeMgr.setIp(this.ip);
        redisSeqRangeMgr.setPort(this.port);
        redisSeqRangeMgr.setAuth(this.auth);
        redisSeqRangeMgr.setStep(this.step);
        redisSeqRangeMgr.setStepStart(this.stepStart);
        redisSeqRangeMgr.init();
        DefaultRangeSequence sequence = new DefaultRangeSequence();
        sequence.setName(this.bizName);
        sequence.setStep(Integer.valueOf(this.step));
        sequence.setStartStep(this.stepStart);
        sequence.setSeqRangeMgr(redisSeqRangeMgr);
        return sequence;
    }
 
    public RedisSeqBuilder ip(String ip) {
        this.ip = ip;
        return this;
    }
 
    public RedisSeqBuilder port(int port) {
        this.port = port;
        return this;
    }
 
    public RedisSeqBuilder auth(String auth) {
        this.auth = auth;
        return this;
    }
 
    public RedisSeqBuilder step(int step) {
        this.step = step;
        return this;
    }
 
    public RedisSeqBuilder bizName(BizName bizName) {
        this.bizName = bizName;
        return this;
    }
 
    public RedisSeqBuilder stepStart(long stepStart) {
        this.stepStart = stepStart;
        return this;
    }
}