com.ihr.xbrl.dts

## Interface Member<T>

- Type Parameters:
    `T` - the generic type
  All Superinterfaces:
    java.lang.Cloneable, java.io.Serializable
  All Known Implementing Classes:
    IdentifierMember, InstantModeMember, MemberDuplicate, MemberQName, MemberString, NullMember, OpenTableRowKeyMember, PeriodMember, PMember, XMLFragmentMember

      public interface Member<T>
      extends java.lang.Cloneable, java.io.Serializable

  A Member is a Dimension Member as defined in the XDT specification.

  The XDT Processor is optimized for validation purposes so the XDT processor does not care about the hierarchy of the domain members and order of the relationships. This Member class does care about that by using a similar exploration of the relationships in the DTS but taking care of the representation aspects.

  Author:
    Ignacio

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addDomain(java.util.Collection<Member<?>> members)` Adds a domain of members.
    `Member<T>` | `clone()` Clone constructor.
    `int` | `compareTo(Member<?> o2)` Compare to.
    `Dimension<?>` | `getDimension()` Access back to the dimensions this member has belongs to.
    `java.util.Collection<Member<?>>` | `getDomain()` Returns the available sub members of this member.
    `T` | `getMember()` Access to the member.
    `boolean` | `hasDomain()` Returns true if the member is a Domain and has sub-members.
    `boolean` | `isAbstract()` This method returns true if the member associated is abstract.
    `boolean` | `isNegated()` Negated are shown in red color font.
    `boolean` | `isNet()` Nets are shown in bold font.
    `boolean` | `isPrimary()` This method returns true if the member is a primary item, otherwise is a dimension member of either an XDT dimension or a Virtual dimension.
    `boolean` | `isTotal()` Totals are shown in bold font.
    `boolean` | `isVisible()` Must return true if the member is going to be visualized in rows or columns.
    `Dimension<?>` | `setDimension(Dimension<?> newDimension)` Set or change the assigned dimension of this member
    `void` | `setVisible(boolean value)` Sets the visibility parameter value for this member.

- - ### Method Detail

    - #### clone

          Member<T> clone()

      Clone constructor.
      Returns:
        the member

    - #### getMember

          T getMember()

      Access to the member.
      Returns:
        element of the class of the Member type

    - #### hasDomain

          boolean hasDomain()

      Returns true if the member is a Domain and has sub-members.
      Returns:
        boolean value

    - #### getDomain

          java.util.Collection<Member<?>> getDomain()

      Returns the available sub members of this member. In the case there were no sub-members the function returns null.
      Returns:
        Collection of sub members of class T
      See Also:
        `hasDomain()`

    - #### addDomain

          void addDomain(java.util.Collection<Member<?>> members)

      Adds a domain of members. This method should be called only if the member has no domain. This method should use the clone<T> method for adding copies of the members that are passed as parameter
      Parameters:
        `members` - the members

    - #### isAbstract

          boolean isAbstract()

      This method returns true if the member associated is abstract.
      Returns:
        boolean

    - #### isPrimary

          boolean isPrimary()

      This method returns true if the member is a primary item, otherwise is a dimension member of either an XDT dimension or a Virtual dimension.
      Returns:
        true, if is primary

    - #### getDimension

          Dimension<?> getDimension()

      Access back to the dimensions this member has belongs to.
      Returns:
        the dimension

    - #### setDimension

          Dimension<?> setDimension(Dimension<?> newDimension)

      Set or change the assigned dimension of this member
      Parameters:
        `newDimension` - the new dimension
      Returns:
        the previouly assigned dimension or null

    - #### compareTo

          int compareTo(Member<?> o2)

      Compare to.
      Parameters:
        `o2` - the o2
      Returns:
        the int

    - #### isVisible

          boolean isVisible()

      Must return true if the member is going to be visualized in rows or columns. If false, the member will be hidden and all children elements too
      Returns:
        boolean value

    - #### setVisible

          void setVisible(boolean value)

      Sets the visibility parameter value for this member.
      Parameters:
        `value` - the new visible

    - #### isTotal

          boolean isTotal()

      Totals are shown in bold font. This method returns true when the item is assigned to a total role
      Returns:
        true, if is total

    - #### isNet

          boolean isNet()

      Nets are shown in bold font. This method returns true when the item is assigned the net role
      Returns:
        true, if is net

    - #### isNegated

          boolean isNegated()

      Negated are shown in red color font. This method returns true when the item is assigned to a negated role
      Returns:
        true, if is negated