io.vertx.rxjava.servicediscovery

## Class ServiceReference

- java.lang.Object
- - io.vertx.rxjava.servicediscovery.ServiceReference

-     public class ServiceReference
      extends Object

  Once a consumer has chosen a service, it builds a `ServiceReference` managing the binding with the chosen service provider.

  The reference lets the consumer: * access the service (via a proxy or a client) with the `get()` method * release the reference - so the binding between the consumer and the provider is removed

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

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ServiceReference(ServiceReference delegate)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `<T> T` | `cached()` Gets the service object if already retrieved.
    `<T> T` | `get()` Gets the object to access the service.
    `Object` | `getDelegate()`
    `static ServiceReference` | `newInstance(ServiceReference arg)`
    `Record` | `record()`
    `void` | `release()` Releases the reference.

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ServiceReference

          public ServiceReference(ServiceReference delegate)

  - ### Method Detail

    - #### getDelegate

          public Object getDelegate()

    - #### record

          public Record record()

      Returns:
        the service record.

    - #### get

          public <T> T get()

      Gets the object to access the service. It can be a proxy, a client or whatever object. The type depends on the service type and the server itself.
      Returns:
        the object to access the service

    - #### cached

          public <T> T cached()

      Gets the service object if already retrieved. It won't try to acquire the service object if not retrieved yet.
      Returns:
        the object, `null` if not yet retrieved

    - #### release

          public void release()

      Releases the reference. Once released, the consumer must not use the reference anymore. This method must be idempotent and defensive, as multiple call may happen.

    - #### newInstance

          public static ServiceReference newInstance(ServiceReference arg)

Copyright © 2016. All rights reserved.