Interface PluginOperation

    • Method Detail

      • getOperationType

        OperationType getOperationType()
        Retrieves the operation type for this operation.
        Returns:
        The operation type for this operation.
      • getClientConnection

        ClientConnection getClientConnection()
        Retrieves the client connection with which this operation is associated.
        Returns:
        The client connection with which this operation is associated.
      • disconnectClient

        void disconnectClient​(DisconnectReason disconnectReason,
                              boolean sendNotification,
                              LocalizableMessage message)
        Terminates the client connection being used to process this operation. The plugin must return a result indicating that the client connection has been terminated.
        Parameters:
        disconnectReason - The disconnect reason that provides the generic cause for the disconnect.
        sendNotification - Indicates whether to try to provide notification to the client that the connection will be closed.
        message - The message to send to the client. It may be null if no notification is to be sent.
      • getConnectionID

        long getConnectionID()
        Retrieves the unique identifier that is assigned to the client connection that submitted this operation.
        Returns:
        The unique identifier that is assigned to the client connection that submitted this operation.
      • getOperationID

        long getOperationID()
        Retrieves the operation ID for this operation.
        Returns:
        The operation ID for this operation.
      • getMessageID

        int getMessageID()
        Retrieves the message ID assigned to this operation.
        Returns:
        The message ID assigned to this operation.
      • getRequestControls

        List<Control> getRequestControls()
        Retrieves the set of controls included in the request from the client. The returned this list must not be altered.
        Returns:
        The set of controls included in the request from the client.
      • getRequestControl

        default <T extends Control> T getRequestControl​(ControlDecoder<T> d)
                                                 throws LdapException
        Retrieves a control included in the request from the client using the default decode options.
        Type Parameters:
        T - The type of control requested.
        Parameters:
        d - The requested control's decoder.
        Returns:
        The decoded form of the requested control included in the request from the client or null if the control was not found.
        Throws:
        LdapException - if an error occurs while decoding the control.
      • getRequestControl

        <T extends Control> T getRequestControl​(ControlDecoder<T> d,
                                                DecodeOptions options)
                                         throws LdapException
        Retrieves a control included in the request from the client.
        Type Parameters:
        T - The type of control requested.
        Parameters:
        d - The requested control's decoder.
        options - The decode options.
        Returns:
        The decoded form of the requested control included in the request from the client or null if the control was not found.
        Throws:
        LdapException - if an error occurs while decoding the control.
      • getResponseControls

        List<Control> getResponseControls()
        Retrieves the set of controls to include in the response to the client. The contents of this list must not be altered.
        Returns:
        The set of controls to include in the response to the client.
      • isInternalOperation

        boolean isInternalOperation()
        Indicates whether this is an internal operation rather than one that was requested by an external client.
        Returns:
        true if this is an internal operation, or false if it is not.
      • isSynchronizationOperation

        boolean isSynchronizationOperation()
        Indicates whether this is a synchronization operation rather than one that was requested by an external client.
        Returns:
        true if this is a data synchronization operation, or false if it is not.
      • getAttachments

        Map<String,​Object> getAttachments()
        Retrieves the set of attachments defined for this operation, as a mapping between the attachment name and the associated object.
        Returns:
        The set of attachments defined for this operation.
      • getAttachment

        <T> T getAttachment​(String name)
        Retrieves the attachment with the specified name.
        Type Parameters:
        T - the type of the attached object
        Parameters:
        name - The name for the attachment to retrieve. It will be treated in a case-sensitive manner.
        Returns:
        The requested attachment object, or null if it does not exist.
      • removeAttachment

        <T> T removeAttachment​(String name)
        Removes the attachment with the specified name.
        Type Parameters:
        T - the type of the attached object
        Parameters:
        name - The name for the attachment to remove. It will be treated in a case-sensitive manner.
        Returns:
        The attachment that was removed, or null if it does not exist.
      • setAttachment

        <T> T setAttachment​(String name,
                            Object value)
        Sets the value of the specified attachment. If an attachment already exists with the same name, it will be replaced. Otherwise, a new attachment will be added.
        Type Parameters:
        T - the type of the attached object
        Parameters:
        name - The name to use for the attachment.
        value - The value to use for the attachment.
        Returns:
        The former value held by the attachment with the given name, or null if there was previously no such attachment.
      • toString

        String toString()
        Retrieves a string representation of this operation.
        Overrides:
        toString in class Object
        Returns:
        A string representation of this operation.
      • toString

        void toString​(StringBuilder buffer)
        Appends a string representation of this operation to the provided buffer.
        Parameters:
        buffer - The buffer into which a string representation of this operation should be appended.
      • checkIfCanceled

        void checkIfCanceled​(boolean signalTooLate)
                      throws CancelledResultException
        Checks to see if this operation requested to cancel in which case CancelledResultException will be thrown.
        Parameters:
        signalTooLate - true to signal that any further cancel requests will be too late after return from this call or false otherwise.
        Throws:
        CancelledResultException - if this operation should be cancelled.