Class AbstractRequestControlDirContextProcessor

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.slf4j.Logger log  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      abstract javax.naming.ldap.Control createRequestControl()
      Create an instance of the appropriate RequestControl.
      boolean isReplaceSameControlEnabled()
      If there already exists a request control of the same class as the one created by createRequestControl() in the context, the new control can either replace the existing one (default behavior) or be added.
      void preProcess​(javax.naming.directory.DirContext ctx)
      Get the existing RequestControls from the LdapContext, call createRequestControl() to get a new instance, build a new array of Controls and set it on the LdapContext.
      void setReplaceSameControlEnabled​(boolean replaceSameControlEnabled)
      If there already exists a request control of the same class as the one created by createRequestControl() in the context, the new control can either replace the existing one (default behavior) or be added.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • log

        protected org.slf4j.Logger log
    • Constructor Detail

      • AbstractRequestControlDirContextProcessor

        public AbstractRequestControlDirContextProcessor()
    • Method Detail

      • isReplaceSameControlEnabled

        public boolean isReplaceSameControlEnabled()
        If there already exists a request control of the same class as the one created by createRequestControl() in the context, the new control can either replace the existing one (default behavior) or be added.
        Returns:
        true if an already existing control will be replaced
      • setReplaceSameControlEnabled

        public void setReplaceSameControlEnabled​(boolean replaceSameControlEnabled)
        If there already exists a request control of the same class as the one created by createRequestControl() in the context, the new control can either replace the existing one (default behavior) or be added.
        Parameters:
        replaceSameControlEnabled - true if an already existing control should be replaced
      • preProcess

        public void preProcess​(javax.naming.directory.DirContext ctx)
                        throws javax.naming.NamingException
        Get the existing RequestControls from the LdapContext, call createRequestControl() to get a new instance, build a new array of Controls and set it on the LdapContext.

        The Control feature is specific for LDAP v3 and thus applies only to LdapContext. However, the generic DirContextProcessor mechanism used for calling preProcess and postProcess uses DirContext, since it also works for LDAP v2. This is the reason that DirContext has to be cast to a LdapContext.

        Specified by:
        preProcess in interface DirContextProcessor
        Parameters:
        ctx - an LdapContext instance.
        Throws:
        javax.naming.NamingException
        java.lang.IllegalArgumentException - if the supplied DirContext is not an LdapContext.
      • createRequestControl

        public abstract javax.naming.ldap.Control createRequestControl()
        Create an instance of the appropriate RequestControl.
        Returns:
        the new instance.