public void removeHandler(EventStreamHandler handler) { EventStreamHandler current = defaultTopicHandlers.headHandler; EventStreamHandler previous = null; while (current != null) { if (current == handler) { if (defaultTopicHandlers.headHandler == current) { defaultTopicHandlers.headHandler = current.getNext(); } if (defaultTopicHandlers.tailHandler == current) { defaultTopicHandlers.tailHandler = previous == null ? defaultTopicHandlers.headHandler : previous; } if (previous != null) { previous.setNext(current.getNext()); } defaultTopicHandlers.inHandler.setNext(defaultTopicHandlers.headHandler); return; } previous = current; current = current.getNext(); } }
public void removeHandler(EventStreamHandler handler) { EventStreamHandler current = defaultTopicHandlers.headHandler; EventStreamHandler previous = null; while (current != null) { if (current == handler) { if (defaultTopicHandlers.headHandler == current) { defaultTopicHandlers.headHandler = current.getNext(); } if (defaultTopicHandlers.tailHandler == current) { defaultTopicHandlers.tailHandler = previous == null ? defaultTopicHandlers.headHandler : previous; } if (previous != null) { previous.setNext(current.getNext()); } defaultTopicHandlers.inHandler.setNext(defaultTopicHandlers.headHandler); return; } previous = current; current = current.getNext(); } }
public void addHandler(int index, EventStreamHandler handler) { int i = 0; EventStreamHandler next = headHandler; EventStreamHandler prev = null; while (next != null && i < index) { prev = next; next = next.getNext(); i++; } if (i == index) { if (prev != null) { prev.setNext(handler); } else { headHandler = handler; } handler.setNext(next); if (next == null) { tailHandler = handler; } } else { throw new ArrayIndexOutOfBoundsException(index); } }
public void addHandler(int index, EventStreamHandler handler) { int i = 0; EventStreamHandler next = headHandler; EventStreamHandler prev = null; while (next != null && i < index) { prev = next; next = next.getNext(); i++; } if (i == index) { if (prev != null) { prev.setNext(handler); } else { headHandler = handler; } handler.setNext(next); if (next == null) { tailHandler = handler; } } else { throw new ArrayIndexOutOfBoundsException(index); } }