Package io.vertx.reactivex.core

## Class VertxBuilder

- java.lang.Object
- - io.vertx.reactivex.core.VertxBuilder

- All Implemented Interfaces:
    `io.vertx.lang.rx.RxDelegate`

      public class VertxBuilder
      extends Object
      implements io.vertx.lang.rx.RxDelegate

  A builder for creating Vert.x instances, allowing to configure Vert.x plugins:
  - metrics
  - tracing
  - cluster manager
  Example usage:

         Vertx vertx = Vertx.builder().with(options).withMetrics(metricsFactory).build();

  NOTE: This class has been automatically generated from the `original` non RX-ified interface using Vert.x codegen.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static io.vertx.lang.rx.TypeArg<VertxBuilder>` | `__TYPE_ARG` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `VertxBuilder​(VertxBuilder delegate)` |
    `VertxBuilder​(Object delegate)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Vertx` | `build()` | Creates a non clustered instance.
    `Future<Vertx>` | `buildClustered()` | Creates a clustered instance.
    `boolean` | `equals​(Object o)` |
    `VertxBuilder` | `getDelegate()` |
    `int` | `hashCode()` |
    `static VertxBuilder` | `newInstance​(VertxBuilder arg)` |
    `Single<Vertx>` | `rxBuildClustered()` | Creates a clustered instance.
    `String` | `toString()` |
    `VertxBuilder` | `with​(VertxOptions options)` | Configure the Vert.x options.
    `VertxBuilder` | `withClusterManager​(ClusterManager clusterManager)` | Programmatically set the cluster manager to be used when clustering.
    `VertxBuilder` | `withMetrics​(VertxMetricsFactory factory)` | Programmatically set the metrics factory to be used when metrics are enabled.
    `VertxBuilder` | `withTracer​(VertxTracerFactory factory)` | Programmatically set the tracer factory to be used when tracing are enabled.
    `VertxBuilder` | `withTransport​(Transport transport)` | Programmatically set the transport, this overrides `VertxOptions`

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

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

- - ### Field Detail

    - #### __TYPE_ARG

          public static final io.vertx.lang.rx.TypeArg<VertxBuilder> __TYPE_ARG

  - ### Constructor Detail

    - #### VertxBuilder

          public VertxBuilder​(VertxBuilder delegate)

    - #### VertxBuilder

          public VertxBuilder​(Object delegate)

  - ### Method Detail

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### equals

          public boolean equals​(Object o)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### getDelegate

          public VertxBuilder getDelegate()

      Specified by:
        `getDelegate` in interface `io.vertx.lang.rx.RxDelegate`

    - #### with

          public VertxBuilder with​(VertxOptions options)

      Configure the Vert.x options.
      Parameters:
        `options` - the Vert.x options
      Returns:
        a reference to this, so the API can be used fluently

    - #### build

          public Vertx build()

      Creates a non clustered instance.
      Returns:
        the instance

    - #### buildClustered

          public Future<Vertx> buildClustered()

      Creates a clustered instance.

      The instance is created asynchronously and the returned future is completed with the result when it is ready.

      Returns:
        a future completed with the clustered vertx

    - #### rxBuildClustered

          public Single<Vertx> rxBuildClustered()

      Creates a clustered instance.

      The instance is created asynchronously and the returned future is completed with the result when it is ready.

      Returns:
        a future completed with the clustered vertx

    - #### withMetrics

          public VertxBuilder withMetrics​(VertxMetricsFactory factory)

      Programmatically set the metrics factory to be used when metrics are enabled.

      Only valid if = true.

      Normally Vert.x will look on the classpath for a metrics factory implementation, but if you want to set one programmatically you can use this method.

      Parameters:
        `factory` - the metrics factory
      Returns:
        a reference to this, so the API can be used fluently

    - #### withTracer

          public VertxBuilder withTracer​(VertxTracerFactory factory)

      Programmatically set the tracer factory to be used when tracing are enabled.

      Normally Vert.x will look on the classpath for a tracer factory implementation, but if you want to set one programmatically you can use this method.

      Parameters:
        `factory` - the tracer factory
      Returns:
        a reference to this, so the API can be used fluently

    - #### withTransport

          public VertxBuilder withTransport​(Transport transport)

      Programmatically set the transport, this overrides `VertxOptions`
      Parameters:
        `transport` - the transport
      Returns:
        a reference to this, so the API can be used fluently

    - #### withClusterManager

          public VertxBuilder withClusterManager​(ClusterManager clusterManager)

      Programmatically set the cluster manager to be used when clustering.

      Only valid if clustered = true.

      Normally Vert.x will look on the classpath for a cluster manager, but if you want to set one programmatically you can use this method.

      Parameters:
        `clusterManager` - the cluster manager
      Returns:
        a reference to this, so the API can be used fluently

    - #### newInstance

          public static VertxBuilder newInstance​(VertxBuilder arg)