Interface ClassLibrary

All Superinterfaces:
Serializable
All Known Implementing Classes:
AbstractClassLibrary, ClassLoaderLibrary, ClassNameLibrary, SourceFolderLibrary, SourceLibrary

public interface ClassLibrary extends Serializable
Main methods of a ClassLibrary, which can be used by every Model
Since:
2.0
  • Method Details

    • hasClassReference

      boolean hasClassReference(String name)
      Check if this library holds a reference based on the name.
      Parameters:
      name - the (binary) name trying to resolve
      Returns:
      true if the classLibrary has a reference, otherwise false
    • getJavaClass

      JavaClass getJavaClass(String name)
      Get the JavaClass or null if it's not possible
      Parameters:
      name - The (binary) name of the JavaClass
      Returns:
      the JavaClass, otherwise null
    • getJavaClass

      JavaClass getJavaClass(String name, boolean createStub)
      Try to retrieve the JavaClass by the (binary) name. If the JavaClss doesn't exist and createStub is true make a stub, otherwise return null
      Parameters:
      name - the name of the class
      createStub - force creation of a stub if the class can't be found
      Returns:
      the JavaClass, might be null depending on the value of createStub.
    • getJavaClasses

      Collection<JavaClass> getJavaClasses()
      Return all JavaClasses of the current library. It's up to the library to decide if also collects JavaClasses from it's ancestors
      Returns:
      all JavaClasses as a List, never null
    • getJavaSources

      Collection<JavaSource> getJavaSources()
      Return all JavaSources of the current library. It's up to the library to decide if also collects JavaSources from it's ancestors
      Returns:
      all JavaSources as a List, never null
    • getJavaPackage

      JavaPackage getJavaPackage(String name)
      Get the JavaPackage or null if it's not possible
      Parameters:
      name - The fully qualified name of the JavaPackage
      Returns:
      The package, otherwise null
    • getJavaPackages

      Collection<JavaPackage> getJavaPackages()
      Return all JavaPackages of the current library. It's up to the library to decide if also collects JavaPackages from it's ancestors
      Returns:
      all JavaPackages as a List, never null
    • getJavaModules

      Collection<JavaModule> getJavaModules()