Package org.ldaptive

Class AbstractRequestMessage

java.lang.Object
org.ldaptive.AbstractRequestMessage
All Implemented Interfaces:
Request
Direct Known Subclasses:
AbandonRequest, AddRequest, AnonymousBindRequest, CompareRequest, DeleteRequest, ExtendedRequest, ModifyDnRequest, ModifyRequest, SaslBindRequest, SearchRequest, SimpleBindRequest, UnbindRequest

public abstract class AbstractRequestMessage extends Object implements Request
LDAP message envelope defined as:
   LDAPMessage ::= SEQUENCE {
     messageID       MessageID,
     protocolOp      CHOICE {
       ...,
     controls       [0] Controls OPTIONAL }

   Control ::= SEQUENCE {
     controlType             LDAPOID,
     criticality             BOOLEAN DEFAULT FALSE,
     controlValue            OCTET STRING OPTIONAL }
 
  • Field Details

    • logger

      protected final org.slf4j.Logger logger
      Logger for this class.
    • controls

      private RequestControl[] controls
      LDAP controls.
  • Constructor Details

    • AbstractRequestMessage

      public AbstractRequestMessage()
  • Method Details

    • getControls

      public RequestControl[] getControls()
    • setControls

      public void setControls(RequestControl... cntrls)
    • encode

      public byte[] encode(int id)
      Description copied from interface: Request
      Encode this request as asn.1.
      Specified by:
      encode in interface Request
      Parameters:
      id - message id of this request
      Returns:
      asn.1 encoded request
    • getRequestEncoders

      protected abstract DEREncoder[] getRequestEncoders(int id)
      Returns the request encoders for this message.
      Parameters:
      id - message ID
      Returns:
      request encoders
    • getControlEncoder

      private DEREncoder getControlEncoder()
      Returns the encoder to any controls that may be set on this message.
      Returns:
      control encoder
    • toString

      public String toString()
      Overrides:
      toString in class Object