Package: io.vertx.groovy.servicediscovery.spi

## [Groovy] Class ServiceExporter

- io.vertx.groovy.servicediscovery.spi.ServiceExporter

- The service exporter allows integrate other discovery technologies with the Vert.x service discovery. It maps entries from another technology to a and maps to a publication in this other technology. The exporter is one side of a service discovery bridge.

- - ### Constructor Summary

    Constructors
    Constructor and description
    `ServiceExporter (java.lang.Object delegate)`

  - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `void` | `close(io.vertx.core.Handler<java.lang.Void> closeHandler)` Close the exporter
    `java.lang.Object` | `getDelegate()`
    `void` | `init(Vertx vertx, ServicePublisher publisher, java.util.Map<java.lang.String, java.lang.Object> configuration, Future<java.lang.Void> future)` Starts the exporter.
    `void` | `onPublish(java.util.Map<java.lang.String, java.lang.Object> record = [:])` Notify a new record has been published, the record's registration can be used to uniquely identify the record
    `void` | `onUnpublish(java.lang.String id)` Notify an existing record has been removed
    `void` | `onUpdate(java.util.Map<java.lang.String, java.lang.Object> record = [:])` Notify an existing record has been updated, the record's registration can be used to uniquely identify the record

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class java.lang.Object` | `java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()`

- - ### Constructor Detail

    - #### ServiceExporter(java.lang.Object delegate)

  - ### Method Detail

    - #### void close(io.vertx.core.Handler<java.lang.Void> closeHandler)

      Close the exporter

      Parameters:
        `closeHandler` - the handle to be notified when exporter is closed, may be `null`

    - #### java.lang.Object getDelegate()

    - #### void init(Vertx vertx, ServicePublisher publisher, java.util.Map<java.lang.String, java.lang.Object> configuration, Future<java.lang.Void> future)

      Starts the exporter.

      Parameters:
        `vertx` - the vertx instance
        `publisher` - the service discovery instance
        `configuration` - the bridge configuration if any
        `future` - a future on which the bridge must report the completion of the starting

    - #### void onPublish(java.util.Map<java.lang.String, java.lang.Object> record = [:])

      Notify a new record has been published, the record's registration can be used to uniquely identify the record

      Parameters:
        `record` - the record (see Record)

    - #### void onUnpublish(java.lang.String id)

      Notify an existing record has been removed

      Parameters:
        `id` - the record registration id

    - #### void onUpdate(java.util.Map<java.lang.String, java.lang.Object> record = [:])

      Notify an existing record has been updated, the record's registration can be used to uniquely identify the record

      Parameters:
        `record` - the record (see Record)