diff --git a/ipaacalib/java/src/ipaaca/Buffer.java b/ipaacalib/java/src/ipaaca/Buffer.java index e335e1f4175e82a68e8e6b2e7873a724f0c94d87..71c75b70bc388c0c139d532ff78a0a12ca0e025c 100644 --- a/ipaacalib/java/src/ipaaca/Buffer.java +++ b/ipaacalib/java/src/ipaaca/Buffer.java @@ -1,7 +1,9 @@ package ipaaca; import java.util.ArrayList; +import java.util.EnumSet; import java.util.List; +import java.util.Set; import java.util.UUID; /** @@ -63,10 +65,35 @@ public abstract class Buffer // """ // handler = IUEventHandler(handler_function=handler_function, for_event_types=for_event_types, for_categories=for_categories) // self._iu_event_handlers.append(handler) + public void registerHandler(IUEventHandler handler) { eventHandlers.add(handler); } + + public void registerHandler(HandlerFunctor func) { + IUEventHandler handler; + handler = new IUEventHandler(func); + registerHandler(handler); + } + + public void registerHandler(HandlerFunctor func, Set<String> categories) { + IUEventHandler handler; + handler = new IUEventHandler(func, categories); + registerHandler(handler); + } + + public void registerHandler(HandlerFunctor func, EnumSet<IUEventType> eventTypes) { + IUEventHandler handler; + handler = new IUEventHandler(func, eventTypes); + registerHandler(handler); + } + + public void registerHandler(HandlerFunctor func, EnumSet<IUEventType> eventTypes, Set<String> categories) { + IUEventHandler handler; + handler = new IUEventHandler(func, eventTypes, categories); + registerHandler(handler); + } // def call_iu_event_handlers(self, uid, local, event_type, category): // """Call registered IU event handler functions registered for this event_type and category."""