com.ihr.xbrl.dts

## Interface InstanceExplorerInterface

- All Superinterfaces:
    ContextProvider, InstanceExplorerListener, UnitsProvider
  All Known Implementing Classes:
    DimensionalInstanceExplorer, InstanceExplorer, InstanceExplorerAbstract

      public interface InstanceExplorerInterface
      extends ContextProvider, UnitsProvider, InstanceExplorerListener

  The Interface InstanceExplorerInterface.
  Author:
    Ignacio

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addFact(XBRLFact fact)` Received notification that a fact has been added.
    `void` | `clear()` Clear.
    `void` | `delFact(XBRLFact fact, XBRLFactsList parent)` Receives notification that a fact has been removed from the instance being explored.
    `XBRLFactItem` | `findFact(java.util.ArrayList<Member<?>> allMembers)` if the allMembers contains LineTitleMember elements, we need to resolve the hierarchy resolution before calling this method.
    `java.util.Iterator<CompanyKey>` | `getCompanyKeys()` Gets the company keys.
    `XBRLInstance` | `getInstance()` Access to the XBRLInstance in the instance explorer.
    `XBRLUnit` | `getSuggestedUnit(CompanyKey ck, XBRLItem itm)` Gets the suggested unit.
    `boolean` | `hasDataForCompany(CompanyKey company)` Checks for data for company.
    `void` | `setInstance(XBRLInstance instance)` Sets the instance.

    - ### Methods inherited from interface com.ihr.xbrl.dts.ContextProvider

      `addContext, factChangedContext, getCompatibleContexts`

    - ### Methods inherited from interface com.ihr.xbrl.dts.UnitsProvider

      `factChangedUnit, getSuggestedUnits`

    - ### Methods inherited from interface com.ihr.xbrl.dts.InstanceExplorerListener

      `instanceEvent`

- - ### Method Detail

    - #### setInstance

          void setInstance(XBRLInstance instance)

      Sets the instance.
      Parameters:
        `instance` - the new instance

    - #### findFact

          XBRLFactItem findFact(java.util.ArrayList<Member<?>> allMembers)

      if the allMembers contains LineTitleMember elements, we need to resolve the hierarchy resolution before calling this method. In other words, this method no longer supports LineTitleMember as members of the ArrayList
      Parameters:
        `allMembers` - the all members
      Returns:
        the XBRL fact item

    - #### getSuggestedUnit

          XBRLUnit getSuggestedUnit(CompanyKey ck,
                                  XBRLItem itm)

      Gets the suggested unit.
      Parameters:
        `ck` - the ck
        `itm` - the itm
      Returns:
        the suggested unit

    - #### addFact

          void addFact(XBRLFact fact)

      Received notification that a fact has been added.
      Parameters:
        `fact` - the fact

    - #### delFact

          void delFact(XBRLFact fact,
                     XBRLFactsList parent)

      Receives notification that a fact has been removed from the instance being explored.

      Note: after removing a fact from its container the fact parent is set to null.

      The fact has to be removed from the parent container prior to call this method and this is the reason this method has a second parameter that indicated what the parent container was.

      Parameters:
        `fact` - the fact
        `parent` - the parent

    - #### clear

          void clear()

      Clear.

    - #### hasDataForCompany

          boolean hasDataForCompany(CompanyKey company)

      Checks for data for company.
      Parameters:
        `company` - the company
      Returns:
        true, if successful

    - #### getCompanyKeys

          java.util.Iterator<CompanyKey> getCompanyKeys()

      Gets the company keys.
      Returns:
        the company keys

    - #### getInstance

          XBRLInstance getInstance()

      Access to the XBRLInstance in the instance explorer.
      Returns:
        single instance of InstanceExplorerInterface