Class ConnectionConfiguration.Builder<B extends ConnectionConfiguration.Builder<B,C>,C extends ConnectionConfiguration>

java.lang.Object
org.jivesoftware.smack.ConnectionConfiguration.Builder<B,C>
Type Parameters:
B - the builder type parameter.
C - the resulting connection configuration type parameter.
Direct Known Subclasses:
BOSHConfiguration.Builder, ModularXmppClientToServerConnectionConfiguration.Builder, XMPPTCPConnectionConfiguration.Builder
Enclosing class:
ConnectionConfiguration

public abstract static class ConnectionConfiguration.Builder<B extends ConnectionConfiguration.Builder<B,C>,C extends ConnectionConfiguration> extends Object
A builder for XMPP connection configurations.

This is an abstract class that uses the builder design pattern and the "getThis() trick" to recover the type of the builder in a class hierarchies with a self-referential generic supertype. Otherwise chaining of build instructions from the superclasses followed by build instructions of a subclass would not be possible, because the superclass build instructions would return the builder of the superclass and not the one of the subclass. You can read more about it a Angelika Langer's Generics FAQ, especially the entry What is the "getThis()" trick?.