ConstantInitializer
Date: 2017-02-08

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>

      public class ConstantInitializer<T>
      extends java.lang.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

- - ### Constructor Summary

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(java.lang.Object obj)` Compares this object with another one.
    `T` | `get()` Returns the object managed by this initializer.
    `T` | `getObject()` Directly returns the object that was passed to the constructor.
    `int` | `hashCode()` Returns a hash code for this object.
    `java.lang.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 Detail

    - #### 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 Detail

    - #### 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

    - #### get

          public T get()
                throws ConcurrentException

      Returns the object managed by this initializer. This implementation just returns the object passed to the constructor.
      Specified by:
        `get` in interface `ConcurrentInitializer<T>`
      Returns:
        the object managed by this initializer
      Throws:
        `ConcurrentException` - if an error occurs

    - #### 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 `java.lang.Object`
      Returns:
        a hash code for this object

    - #### equals

          public boolean equals(java.lang.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 `java.lang.Object`
      Parameters:
        `obj` - the object to compare to
      Returns:
        a flag whether the objects are equal

    - #### toString

          public java.lang.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 `java.lang.Object`
      Returns:
        a string for this object