package com.mossle.internal.sequence.support; import java.util.Date; import java.util.HashMap; import java.util.Map; import javax.annotation.Resource; import com.mossle.api.sequence.SequenceConnector; public class SequenceConnectorImpl implements SequenceConnector { private Map<String, SequenceRule> cache = new HashMap<String, SequenceRule>(); private SequenceHelper sequenceHelper; private SequenceParser sequenceParser = new SequenceParser(); public String generate(String code, String text) { return this.generate(code, text, new Date()); } public String generate(String code, String text, Date date) { SequenceRule sequenceRule = this.cache.get(text); if (sequenceRule == null) { sequenceRule = sequenceParser.parse(text); cache.put(text, sequenceRule); } return sequenceRule.process(code, date, sequenceHelper); } @Resource public void setSequenceHelper(SequenceHelper sequenceHelper) { this.sequenceHelper = sequenceHelper; } }