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;
|
}
|
}
|