Class ClasspathOrder

java.lang.Object
nonapi.io.github.classgraph.classpath.ClasspathOrder

public class ClasspathOrder extends Object
A class to find the unique ordered classpath elements.
  • Field Details

  • Method Details

    • getOrder

      public List<ClasspathOrder.ClasspathEntry> getOrder()
      Get the order of classpath elements, uniquified and in order.
      Returns:
      the classpath order.
    • getClasspathEntryUniqueResolvedPaths

      public Set<String> getClasspathEntryUniqueResolvedPaths()
      Get the unique classpath entry strings.
      Returns:
      the classpath entry strings.
    • addClasspathEntry

      public boolean addClasspathEntry(Object pathElement, ClassLoader classLoader, ScanSpec scanSpec, LogNode log)
      Add a classpath element relative to a base file. May be called by a ClassLoaderHandler to add classpath elements that it knows about. ClassLoaders will be called in order.
      Parameters:
      pathElement - the String path, URL or URI of the classpath element, or some object whose Object.toString() method can be called to obtain the classpath element.
      classLoader - the ClassLoader that this classpath element was obtained from.
      scanSpec - the scan spec
      log - the LogNode instance to use if logging in verbose mode.
      Returns:
      true (and add the classpath element) if pathElement is not null, empty, nonexistent, or filtered out by user-specified criteria, otherwise return false.
    • addClasspathEntries

      public boolean addClasspathEntries(List<Object> overrideClasspath, ClassLoader classLoader, ScanSpec scanSpec, LogNode log)
      Add classpath entries, separated by the system path separator character.
      Parameters:
      overrideClasspath - a list of delimited path String, URL, URI or File objects.
      classLoader - the ClassLoader that this classpath was obtained from.
      scanSpec - the scan spec
      log - the LogNode instance to use if logging in verbose mode.
      Returns:
      true (and add the classpath element) if pathElement is not null or empty, otherwise return false.
    • addClasspathPathStr

      public boolean addClasspathPathStr(String pathStr, ClassLoader classLoader, ScanSpec scanSpec, LogNode log)
      Add classpath entries, separated by the system path separator character.
      Parameters:
      pathStr - the delimited string of URLs or paths of the classpath.
      classLoader - the ClassLoader that this classpath was obtained from.
      scanSpec - the scan spec
      log - the LogNode instance to use if logging in verbose mode.
      Returns:
      true (and add the classpath element) if pathElement is not null or empty, otherwise return false.
    • addClasspathEntryObject

      public boolean addClasspathEntryObject(Object pathObject, ClassLoader classLoader, ScanSpec scanSpec, LogNode log)
      Add classpath entries from an object obtained from reflection. The object may be a URL, a URI, a File, a Path or a String (containing a single classpath element path, or several paths separated with File.pathSeparator), a List or other Iterable, or an array object. In the case of Iterables and arrays, the elements may be any type whose toString() method returns a path or URL string (including the URL and Path types).
      Parameters:
      pathObject - the object containing a classpath string or strings.
      classLoader - the ClassLoader that this classpath was obtained from.
      scanSpec - the scan spec
      log - the LogNode instance to use if logging in verbose mode.
      Returns:
      true (and add the classpath element) if pathEl)ement is not null or empty, otherwise return false.