com.ihr.xbrl.om.utr

## Class UTRProcessor

- java.lang.Object
- - com.ihr.xbrl.om.utr.UTRProcessor

- All Implemented Interfaces:
    XBRLPlugInProcessor

      public class UTRProcessor
      extends java.lang.Object
      implements XBRLPlugInProcessor

  The Class UTRProcessor.
  Author:
    Ignacio

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `UTRProcessor.Status` CR - Candidate Recommendation REC - RECOMMENDATION NIE - Not in effect (for whatever reason other than RR such as being withdrawn, superseded, found to be invalid etc.)

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `PROCESSORNAME` The Constant PROCESSORNAME.
    `static java.lang.String` | `UTR_NS` The Constant UTR_NS.
    `static java.lang.String` | `UTR_OFFICIAL_URL` The Constant UTR_OFFICIAL_URL.
    `static java.lang.String` | `UTR_STATUS_TO_CONSIDER` The UTR_STATUS_TO_CONSIDER property defines what unit definitions form the registry will be considered for validation of units assigned to facts in an instance document.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `clear()` clears all stored information on this processor so validation start from scratch.
    `void` | `configure(java.util.Properties properties)` Configures the processor according with the properties passed in in the properties parameter.
    `static XBRLPlugInProcessor` | `create(DTSContainer dts)` Creates the.
    `java.lang.String` | `getDescription()` Returns the processor description so it can be written in validation reports.
    `static java.lang.String` | `getDescriptionStatic()` Gets the description static.
    `java.lang.String` | `getName()` Returns the processor name so it can be written in validation reports.
    `XBRLUnit` | `getUnit(XBRLItem itm, javax.xml.namespace.QName defaultUnit)` Returns a valid XBRLUnit for the item passed in in the first parameter.
    `boolean` | `isHidden()` A hidden processor will not pop-up in the GUI tabs.
    `XBRLValidationReport` | `validate()` Validates the content of the DTS according to the rules indicated in this plug-in processor.
    `XBRLValidationReport` | `validate(XBRLDocument xDocument)` Validates the document according to the rules indicated in this plug-in processor.
    `XBRLValidationReport` | `validateFact(XBRLFactNumeric xbrlFactNumeric)` Validate fact.

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

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

- - ### Field Detail

    - #### PROCESSORNAME

          public static final java.lang.String PROCESSORNAME

      The Constant PROCESSORNAME.
      See Also:
        Constant Field Values

    - #### UTR_OFFICIAL_URL

          public static final java.lang.String UTR_OFFICIAL_URL

      The Constant UTR_OFFICIAL_URL.
      See Also:
        Constant Field Values

    - #### UTR_STATUS_TO_CONSIDER

          public static final java.lang.String UTR_STATUS_TO_CONSIDER

      The UTR_STATUS_TO_CONSIDER property defines what unit definitions form the registry will be considered for validation of units assigned to facts in an instance document. For example, if you are interested only in considering units with status of REC and CR you can assign to this property the value "REC,CR". All other unit definitions in the UTR registry will be ignored.

      This property key is defined as a constant string "http://www.reportingstandard.com/UTRProcessor/status-to-consider"

      The default value for this property is "REC,CR".

      The complete list of possible values is in the Status enumeration

      See Also:
        `UTRProcessor.Status`, Constant Field Values

    - #### UTR_NS

          public static final java.lang.String UTR_NS

      The Constant UTR_NS.
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### validate

          public XBRLValidationReport validate()

      Description copied from interface: `XBRLPlugInProcessor`
      Validates the content of the DTS according to the rules indicated in this plug-in processor.

      This is the method that is called by the DTSContainer on each XBRLPlugInProcessor when the validation() method is called on the DTSContainer instance.

      Specified by:
        `validate` in interface `XBRLPlugInProcessor`
      Returns:
        an XBRLValidationReport object `XBRLValidationReport`

    - #### validate

          public XBRLValidationReport validate(XBRLDocument xDocument)

      Description copied from interface: `XBRLPlugInProcessor`
      Validates the document according to the rules indicated in this plug-in processor.
      Specified by:
        `validate` in interface `XBRLPlugInProcessor`
      Parameters:
        `xDocument` - the x document
      Returns:
        an XBRLValidationReport object `XBRLValidationReport`

    - #### validateFact

          public XBRLValidationReport validateFact(XBRLFactNumeric xbrlFactNumeric)

      Validate fact.
      Parameters:
        `xbrlFactNumeric` - the xbrl fact numeric
      Returns:
        the XBRL validation report

    - #### getName

          public java.lang.String getName()

      Description copied from interface: `XBRLPlugInProcessor`
      Returns the processor name so it can be written in validation reports.
      Specified by:
        `getName` in interface `XBRLPlugInProcessor`
      Returns:
        the name

    - #### getDescription

          public java.lang.String getDescription()

      Description copied from interface: `XBRLPlugInProcessor`
      Returns the processor description so it can be written in validation reports.
      Specified by:
        `getDescription` in interface `XBRLPlugInProcessor`
      Returns:
        the description

    - #### configure

          public void configure(java.util.Properties properties)

      Description copied from interface: `XBRLPlugInProcessor`
      Configures the processor according with the properties passed in in the properties parameter.
      Specified by:
        `configure` in interface `XBRLPlugInProcessor`
      Parameters:
        `properties` - the properties

    - #### create

          public static XBRLPlugInProcessor create(DTSContainer dts)
                                            throws com.rs.lic.LicenseVerificationException

      Creates the.
      Parameters:
        `dts` - the dts
      Returns:
        the XBRL plug in processor
      Throws:
        `com.rs.lic.LicenseVerificationException` - the license verification exception

    - #### clear

          public void clear()

      clears all stored information on this processor so validation start from scratch.
      Specified by:
        `clear` in interface `XBRLPlugInProcessor`

    - #### getDescriptionStatic

          public static java.lang.String getDescriptionStatic()

      Gets the description static.
      Returns:
        the description static

    - #### getUnit

          public XBRLUnit getUnit(XBRLItem itm,
                         javax.xml.namespace.QName defaultUnit)

      Returns a valid XBRLUnit for the item passed in in the first parameter. During the computation of a valid unit, a "monetary unit" is replaced by the value passed in as the value for the defaultUnit parameter.

      The unit will be new and created in the same DTSContainer as the item in the itm parameter.

      Returns null if no unit is found or cannot be created.

      Parameters:
        `itm` - the itm
        `defaultUnit` - the default unit
      Returns:
        valid XBRLUnit for the item definition itm

    - #### isHidden

          public boolean isHidden()

      Description copied from interface: `XBRLPlugInProcessor`
      A hidden processor will not pop-up in the GUI tabs.
      Specified by:
        `isHidden` in interface `XBRLPlugInProcessor`
      Returns:
        true if processor is hidden. False if the processor has a GUI