Beispiel #1
0
        protected Object ResolveListener()
        {
            Object listener = this.Listener;

            if (listener != null)
            {
                listener      = ResolveListenerIntern(listener);
                this.Listener = listener;
                return(listener);
            }
            else if (ListenerBeanName != null)
            {
                listener = BeanContext.GetService(ListenerBeanName, !Optional);
                if (listener == null)
                {
                    return(null);
                }
            }
            else if (ListenerBean != null)
            {
                ListenerBeanName = ListenerBean.GetName();
                if (ListenerBeanName == null)
                {
                    listener = ListenerBean.GetInstance();
                    if (listener == null)
                    {
                        throw new LinkException("No listener instance received from " + ListenerBean.GetType().FullName + ".getInstance()" + " to link to registry", this);
                    }
                }
                else
                {
                    listener = BeanContext.GetService(ListenerBeanName, !Optional);
                    if (listener == null)
                    {
                        return(null);
                    }
                }
            }
            else
            {
                throw new LinkException("Listener not found. Must never happen.", this);
            }
            listener      = ResolveListenerIntern(listener);
            this.Listener = listener;
            return(listener);
        }
Beispiel #2
0
        protected Object resolveListener()
        {
            Object listener = Listener;

            Object listenerTarget;

            if (listener != null && !(listener is LateDelegate))
            {
                listenerTarget = listener;
            }
            else if (ListenerBeanName != null)
            {
                listenerTarget = BeanContext.GetService(ListenerBeanName);
            }
            else if (ListenerBean != null)
            {
                ListenerBeanName = ListenerBean.GetName();
                if (ListenerBeanName == null)
                {
                    listenerTarget = ListenerBean.GetInstance();
                    if (listenerTarget == null)
                    {
                        throw new System.Exception("No listener instance received from " + ListenerBean.GetType().FullName + ".getInstance()" + " to link to registry");
                    }
                }
                else
                {
                    listenerTarget = BeanContext.GetService(ListenerBeanName);
                }
            }
            else
            {
                throw new System.Exception("Listener not found. Must never happen.");
            }
            if (listener is LateDelegate)
            {
                listener = ((LateDelegate)listener).GetDelegate(listener.GetType(), listenerTarget);
            }
            else
            {
                listener = listenerTarget;
            }
            return(resolveListenerIntern(listener));
        }