com.ihr.xbrl.om

## Class DTSContainerPropertiesHelper

- java.lang.Object
- - com.ihr.xbrl.om.DTSContainerPropertiesHelper

-     public class DTSContainerPropertiesHelper
      extends java.lang.Object

  This class holds a static configuration of DTSContainer properties in order to help in the development of GUIs about which properties belongs to every processor and which are the allowed property values.
  Since:
    2.7.1
  Author:
    Ignacio

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `addProperty(java.lang.String processor, java.lang.String propertyName, java.lang.String propertyDescriptionOnGui, java.lang.String propertyToolTip, java.lang.Object defaultValue, java.lang.Object... values)` Adds a property to the database and registers the property values, by convention, the first value is the default value.
    `static java.lang.String` | `getProcessorNameOnGui(java.lang.String processorName)` Access to the processor name on GUIs.
    `static java.lang.String[]` | `getProcessorNames()` Gets the processor names.
    `static java.lang.String` | `getProcessorProperty(java.lang.String propertyName)` Access to the processor the property belongs to.
    `static java.lang.String` | `getProcessorToolTip(java.lang.String processorName)` Access to the processor tool tip on GUIs.
    `static java.lang.Object` | `getPropertyDefaultValue(java.lang.String propertyName)` Access to the property descriptive text.
    `static java.lang.Object` | `getPropertyDefaultValue(java.lang.String processorName, java.lang.String propertyName)` Access to the property default value registered for a specific processor.
    `static java.lang.String` | `getPropertyDescription(java.lang.String propertyName)` Access to the property descriptive text.
    `static java.lang.String` | `getPropertyDescription(java.lang.String processorName, java.lang.String propertyName)` Access to the property descriptive text registered for a specific processor.
    `static java.lang.String[]` | `getPropertyNames(java.lang.String processorName)` Access to an array of property names registered for a single processor.
    `static java.lang.String` | `getPropertyToolTip(java.lang.String propertyName)` Access to the property descriptive text.
    `static java.lang.String` | `getPropertyToolTip(java.lang.String processorName, java.lang.String propertyName)` Access to the property tool tip text registered for a specific processor.
    `static java.lang.Object[]` | `getPropertyValues(java.lang.String propertyName)` Access to the array of property values assigned to a specific property regardless on which processor the property belongs to.
    `static java.lang.Object[]` | `getPropertyValues(java.lang.String processorName, java.lang.String propertyName)` Access to the array of property values assigned to the processor name and property name.
    `static java.lang.String[]` | `getRequiredProcessors(java.lang.String processorName)` Gets the required processors.
    `static void` | `registerProcessor(XBRLPlugInProcessor processor, java.lang.String processorDescriptionOnGui, java.lang.String processorToolTip, java.lang.String[] requiredProcessors)` Registers a new processor on this helper.

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

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

- - ### Method Detail

    - #### registerProcessor

          public static void registerProcessor(XBRLPlugInProcessor processor,
                               java.lang.String processorDescriptionOnGui,
                               java.lang.String processorToolTip,
                               java.lang.String[] requiredProcessors)

      Registers a new processor on this helper.
      Parameters:
        `processor` - cannot be null. if already registered this method does nothing.
        `processorDescriptionOnGui` - short processor description suitable for a tab name
        `processorToolTip` - long processor description suitable for the tool tip on the same tab
        `requiredProcessors` - string array of processor names this processor depends on.

    - #### addProperty

          public static void addProperty(java.lang.String processor,
                         java.lang.String propertyName,
                         java.lang.String propertyDescriptionOnGui,
                         java.lang.String propertyToolTip,
                         java.lang.Object defaultValue,
                         java.lang.Object... values)

      Adds a property to the database and registers the property values, by convention, the first value is the default value.
      Parameters:
        `processor` - the processor name to add a propertyName to
        `propertyName` - the property name
        `propertyDescriptionOnGui` - the property description on gui
        `propertyToolTip` - the property tool tip
        `defaultValue` - the default value
        `values` - ... list of possible values

    - #### getProcessorNames

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

      Gets the processor names.
      Returns:
        the processor names

    - #### getPropertyNames

          public static java.lang.String[] getPropertyNames(java.lang.String processorName)

      Access to an array of property names registered for a single processor.
      Parameters:
        `processorName` - the processor name
      Returns:
        array of strings, empty array of strings if the processor is not registered

    - #### getPropertyValues

          public static java.lang.Object[] getPropertyValues(java.lang.String processorName,
                                             java.lang.String propertyName)

      Access to the array of property values assigned to the processor name and property name. If the property name is not registered for the processor this method returns null.
      Parameters:
        `processorName` - as String
        `propertyName` - as String
      Returns:
        array on Objects with the property values, the first value is the default value, or null if the property does not belong to the processor.

    - #### getPropertyValues

          public static java.lang.Object[] getPropertyValues(java.lang.String propertyName)

      Access to the array of property values assigned to a specific property regardless on which processor the property belongs to.
      Parameters:
        `propertyName` - the property name
      Returns:
        array of Objects with the property values, the first value is the default value, or null if the property does not belong to any registered processor.

    - #### getProcessorProperty

          public static java.lang.String getProcessorProperty(java.lang.String propertyName)

      Access to the processor the property belongs to.
      Parameters:
        `propertyName` - the property name
      Returns:
        processor name as String or null if the property does not belong to any registered processor.

    - #### getProcessorNameOnGui

          public static java.lang.String getProcessorNameOnGui(java.lang.String processorName)

      Access to the processor name on GUIs.
      Parameters:
        `processorName` - the processor name
      Returns:
        the associated string to be used in a GUI or null if the processor is not registered

    - #### getProcessorToolTip

          public static java.lang.String getProcessorToolTip(java.lang.String processorName)

      Access to the processor tool tip on GUIs.
      Parameters:
        `processorName` - the processor name
      Returns:
        the associated string to be used in a tool tip or null if the processor is not registered

    - #### getPropertyDescription

          public static java.lang.String getPropertyDescription(java.lang.String processorName,
                                                java.lang.String propertyName)

      Access to the property descriptive text registered for a specific processor.
      Parameters:
        `processorName` - the processor name for which the property is registered
        `propertyName` - the property name for which the GUI description is requested
      Returns:
        the property description or null if the processor or the property is not registered

    - #### getPropertyDescription

          public static java.lang.String getPropertyDescription(java.lang.String propertyName)

      Access to the property descriptive text.
      Parameters:
        `propertyName` - the property name for which the descriptive text is requested
      Returns:
        the property text or null if the property is not registered for any processor

    - #### getPropertyToolTip

          public static java.lang.String getPropertyToolTip(java.lang.String processorName,
                                            java.lang.String propertyName)

      Access to the property tool tip text registered for a specific processor.
      Parameters:
        `processorName` - the processor name for which the property is registered
        `propertyName` - the property name for which the GUI description is requested
      Returns:
        the property tool tip or null if the processor or the property is not registered

    - #### getPropertyToolTip

          public static java.lang.String getPropertyToolTip(java.lang.String propertyName)

      Access to the property descriptive text.
      Parameters:
        `propertyName` - the property name for which the descriptive text is requested
      Returns:
        the property text or null if the property is not registered for any processor

    - #### getPropertyDefaultValue

          public static java.lang.Object getPropertyDefaultValue(java.lang.String processorName,
                                                 java.lang.String propertyName)

      Access to the property default value registered for a specific processor.
      Parameters:
        `processorName` - the processor name for which the property is registered
        `propertyName` - the property name for which the default value is requested
      Returns:
        the property description or null if the processor or the property is not registered

    - #### getPropertyDefaultValue

          public static java.lang.Object getPropertyDefaultValue(java.lang.String propertyName)

      Access to the property descriptive text.
      Parameters:
        `propertyName` - the property name for which the descriptive text is requested
      Returns:
        the property text or null if the property is not registered for any processor

    - #### getRequiredProcessors

          public static java.lang.String[] getRequiredProcessors(java.lang.String processorName)

      Gets the required processors.
      Parameters:
        `processorName` - the processor name
      Returns:
        the required processors