package cn.org.rapid_framework.util.concurrent.async; import java.util.ArrayList; import java.util.List; import org.springframework.util.Assert; @SuppressWarnings("all") public class DefaultAsyncTokenFactory implements AsyncTokenFactory{ private String tokenGroup = AsyncToken.DEFAULT_TOKEN_GROUP; private String tokenName ; private List<IResponder> responders = new ArrayList(); private UncaughtExceptionHandler uncaughtExceptionHandler; public String getTokenGroup() { return tokenGroup; } public void setTokenGroup(String tokenGroup) { this.tokenGroup = tokenGroup; } public String getTokenName() { return tokenName; } public void setTokenName(String tokenName) { this.tokenName = tokenName; } public List<IResponder> getResponders() { return responders; } public void setResponders(List<IResponder> responders) { Assert.notNull(responders,"responders must be not null"); this.responders = responders; } public void addResponder(IResponder r) { this.responders.add(r); } public UncaughtExceptionHandler getUncaughtExceptionHandler() { return uncaughtExceptionHandler; } public void setUncaughtExceptionHandler( UncaughtExceptionHandler uncaughtExceptionHandler) { this.uncaughtExceptionHandler = uncaughtExceptionHandler; } @SuppressWarnings("unchecked") public AsyncToken newToken() { AsyncToken t = new AsyncToken(); t.setTokenGroup(tokenGroup); t.setUncaughtExceptionHandler(uncaughtExceptionHandler); t.setTokenName(tokenName); for(IResponder r : responders) { t.addResponder(r); } return t; } }