private void fire()

in interceptors/event/src/main/java/org/apache/directory/server/core/event/EventInterceptor.java [124:245]


    private void fire( final OperationContext opContext, EventType type, final DirectoryListener listener )
    {
        switch ( type )
        {
            case ADD:
                if ( listener.isSynchronous() )
                {
                    listener.entryAdded( ( AddOperationContext ) opContext );
                }
                else
                {
                    executor.execute( new Runnable()
                    {
                        @Override
                        public void run()
                        {
                            listener.entryAdded( ( AddOperationContext ) opContext );
                        }
                    } );
                }

                break;

            case DELETE:
                if ( listener.isSynchronous() )
                {
                    listener.entryDeleted( ( DeleteOperationContext ) opContext );
                }
                else
                {
                    executor.execute( new Runnable()
                    {
                        @Override
                        public void run()
                        {
                            listener.entryDeleted( ( DeleteOperationContext ) opContext );
                        }
                    } );
                }

                break;

            case MODIFY:
                if ( listener.isSynchronous() )
                {
                    listener.entryModified( ( ModifyOperationContext ) opContext );
                }
                else
                {
                    executor.execute( new Runnable()
                    {
                        @Override
                        public void run()
                        {
                            listener.entryModified( ( ModifyOperationContext ) opContext );
                        }
                    } );
                }

                break;

            case MOVE:
                if ( listener.isSynchronous() )
                {
                    listener.entryMoved( ( MoveOperationContext ) opContext );
                }
                else
                {
                    executor.execute( new Runnable()
                    {
                        @Override
                        public void run()
                        {
                            listener.entryMoved( ( MoveOperationContext ) opContext );
                        }
                    } );
                }

                break;

            case RENAME:
                if ( listener.isSynchronous() )
                {
                    listener.entryRenamed( ( RenameOperationContext ) opContext );
                }
                else
                {
                    executor.execute( new Runnable()
                    {
                        @Override
                        public void run()
                        {
                            listener.entryRenamed( ( RenameOperationContext ) opContext );
                        }
                    } );
                }

                break;

            case MOVE_AND_RENAME:
                if ( listener.isSynchronous() )
                {
                    listener.entryMovedAndRenamed( ( MoveAndRenameOperationContext ) opContext );
                }
                else
                {
                    executor.execute( new Runnable()
                    {
                        @Override
                        public void run()
                        {
                            listener.entryMovedAndRenamed( ( MoveAndRenameOperationContext ) opContext );
                        }
                    } );
                }

                break;

            default:
                throw new IllegalArgumentException( "Unexpected event type " + type );
        }
    }