Class InMemoryOperationInterceptorRequestHandler

    • Constructor Detail

      • InMemoryOperationInterceptorRequestHandler

        public InMemoryOperationInterceptorRequestHandler​(java.util.List<InMemoryOperationInterceptor> interceptors,
                                                          LDAPListenerRequestHandler wrappedHandler)
        Creates a new instance of this LDAP listener request handler that will be used to process the provided set of operation interceptors.
        Parameters:
        interceptors - The set of operation interceptors that will be used to transform requests and responses. If there are multiple interceptors, then they will be invoked in the same order as elements in the provided list when processing both requests and results.
        wrappedHandler - The request handler that will be used to ensure that operations actually get processed.
    • Method Detail

      • processAddRequest

        public LDAPMessage processAddRequest​(int messageID,
                                             AddRequestProtocolOp request,
                                             java.util.List<Control> controls)
        Performs any processing necessary for the provided add request.
        Specified by:
        processAddRequest in class LDAPListenerRequestHandler
        Parameters:
        messageID - The message ID of the LDAP message containing the add request.
        request - The add request that was included in the LDAP message that was received.
        controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
        Returns:
        The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be an AddResponseProtocolOp.
      • processBindRequest

        public LDAPMessage processBindRequest​(int messageID,
                                              BindRequestProtocolOp request,
                                              java.util.List<Control> controls)
        Performs any processing necessary for the provided bind request.
        Specified by:
        processBindRequest in class LDAPListenerRequestHandler
        Parameters:
        messageID - The message ID of the LDAP message containing the bind request.
        request - The bind request that was included in the LDAP message that was received.
        controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
        Returns:
        The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be a BindResponseProtocolOp.
      • processCompareRequest

        public LDAPMessage processCompareRequest​(int messageID,
                                                 CompareRequestProtocolOp request,
                                                 java.util.List<Control> controls)
        Performs any processing necessary for the provided compare request.
        Specified by:
        processCompareRequest in class LDAPListenerRequestHandler
        Parameters:
        messageID - The message ID of the LDAP message containing the compare request.
        request - The compare request that was included in the LDAP message that was received.
        controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
        Returns:
        The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be a CompareResponseProtocolOp.
      • processDeleteRequest

        public LDAPMessage processDeleteRequest​(int messageID,
                                                DeleteRequestProtocolOp request,
                                                java.util.List<Control> controls)
        Performs any processing necessary for the provided delete request.
        Specified by:
        processDeleteRequest in class LDAPListenerRequestHandler
        Parameters:
        messageID - The message ID of the LDAP message containing the delete request.
        request - The delete request that was included in the LDAP message that was received.
        controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
        Returns:
        The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be a DeleteResponseProtocolOp.
      • processExtendedRequest

        public LDAPMessage processExtendedRequest​(int messageID,
                                                  ExtendedRequestProtocolOp request,
                                                  java.util.List<Control> controls)
        Performs any processing necessary for the provided extended request.
        Specified by:
        processExtendedRequest in class LDAPListenerRequestHandler
        Parameters:
        messageID - The message ID of the LDAP message containing the extended request.
        request - The extended request that was included in the LDAP message that was received.
        controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
        Returns:
        The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be an ExtendedResponseProtocolOp.
      • processModifyRequest

        public LDAPMessage processModifyRequest​(int messageID,
                                                ModifyRequestProtocolOp request,
                                                java.util.List<Control> controls)
        Performs any processing necessary for the provided modify request.
        Specified by:
        processModifyRequest in class LDAPListenerRequestHandler
        Parameters:
        messageID - The message ID of the LDAP message containing the modify request.
        request - The modify request that was included in the LDAP message that was received.
        controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
        Returns:
        The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be an ModifyResponseProtocolOp.
      • processModifyDNRequest

        public LDAPMessage processModifyDNRequest​(int messageID,
                                                  ModifyDNRequestProtocolOp request,
                                                  java.util.List<Control> controls)
        Performs any processing necessary for the provided modify DN request.
        Specified by:
        processModifyDNRequest in class LDAPListenerRequestHandler
        Parameters:
        messageID - The message ID of the LDAP message containing the modify DN request.
        request - The modify DN request that was included in the LDAP message that was received.
        controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
        Returns:
        The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be an ModifyDNResponseProtocolOp.
      • processSearchRequest

        public LDAPMessage processSearchRequest​(int messageID,
                                                SearchRequestProtocolOp request,
                                                java.util.List<Control> controls)
        Performs any processing necessary for the provided search request.
        Specified by:
        processSearchRequest in class LDAPListenerRequestHandler
        Parameters:
        messageID - The message ID of the LDAP message containing the search request.
        request - The search request that was included in the LDAP message that was received.
        controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
        Returns:
        The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be an SearchResultDoneProtocolOp.
      • transformEntry

        public ObjectPair<SearchResultEntryProtocolOp,​Control[]> transformEntry​(int messageID,
                                                                                      SearchResultEntryProtocolOp entry,
                                                                                      Control[] controls)
        Transforms the provided search result entry and/or set of controls to alter what will be returned to the client.
        Specified by:
        transformEntry in interface SearchEntryTransformer
        Parameters:
        messageID - The message ID for the associated search operation.
        entry - The search result entry to be processed. It will not be null.
        controls - The set of controls to be processed. It will not be null but may be empty if there are no controls.
        Returns:
        An ObjectPair containing a possibly updated entry and set of controls, or null to indicate that the entry should not be returned to the client.
      • transformReference

        public ObjectPair<SearchResultReferenceProtocolOp,​Control[]> transformReference​(int messageID,
                                                                                              SearchResultReferenceProtocolOp reference,
                                                                                              Control[] controls)
        Transforms the provided search result reference and/or set of controls to alter what will be returned to the client.
        Specified by:
        transformReference in interface SearchReferenceTransformer
        Parameters:
        messageID - The message ID for the associated search operation.
        reference - The search result reference to be processed. It will not be null.
        controls - The set of controls to be processed. It will not be null but may be empty if there are no controls.
        Returns:
        An ObjectPair containing a possibly updated reference and set of controls, or null to indicate that the reference should not be returned to the client.