Class HookRegistry


  • public class HookRegistry
    extends java.lang.Object
    This registry holds all services implementing one of the hook services
    • Field Detail

      • HOOK_CLASSES

        private static final java.util.Map<java.lang.String,​java.lang.Class<?>> HOOK_CLASSES
        no need to use a sync'ed structure as this is read only.
      • m_allHooks

        private final java.util.Map<java.lang.String,​java.util.SortedSet<ServiceReference<?>>> m_allHooks
    • Constructor Detail

      • HookRegistry

        public HookRegistry()
    • Method Detail

      • addHookClass

        private static void addHookClass​(java.lang.Class<?> c)
      • isHook

        static boolean isHook​(java.lang.String[] classNames,
                              java.lang.Class<?> hookClass,
                              java.lang.Object svcObj)
      • isHook

        private boolean isHook​(java.lang.String serviceName,
                               java.lang.Object svcObj)
      • addHooks

        public void addHooks​(java.lang.String[] classNames,
                             java.lang.Object svcObj,
                             ServiceReference<?> ref)
        Check and add the service to the set of hooks
        Parameters:
        classNames - The service names
        svcObj - The service object
        ref - The service reference
      • updateHooks

        public void updateHooks​(ServiceReference<?> ref)
        Update the service ranking for a hook
        Parameters:
        ref - The service reference
      • removeHooks

        public void removeHooks​(ServiceReference<?> ref)
        Remove the service hooks
        Parameters:
        ref - The service reference
      • getHooks

        public <S> java.util.Set<ServiceReference<S>> getHooks​(java.lang.Class<S> hookClass)
        Return the sorted set of hooks
        Parameters:
        hookClass - The hook class
        Returns:
        The sorted set - the set might be empty
      • isHookBlackListed

        public boolean isHookBlackListed​(ServiceReference<?> sr)