org.basex.query.util.pkg
Class ModuleLoader

java.lang.Object
  extended by org.basex.query.util.pkg.ModuleLoader

public final class ModuleLoader
extends java.lang.Object

Module loader.

Author:
BaseX Team 2005-12, BSD License, Christian Gruen

Constructor Summary
ModuleLoader(Context ctx)
          Constructor.
 
Method Summary
 boolean addImport(byte[] uri, InputInfo ii, QueryParser qp)
          Adds a package from the repository or a Java class.
static java.lang.String capitalize(java.lang.String path)
          Capitalizes the last path segment.
 void close()
          Closes opened jar files.
 java.lang.Class<?> findClass(java.lang.String clz)
          Returns a reference to the specified class.
 java.lang.Object findImport(java.lang.String clz)
          Returns an instance of the specified Java module class.
static java.lang.String uri2path(java.lang.String uri)
          Converts a URI to a directory path.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ModuleLoader

public ModuleLoader(Context ctx)
Constructor.

Parameters:
ctx - database context
Method Detail

close

public void close()
Closes opened jar files.


addImport

public boolean addImport(byte[] uri,
                         InputInfo ii,
                         QueryParser qp)
                  throws QueryException
Adds a package from the repository or a Java class.

Parameters:
uri - module uri
ii - input info
qp - query parser
Returns:
if the package has been found
Throws:
QueryException - query exception

findClass

public java.lang.Class<?> findClass(java.lang.String clz)
                             throws java.lang.Throwable
Returns a reference to the specified class.

Parameters:
clz - fully classified class name
Returns:
found class, or null
Throws:
java.lang.Throwable - any exception or error: ClassNotFoundException, LinkageError or ExceptionInInitializerError.

findImport

public java.lang.Object findImport(java.lang.String clz)
Returns an instance of the specified Java module class.

Parameters:
clz - class to be found
Returns:
instance, or null

uri2path

public static java.lang.String uri2path(java.lang.String uri)

Converts a URI to a directory path. The conversion is inspired by Zorba's URI transformation (http://www.zorba-xquery.com/html/documentation/2.2.0/zorba/uriresolvers):

Parameters:
uri - namespace uri
Returns:
path, or null

capitalize

public static java.lang.String capitalize(java.lang.String path)
Capitalizes the last path segment.

Parameters:
path - input path
Returns:
capitalized path