Package org.eclipse.lemminx.uriresolver

## Class URIResolverExtensionManager

- java.lang.Object
- - org.eclipse.lemminx.uriresolver.URIResolverExtensionManager

All Implemented Interfaces:
  `org.apache.xerces.xni.parser.XMLEntityResolver`, `IExternalGrammarLocationProvider`, `URIResolverExtension`

    public class URIResolverExtensionManager
    extends Object
    implements URIResolverExtension, IExternalGrammarLocationProvider

URI resolver manager.

### Field Summary

### Fields inherited from interface org.eclipse.lemminx.uriresolver.IExternalGrammarLocationProvider

`DOCTYPE, NO_NAMESPACE_SCHEMA_LOCATION, RELAXNG, SCHEMA_LOCATION`

### Fields inherited from interface org.eclipse.lemminx.uriresolver.URIResolverExtension

`DEFAULT`

### Constructor Summary

Constructors
`URIResolverExtensionManager()`

### Method Summary

All Methods Instance Methods Concrete Methods
`Map<String,​String>` `getExternalGrammarLocation​(URI fileURI)` Provided the file path URI, this will return the external schema location.
`void` `registerResolver​(URIResolverExtension resolver)` Register an URI resolver.
`String` `resolve​(String baseLocation, String publicId, String systemId)`
`org.apache.xerces.xni.parser.XMLInputSource` `resolveEntity​(org.apache.xerces.xni.XMLResourceIdentifier resourceIdentifier)`
`ResolvedURIInfo` `resolveInfo​(String baseLocation, String publicId, String systemId)`
`void` `unregisterResolver​(URIResolverExtension resolver)` Unregister an URI resolver.

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

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

### Methods inherited from interface org.eclipse.lemminx.uriresolver.URIResolverExtension

`getName`

### Constructor Detail

#### URIResolverExtensionManager

    public URIResolverExtensionManager()

### Method Detail

#### registerResolver

    public void registerResolver​(URIResolverExtension resolver)

Register an URI resolver.

Parameters:
  `resolver` - the URI resolver to register.

#### unregisterResolver

    public void unregisterResolver​(URIResolverExtension resolver)

Unregister an URI resolver.

Parameters:
  `resolver` - the URI resolver to unregister.

#### resolve

    public String resolve​(String baseLocation,
                          String publicId,
                          String systemId)

Specified by:
  `resolve` in interface `URIResolverExtension`
Parameters:
  `baseLocation` - - the location of the resource that contains the uri
  `publicId` - - an optional public identifier (i.e. namespace name), or null if none
  `systemId` - - an absolute or relative URI, or null if none
Returns:
  an absolute URI representation of the 'logical' location of the resource

#### resolveInfo

    public ResolvedURIInfo resolveInfo​(String baseLocation,
                                       String publicId,
                                       String systemId)

#### resolveEntity

    public org.apache.xerces.xni.parser.XMLInputSource resolveEntity​(org.apache.xerces.xni.XMLResourceIdentifier resourceIdentifier)
                                                              throws org.apache.xerces.xni.XNIException,
                                                                     IOException

Specified by:
  `resolveEntity` in interface `URIResolverExtension`
Specified by:
  `resolveEntity` in interface `org.apache.xerces.xni.parser.XMLEntityResolver`
Throws:
  `org.apache.xerces.xni.XNIException`
  `IOException`

#### getExternalGrammarLocation

    public Map<String,​String> getExternalGrammarLocation​(URI fileURI)

Description copied from interface: `IExternalGrammarLocationProvider`
Provided the file path URI, this will return the external schema location. The schema location is associated to a specific property, which serves as the key in the map. The supported properties are:

http://apache.org/xml/properties/schema/external-schemaLocation - The value for this property follows the same rules as the schemaLocation attribute for an XML document (i.e., multiple schemas are acceptable and must be white-space separated).

http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation - The value for this property follows the same rules as the noNamespaceSchemaLocation attribute for an XML document (i.e., only one schema is allowed).

Specified by:
  `getExternalGrammarLocation` in interface `IExternalGrammarLocationProvider`
Returns:
  a `Map` associating the external-schemaLocation and/or external-noNamespaceSchemaLocation to the schema location