Package org.apache.commons.lang3.concurrent

# Class ConstantInitializer<T>

java.lang.Object
org.apache.commons.lang3.concurrent.ConstantInitializer<T>

Type Parameters:
  `T` - the type of the object managed by this initializer

All Implemented Interfaces:
  `ConcurrentInitializer<T>`, `FailableSupplier<T,ConcurrentException>`

public class ConstantInitializer<T> extends Object implements ConcurrentInitializer<T>
A very simple implementation of the `ConcurrentInitializer` interface which always returns the same object.

An instance of this class is passed a reference to an object when it is constructed. The `get()` method just returns this object. No synchronization is required.

This class is useful for instance for unit testing or in cases where a specific object has to be passed to an object which expects a `ConcurrentInitializer`.

Since:
  3.0

- ## Field Summary

  ### Fields inherited from interface org.apache.commons.lang3.function.FailableSupplier

  `NUL`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ConstantInitializer(T obj)`
  Creates a new instance of `ConstantInitializer` and initializes it with the object to be managed.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object obj)`
  Compares this object with another one.
  `T`
  `get()`
  Gets the object managed by this initializer.
  `final T`
  `getObject()`
  Directly returns the object that was passed to the constructor.
  `int`
  `hashCode()`
  Returns a hash code for this object.
  `boolean`
  `isInitialized()`
  As a `ConstantInitializer` is initialized on construction this will always return true.
  `String`
  `toString()`
  Returns a string representation for this object.

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

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

- ## Constructor Details

  - ### ConstantInitializer

    public ConstantInitializer(T obj)
    Creates a new instance of `ConstantInitializer` and initializes it with the object to be managed. The `get()` method will always return the object passed here. This class does not place any restrictions on the object. It may be null, then `get()` will return null, too.
    Parameters:
      `obj` - the object to be managed by this initializer

- ## Method Details

  - ### equals

    public boolean equals(Object obj)
    Compares this object with another one. This implementation returns true if and only if the passed in object is an instance of `ConstantInitializer` which refers to an object equals to the object managed by this instance.
    Overrides:
      `equals` in class `Object`
    Parameters:
      `obj` - the object to compare to
    Returns:
      a flag whether the objects are equal

  - ### get

    public T get() throws ConcurrentException
    Gets the object managed by this initializer. This implementation just returns the object passed to the constructor.
    Specified by:
      `get` in interface `FailableSupplier<T,ConcurrentException>`
    Returns:
      the object managed by this initializer
    Throws:
      `ConcurrentException` - if an error occurs

  - ### getObject

    public final T getObject()
    Directly returns the object that was passed to the constructor. This is the same object as returned by `get()`. However, this method does not declare that it throws an exception.
    Returns:
      the object managed by this initializer

  - ### hashCode

    public int hashCode()
    Returns a hash code for this object. This implementation returns the hash code of the managed object.
    Overrides:
      `hashCode` in class `Object`
    Returns:
      a hash code for this object

  - ### isInitialized

    public boolean isInitialized()
    As a `ConstantInitializer` is initialized on construction this will always return true.
    Returns:
      true.
    Since:
      3.14.0

  - ### toString

    public String toString()
    Returns a string representation for this object. This string also contains a string representation of the object managed by this initializer.
    Overrides:
      `toString` in class `Object`
    Returns:
      a string for this object