org.apache.commons.discovery.jdk
Class JDKHooks

java.lang.Object
  extended by org.apache.commons.discovery.jdk.JDKHooks
Direct Known Subclasses:
JDK11Hooks, JDK12Hooks

public abstract class JDKHooks
extends java.lang.Object

JDK Hooks to extract properties/resources.


Constructor Summary
protected JDKHooks()
          Hidden constructor, this class can't be directly instantiated.
 
Method Summary
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


Copyright © 2002-2012. All Rights Reserved.