com.ihr.xbrl.resolvers

## Class ResolversPool

- java.lang.Object
- - com.ihr.xbrl.resolvers.ResolversPool

-     public class ResolversPool
      extends java.lang.Object

  This is the class with static methods that is able to provide instances of resolvers for simple jobs.
  Author:
    Ignacio

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `obtainCompanyNameFromInstanceRole` The Constant obtainCompanyNameFromInstanceRole.
    `static java.lang.String` | `obtainConceptNameRole` The Constant obtainConceptNameRole.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ResolversPool()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static java.lang.Object` | `doWork(java.lang.String role, java.lang.Object parameter, Supervisor supervisor)` Do the work for the specified role and pass it the required parameters.
    `static java.lang.String[]` | `getRoles()` Returns all roles for which the pool has workers registered.

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

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

- - ### Field Detail

    - #### obtainCompanyNameFromInstanceRole

          public static final java.lang.String obtainCompanyNameFromInstanceRole

      The Constant obtainCompanyNameFromInstanceRole.
      See Also:
        Constant Field Values

    - #### obtainConceptNameRole

          public static final java.lang.String obtainConceptNameRole

      The Constant obtainConceptNameRole.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### ResolversPool

          public ResolversPool()

  - ### Method Detail

    - #### getRoles

          public static java.lang.String[] getRoles()

      Returns all roles for which the pool has workers registered.
      Returns:
        Array of Strings

    - #### doWork

          public static java.lang.Object doWork(java.lang.String role,
                                java.lang.Object parameter,
                                Supervisor supervisor)

      Do the work for the specified role and pass it the required parameters. All registered workers for the same role will be asked to perform the work in sequence until one responds that it can perform the work.
      Parameters:
        `role` - the role requested
        `parameter` - the parameter
        `supervisor` - the supervisor
      Returns:
        null if there are no workers registered for the role or none of the registered workers can do the work