Class TSaslServerTransport.Factory

  • Enclosing class:
    TSaslServerTransport

    public static class TSaslServerTransport.Factory
    extends TTransportFactory
    TTransportFactory to create TSaslServerTransports. Ensures that a given underlying TTransport instance receives the same TSaslServerTransport. This is kind of an awful hack to work around the fact that Thrift is designed assuming that TTransport instances are stateless, and thus the existing TServers use different TTransport instances for input and output.
    • Constructor Summary

      Constructors 
      Constructor Description
      Factory()
      Create a new Factory.
      Factory​(java.lang.String mechanism, java.lang.String protocol, java.lang.String serverName, java.util.Map<java.lang.String,​java.lang.String> props, javax.security.auth.callback.CallbackHandler cbh)
      Create a new Factory, initially with the single server definition given.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addServerDefinition​(java.lang.String mechanism, java.lang.String protocol, java.lang.String serverName, java.util.Map<java.lang.String,​java.lang.String> props, javax.security.auth.callback.CallbackHandler cbh)
      Add a supported server definition to the transports created by this factory.
      TTransport getTransport​(TTransport base)
      Get a new TSaslServerTransport instance, or reuse the existing one if a TSaslServerTransport has already been created before using the given TTransport as an underlying transport.
      • Methods inherited from class java.lang.Object

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

      • Factory

        public Factory()
        Create a new Factory. Assumes that addServerDefinition will be called later.
      • Factory

        public Factory​(java.lang.String mechanism,
                       java.lang.String protocol,
                       java.lang.String serverName,
                       java.util.Map<java.lang.String,​java.lang.String> props,
                       javax.security.auth.callback.CallbackHandler cbh)
        Create a new Factory, initially with the single server definition given. You may still call addServerDefinition later. See the Java documentation for Sasl.createSaslServer for the details of the parameters.
    • Method Detail

      • addServerDefinition

        public void addServerDefinition​(java.lang.String mechanism,
                                        java.lang.String protocol,
                                        java.lang.String serverName,
                                        java.util.Map<java.lang.String,​java.lang.String> props,
                                        javax.security.auth.callback.CallbackHandler cbh)
        Add a supported server definition to the transports created by this factory. See the Java documentation for Sasl.createSaslServer for the details of the parameters.
      • getTransport

        public TTransport getTransport​(TTransport base)
        Get a new TSaslServerTransport instance, or reuse the existing one if a TSaslServerTransport has already been created before using the given TTransport as an underlying transport. This ensures that a given underlying transport instance receives the same TSaslServerTransport.
        Overrides:
        getTransport in class TTransportFactory
        Parameters:
        base - The base transport
        Returns:
        Wrapped Transport