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