`

Chain

    博客分类:
  • java
 
阅读更多
public static void main(String[] args) {
		new MessageBuilder().newTopic("MessageTopic").with(new CustomeMessageHandler()).newQueue("MessageQueue").with(new CustomeMessageHandler());
	}

	public static class MessageBuilder {

		Map<String, MessageHandler> topics = new HashMap<>();
		Map<String, MessageHandler> queue = new HashMap<>();

		@SuppressWarnings("rawtypes")
		List<NamePair<String, Boolean, MessageHandler, MessageBuilder>> list = new ArrayList<>();

		public NamePair<String, Boolean, MessageHandler, MessageBuilder> newTopic1(String destination) {
			// topics.put(destination);
			NamePair<String, Boolean, MessageHandler, MessageBuilder> pair = new NamePair<>();
			pair.setA(destination);
			pair.setB(true);
			pair.setD(this);
			list.add(pair);
			return pair;
		}

		public NamePair<String, Boolean, MessageHandler, MessageBuilder> newQueue1(String destination) {
			NamePair<String, Boolean, MessageHandler, MessageBuilder> pair = new NamePair<>();
			pair.setA(destination);
			pair.setB(false);
			pair.setD(this);
			list.add(pair);
			return pair;
		}

		public MessageBuilder newTopic(String destination) {
			NamePair<String, Boolean, MessageHandler, MessageBuilder> pair = new NamePair<>();
			pair.setA(destination);
			pair.setB(true);
			list.add(pair);
			return this;
		}

		public MessageBuilder with(MessageHandler handler) {
			list.get(list.size() - 1).setC(handler);
			return this;
		}

		public MessageBuilder newQueue(String destination) {
			NamePair<String, Boolean, MessageHandler, MessageBuilder> pair = new NamePair<>();
			pair.setA(destination);
			pair.setB(false);
			list.add(pair);
			return this;
		}
	}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics