com.hazelcast.core

## Interface DistributedObject

- All Known Subinterfaces:
    AsyncAtomicLong, AsyncAtomicReference<E>, BaseMap<K,V>, BaseMultiMap<K,V>, BaseQueue<E>, CardinalityEstimator, DurableExecutorService, FencedLock, FlakeIdGenerator, HazelcastXAResource, IAtomicLong, IAtomicReference<E>, ICache<K,V>, ICacheJet<K,V>, ICollection<E>, ICountDownLatch, IdGenerator, IExecutorService, IList<E>, IListJet<E>, ILock, IMap<K,V>, IMapJet<K,V>, IQueue<E>, IScheduledExecutorService, ISemaphore, ISet<E>, ITopic<E>, JobTracker, com.hazelcast.map.impl.LegacyAsyncMap<K,V>, MultiMap<K,V>, PNCounter, PrefixedDistributedObject, ReplicatedMap<K,V>, Ringbuffer<E>, TransactionalList<E>, TransactionalMap<K,V>, TransactionalMultiMap<K,V>, TransactionalObject, TransactionalQueue<E>, TransactionalSet<E>
  All Known Implementing Classes:
    AbstractDistributedObject, AtomicLongProxy, AtomicReferenceProxy, ClientAtomicLongProxy, ClientAtomicReferenceProxy, ClientCardinalityEstimatorProxy, ClientConditionProxy, ClientCountDownLatchProxy, ClientDurableExecutorServiceProxy, ClientExecutorServiceProxy, ClientFlakeIdGeneratorProxy, ClientIdGeneratorProxy, ClientListProxy, ClientLockProxy, ClientMapProxy, ClientMapReduceProxy, ClientMultiMapProxy, ClientPNCounterProxy, ClientProxy, ClientQueueProxy, ClientReliableTopicProxy, ClientReplicatedMapProxy, ClientRingbufferProxy, ClientScheduledExecutorProxy, ClientScheduledFutureProxy, ClientSemaphoreProxy, ClientSetProxy, ClientTopicProxy, ClientTxnListProxy, ClientTxnMapProxy, ClientTxnMultiMapProxy, ClientTxnQueueProxy, ClientTxnSetProxy, CountDownLatchProxy, IdGeneratorImpl, IdGeneratorProxy, LockProxy, NearCachedClientMapProxy, PNCounterProxy, SemaphoreProxy, TransactionalDistributedObject, XAResourceProxy

      public interface DistributedObject

  Base interface for all distributed objects. All distributed objects are not garbage collectable unless `destroy()` is called first. Note: Failure to destroy after you are done using a distributed object will lead to memory leaks.
  See Also:
    `IMap`, `IQueue`, `MultiMap`, `ITopic`, `ILock`, `IExecutorService`, `TransactionalMap`, `TransactionalQueue`, `TransactionalMultiMap`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `destroy()` Destroys this object cluster-wide.
    `String` | `getName()` Returns the unique name for this DistributedObject.
    `String` | `getPartitionKey()` Returns the key of the partition that this DistributedObject is assigned to.
    `String` | `getServiceName()` Returns the service name for this object.

- - ### Method Detail

    - #### getPartitionKey

          String getPartitionKey()

      Returns the key of the partition that this DistributedObject is assigned to. The returned value only has meaning for a non-partitioned data structure like an `IAtomicLong`. For a partitioned data structure like an `IMap`, the returned value will not be null, but otherwise undefined.
      Returns:
        the partition key.

    - #### getName

          String getName()

      Returns the unique name for this DistributedObject. The returned value will never be null. The suggested way for getting name is retrieving it through `DistributedObjectUtil.getName(DistributedObject)` because this might be also a `PrefixedDistributedObject`.
      Returns:
        the unique name for this object.

    - #### getServiceName

          String getServiceName()

      Returns the service name for this object.
      Returns:
        the service name for this object.

    - #### destroy

          void destroy()

      Destroys this object cluster-wide. Clears and releases all resources for this object.

Copyright © 2019. All rights reserved.