Class JDKHooks

  • Direct Known Subclasses:
    JDK11Hooks, JDK12Hooks

    public abstract class JDKHooks
    extends java.lang.Object
    JDK Hooks to extract properties/resources.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected JDKHooks()
      Hidden constructor, this class can't be directly instantiated.
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      static JDKHooks getJDKHooks()
      Return singleton object representing JVM hooks/tools.
      abstract java.util.Enumeration<java.net.URL> getResources​(java.lang.ClassLoader loader, java.lang.String resourceName)
      Resolve resource with given names and make them available in the returned iterator.
      abstract java.lang.ClassLoader getSystemClassLoader()
      The system class loader is available for JDK 1.2 or later, if certain security conditions are met.
      abstract java.lang.String getSystemProperty​(java.lang.String propName)
      Get the system property
      abstract java.lang.ClassLoader getThreadContextClassLoader()
      The thread context class loader is available for JDK 1.2 or later, if certain security conditions are met.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • JDKHooks

        protected JDKHooks()
        Hidden constructor, this class can't be directly instantiated.
    • Method Detail

      • getJDKHooks

        public static final JDKHooks getJDKHooks()
        Return singleton object representing JVM hooks/tools. TODO: add logic to detect JDK level.
        Returns:
        The detected JDKHooks
      • getSystemProperty

        public abstract java.lang.String getSystemProperty​(java.lang.String propName)
        Get the system property
        Parameters:
        propName - name of the property
        Returns:
        value of the property
      • getThreadContextClassLoader

        public abstract java.lang.ClassLoader getThreadContextClassLoader()
        The thread context class loader is available for JDK 1.2 or later, if certain security conditions are met.
        Returns:
        The thread context class loader, if available. Otherwise return null.
      • getSystemClassLoader

        public abstract java.lang.ClassLoader getSystemClassLoader()
        The system class loader is available for JDK 1.2 or later, if certain security conditions are met.
        Returns:
        The system class loader, if available. Otherwise return null.
      • getResources

        public abstract java.util.Enumeration<java.net.URL> getResources​(java.lang.ClassLoader loader,
                                                                         java.lang.String resourceName)
                                                                  throws java.io.IOException
        Resolve resource with given names and make them available in the returned iterator.
        Parameters:
        loader - The class loader used to resolve resources
        resourceName - The resource name to resolve
        Returns:
        The iterator over the URL resolved resources
        Throws:
        java.io.IOException - if any error occurs while loading the resource