Package tigase.auth

## Class TigaseSaslProvider

- java.lang.Object
- - java.util.Dictionary<K,​V>
  - - java.util.Hashtable<java.lang.Object,​java.lang.Object>
    - - java.util.Properties
      - - java.security.Provider
        - - tigase.auth.TigaseSaslProvider

- All Implemented Interfaces:
    `java.io.Serializable`, `java.lang.Cloneable`, `java.util.Map<java.lang.Object,​java.lang.Object>`, `Initializable`, `RegistrarBean`, `UnregisterAware`

      @Bean(name="sasl-provider",
            parent=SessionManager.class,
            active=true)
      public class TigaseSaslProvider
      extends java.security.Provider
      implements Initializable, UnregisterAware, RegistrarBean

  Describe class TigaseSaslProvider here.
  Created: Sun Nov 5 22:31:20 2006
  Author:
    Artur Hefczyc
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class java.security.Provider

      `java.security.Provider.Service`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.lang.String` | `FACTORY_KEY` |

    - ### Fields inherited from class java.util.Properties

      `defaults`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `TigaseSaslProvider()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `beforeUnregister()` | Method called before bean unregister.
    `javax.security.auth.callback.CallbackHandler` | `create​(java.lang.String mechanismName, XMPPResourceConnection session, NonAuthUserRepository repo, java.util.Map<java.lang.String,​java.lang.Object> settings)` |
    `java.util.Collection<java.lang.String>` | `filterMechanisms​(java.util.Enumeration<javax.security.sasl.SaslServerFactory> serverFactories, XMPPResourceConnection session)` |
    `void` | `initialize()` | Method will be called, when bean will be created, configured and ready to use.
    `protected void` | `putService​(java.security.Provider.Service s)` |
    `void` | `register​(Kernel kernel)` | Method called when bean is being registered allowing developer to programatically register other beans.
    `protected void` | `removeService​(java.security.Provider.Service s)` |
    `void` | `setSaslServerFactories​(java.util.concurrent.CopyOnWriteArraySet<javax.security.sasl.SaslServerFactory> saslServerFactories)` |
    `void` | `unregister​(Kernel kernel)` | Method called while bean is being unregistered.

    - ### Methods inherited from class java.security.Provider

      `clear, compute, computeIfAbsent, computeIfPresent, configure, elements, entrySet, forEach, get, getInfo, getName, getOrDefault, getProperty, getService, getServices, getVersion, getVersionStr, isConfigured, keys, keySet, load, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, toString, values`

    - ### Methods inherited from class java.util.Properties

      `clone, contains, containsKey, containsValue, equals, getProperty, hashCode, isEmpty, list, list, load, loadFromXML, propertyNames, rehash, save, setProperty, size, store, store, storeToXML, storeToXML, storeToXML, stringPropertyNames`

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### FACTORY_KEY

          public static final java.lang.String FACTORY_KEY

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### TigaseSaslProvider

          public TigaseSaslProvider()

  - ### Method Detail

    - #### setSaslServerFactories

          public void setSaslServerFactories​(java.util.concurrent.CopyOnWriteArraySet<javax.security.sasl.SaslServerFactory> saslServerFactories)

    - #### beforeUnregister

          public void beforeUnregister()

      Description copied from interface: `UnregisterAware`
      Method called before bean unregister.
      Specified by:
        `beforeUnregister` in interface `UnregisterAware`

    - #### initialize

          public void initialize()

      Description copied from interface: `Initializable`
      Method will be called, when bean will be created, configured and ready to use.
      Specified by:
        `initialize` in interface `Initializable`

    - #### create

          public javax.security.auth.callback.CallbackHandler create​(java.lang.String mechanismName,
                                                                     XMPPResourceConnection session,
                                                                     NonAuthUserRepository repo,
                                                                     java.util.Map<java.lang.String,​java.lang.Object> settings)
                                                              throws java.lang.ClassNotFoundException,
                                                                     java.lang.InstantiationException,
                                                                     java.lang.IllegalAccessException

      Throws:
        `java.lang.ClassNotFoundException`
        `java.lang.InstantiationException`
        `java.lang.IllegalAccessException`

    - #### filterMechanisms

          public java.util.Collection<java.lang.String> filterMechanisms​(java.util.Enumeration<javax.security.sasl.SaslServerFactory> serverFactories,
                                                                         XMPPResourceConnection session)

    - #### register

          public void register​(Kernel kernel)

      Description copied from interface: `RegistrarBean`
      Method called when bean is being registered allowing developer to programatically register other beans.
      Specified by:
        `register` in interface `RegistrarBean`
      Parameters:
        `kernel` - - instance from local scope

    - #### unregister

          public void unregister​(Kernel kernel)

      Description copied from interface: `RegistrarBean`
      Method called while bean is being unregistered.
      Specified by:
        `unregister` in interface `RegistrarBean`
      Parameters:
        `kernel` - - instance from local scope

    - #### putService

          protected void putService​(java.security.Provider.Service s)

      Overrides:
        `putService` in class `java.security.Provider`

    - #### removeService

          protected void removeService​(java.security.Provider.Service s)

      Overrides:
        `removeService` in class `java.security.Provider`