com.ihr.xbrl.om

## Class GUIURIResolver

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

- All Implemented Interfaces:
    DTSCascadeURIResolver, javax.xml.transform.URIResolver

      public class GUIURIResolver
      extends java.lang.Object
      implements DTSCascadeURIResolver

  After creating a DTSContainer, applications with an user interface can create an instance of the GUIURIResolverFactory class and then call the DTSContainer method doCallInstallDTSURIResolver on the DTSContainer object in order to register the new resolver.

  If the file cannot be resolved by the surrounding URIResolvers, this class will pop-up a dialog to the user telling what's going on. Then the user will have the chance to search for the file in the local file system (or external URI). If a file or URI is assigned, then, the mapping is stored in the XBRLCatalog file for further resolutions (and in the object model representation of it in memory). Then, the same method is called recursively in order to make use the mapping is correct. In case of the user decides to cancel the mapping process null is returned and most probably a DTSDiscoveryException will be generated.

  Since:
    2.6.12
  Author:
    Ignacio

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `GUIURIResolver(URIResolverGUI theGUI, javax.xml.transform.URIResolver nextResolver, DTSCatalogURIResolver dtsCatalogURIResolver)` Instantiates a new GUIURI resolver.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `javax.xml.transform.URIResolver` | `getNextResolver()` The next resolved in the cascade. null means this is the last resolver
    `javax.xml.transform.Source` | `resolve(java.lang.String href, java.lang.String base)`
    `void` | `setNextResolver(javax.xml.transform.URIResolver newNextResolver)` Sets the next resolver to the resolver specified in the parameter.

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

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

- - ### Constructor Detail

    - #### GUIURIResolver

          public GUIURIResolver(URIResolverGUI theGUI,
                        javax.xml.transform.URIResolver nextResolver,
                        DTSCatalogURIResolver dtsCatalogURIResolver)

      Instantiates a new GUIURI resolver.
      Parameters:
        `theGUI` - the the gui
        `nextResolver` - the next resolver
        `dtsCatalogURIResolver` - this may be null. If null no entries will be stored in the DTSCatalog in memory

  - ### Method Detail

    - #### resolve

          public javax.xml.transform.Source resolve(java.lang.String href,
                                           java.lang.String base)
                                             throws javax.xml.transform.TransformerException

      Specified by:
        `resolve` in interface `javax.xml.transform.URIResolver`
      Throws:
        `javax.xml.transform.TransformerException`

    - #### getNextResolver

          public javax.xml.transform.URIResolver getNextResolver()

      Description copied from interface: `DTSCascadeURIResolver`
      The next resolved in the cascade. null means this is the last resolver
      Specified by:
        `getNextResolver` in interface `DTSCascadeURIResolver`
      Returns:
        URIResolver

    - #### setNextResolver

          public void setNextResolver(javax.xml.transform.URIResolver newNextResolver)

      Description copied from interface: `DTSCascadeURIResolver`
      Sets the next resolver to the resolver specified in the parameter.
      Specified by:
        `setNextResolver` in interface `DTSCascadeURIResolver`
      Parameters:
        `newNextResolver` - the new next resolver