Class ResourceResolver


  • public class ResourceResolver
    extends java.lang.Object
    During reference validation, we have to retrieve resources from somewhere. This is done by retrieving a Resolver. The resolver needs two arguments: The URI in which the link to the new resource is defined and the baseURI of the file/entity in which the URI occurs (the baseURI is the same as the SystemId).
    • Field Detail

      • allowUnsafeResourceResolving

        private static boolean allowUnsafeResourceResolving
      • LOG

        private static final org.slf4j.Logger LOG
      • resolverList

        private static final java.util.List<ResourceResolver> resolverList
        these are the system-wide resolvers
    • Constructor Detail

      • ResourceResolver

        public ResourceResolver​(ResourceResolverSpi resourceResolver)
        Constructor ResourceResolver
        Parameters:
        resourceResolver -
    • Method Detail

      • register

        public static void register​(java.lang.String className)
        Registers a ResourceResolverSpi class. This method LOGs a warning if the class cannot be registered.
        Parameters:
        className - the name of the ResourceResolverSpi class to be registered
        Throws:
        java.lang.SecurityException - if a security manager is installed and the caller does not have permission to register a resource resolver
      • registerAtStart

        public static void registerAtStart​(java.lang.String className)
        Registers a ResourceResolverSpi class at the beginning of the provider list. This method LOGs a warning if the class cannot be registered.
        Parameters:
        className - the name of the ResourceResolverSpi class to be registered
        Throws:
        java.lang.SecurityException - if a security manager is installed and the caller does not have permission to register a resource resolver
      • register

        public static void register​(java.lang.Class<? extends ResourceResolverSpi> className,
                                    boolean start)
        Registers a ResourceResolverSpi class. This method LOGs a warning if the class cannot be registered.
        Parameters:
        className -
        start -
        Throws:
        java.lang.SecurityException - if a security manager is installed and the caller does not have permission to register a resource resolver
      • register

        public static void register​(ResourceResolverSpi resourceResolverSpi,
                                    boolean start)
        Registers a ResourceResolverSpi instance. This method LOGs a warning if the class cannot be registered.
        Parameters:
        resourceResolverSpi -
        start -
        Throws:
        java.lang.SecurityException - if a security manager is installed and the caller does not have permission to register a resource resolver
      • registerDefaultResolvers

        public static void registerDefaultResolvers()
        This method registers the default resolvers.
      • setProperty

        public void setProperty​(java.lang.String key,
                                java.lang.String value)
        Method setProperty
        Parameters:
        key -
        value -
      • getProperty

        public java.lang.String getProperty​(java.lang.String key)
        Method getProperty
        Parameters:
        key -
        Returns:
        the value of the property
      • addProperties

        public void addProperties​(java.util.Map<java.lang.String,​java.lang.String> properties)
        Method addProperties
        Parameters:
        properties -
      • getPropertyKeys

        public java.lang.String[] getPropertyKeys()
        Method getPropertyKeys
        Returns:
        all property keys.
      • understandsProperty

        public boolean understandsProperty​(java.lang.String propertyToTest)
        Method understandsProperty
        Parameters:
        propertyToTest -
        Returns:
        true if the resolver understands the property
      • isURISafeToResolve

        public static boolean isURISafeToResolve​(org.w3c.dom.Attr uriAttr,
                                                 java.lang.String baseUri)
      • canResolve

        private boolean canResolve​(ResourceResolverContext context)
        Method canResolve
        Parameters:
        context -
        Returns:
        true if it can resolve the uri