Class AbstractDsmlMessageDecorator<M extends Message>

    • Constructor Detail

      • AbstractDsmlMessageDecorator

        public AbstractDsmlMessageDecorator​(LdapApiService codec,
                                            M message)
        Create a new instance of AbstractDsmlMessageDecorator
        Parameters:
        codec - The codec to use
        message - The message to decorate
    • Method Detail

      • getType

        public MessageTypeEnum getType()
        Gets the LDAP message type code associated with this Message. Each request and response type has a unique message type code defined by the protocol in RFC 2251.
        Specified by:
        getType in interface Message
        Returns:
        the message type code.
      • getControls

        public Map<String,​ControlgetControls()
        Gets the controls associated with this message mapped by OID.
        Specified by:
        getControls in interface Message
        Returns:
        Map of OID strings to Control object instances.
      • getControl

        public Control getControl​(String oid)
        Gets the control associated with the given OID.
        Specified by:
        getControl in interface Message
        Parameters:
        oid - The Cntrol's OID we are looking for
        Returns:
        The Control object instance with the OID.
      • hasControl

        public boolean hasControl​(String oid)
        Checks whether or not this message has the specified control.
        Specified by:
        hasControl in interface Message
        Parameters:
        oid - the OID of the control
        Returns:
        true if this message has the control, false if it does not
      • addControl

        public Message addControl​(Control control)
        Adds a control to this Message.
        Specified by:
        addControl in interface Message
        Parameters:
        control - the control to add.
        Returns:
        A Message reference
      • addAllControls

        public Message addAllControls​(Control[] controlsToAdd)
        Adds an array of controls to this Message.
        Specified by:
        addAllControls in interface Message
        Parameters:
        controlsToAdd - the controls to add.
        Returns:
        A Message reference
      • removeControl

        public Message removeControl​(Control control)
        Deletes a control removing it from this Message.
        Specified by:
        removeControl in interface Message
        Parameters:
        control - the control to remove.
        Returns:
        A Message reference
      • getMessageId

        public int getMessageId()
        Gets the session unique message sequence id for this message. Requests and their responses if any have the same message id. Clients at the initialization of a session start with the first message's id set to 1 and increment it with each transaction.
        Specified by:
        getMessageId in interface Message
        Returns:
        the session unique message id.
      • get

        public Object get​(Object key)
        Gets a message scope parameter. Message scope parameters are temporary variables associated with a message and are set locally to be used to associate housekeeping information with a request or its processing. These parameters are never transmitted nor recieved, think of them as transient data associated with the message or its processing. These transient parameters are not locked down so modifications can occur without firing LockExceptions even when this Lockable is in the locked state.
        Specified by:
        get in interface Message
        Parameters:
        key - the key used to access a message parameter.
        Returns:
        the transient message parameter value.
      • put

        public Object put​(Object key,
                          Object value)
        Sets a message scope parameter. These transient parameters are not locked down so modifications can occur without firing LockExceptions even when this Lockable is in the locked state.
        Specified by:
        put in interface Message
        Parameters:
        key - the parameter key
        value - the parameter value
        Returns:
        the old value or null
      • setMessageId

        public Message setMessageId​(int messageId)
        Sets the Message ID for this request
        Specified by:
        setMessageId in interface Message
        Parameters:
        messageId - The message Id
        Returns:
        A Message reference