com.ihr.xbrl.mapper

## Interface HasFacts

- All Known Implementing Classes:
    Fact, Mapper, MapperBase

      public interface HasFacts

  This interface is implemented by the Mapper and the Fact classes Both are able to provide a collection of children facts .
  Author:
    Ignacio

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addFact(Fact newFact)` Adds a new Fact to the end of the Facts container.
    `void` | `addFactAt(Fact newFact, int pos)` Adds a new Fact at the position indicated by pos.
    `void` | `delFact(Fact fact)` Removes a fact from the container.
    `boolean` | `equals(java.lang.Object obj)` Equals.
    `java.util.Iterator<Fact>` | `getChildrenFacts()` Access to an iterator over the children facts of this object.
    `HasFacts` | `getParent()` Access to the parent element of a Fact.
    `int` | `hashCode()` Hash code.
    `void` | `registerFact(Fact fact)` Registers a new fact has been added to the container.
    `void` | `unregisterFact(Fact fact)` Same as `registerFact(Fact)` but in this case for removing the information stored.

- - ### Method Detail

    - #### getChildrenFacts

          java.util.Iterator<Fact> getChildrenFacts()

      Access to an iterator over the children facts of this object.
      Returns:
        Iterator over children facts

    - #### getParent

          HasFacts getParent()

      Access to the parent element of a Fact. This is null only when the current HasFacts is a template document
      Returns:
        Fact that represents a tupleFact or templateDocument. Null when current HasFacts object is the template.

    - #### addFact

          void addFact(Fact newFact)

      Adds a new Fact to the end of the Facts container.

      This method does not updates the taxonomy URLs.

      Parameters:
        `newFact` - the new fact to be added

    - #### addFactAt

          void addFactAt(Fact newFact,
                       int pos)

      Adds a new Fact at the position indicated by pos.
      Parameters:
        `newFact` - Fact to be added
        `pos` - integer. Zero based

    - #### delFact

          void delFact(Fact fact)

      Removes a fact from the container.
      Parameters:
        `fact` - Fact to remove

    - #### registerFact

          void registerFact(Fact fact)

      Registers a new fact has been added to the container. This method updates the Hashtables in the instance template and passes UP to its parent the registration of facts for tuples. This method is called internally by the API and should not be called manually
      Parameters:
        `fact` - the fact

    - #### unregisterFact

          void unregisterFact(Fact fact)

      Same as `registerFact(Fact)` but in this case for removing the information stored.
      Parameters:
        `fact` - the fact

    - #### hashCode

          int hashCode()

      Hash code.
      Overrides:
        `hashCode` in class `java.lang.Object`
      Returns:
        the int

    - #### equals

          boolean equals(java.lang.Object obj)

      Equals.
      Overrides:
        `equals` in class `java.lang.Object`
      Parameters:
        `obj` - the obj
      Returns:
        true, if successful