Burningwave Core

repository·master·Indexed 42 days ago

https://github.com/burningwave/core

An advanced Java library for framework building providing high-performance classpath scanning, runtime class generation via ClassFactory, parallel task execution with BackgroundExecutor, and filesystem manipulation using FileSystemItem and PathHelper. Version 12.67.0.

Tokens
21K
Snippets
29
Records
53
Agent score
53%

What's inside Burningwave Core

  1. Use IterableObjectHelper for parallel iteration and placeholder retrieval

    master

    The IterableObjectHelper provides advanced iteration capabilities:

    • Parallel Iteration: Iterate through collections and arrays in parallel by explicitly setting thread priorities.
    • Placeholder Retrieval: Retrieve items from Maps or Properties files that contain placeholders.
  2. Use ClassHunter to scan the classpath

    master

    The ClassHunter component is used for advanced classpath scanning. Common use cases include:

    • Retrieving all classes on the classpath.
    • Finding all classes that implement one or more specific interfaces.
    • Finding all classes that extend a specific base class.
    • Searching for classes where the package name matches a regular expression.
    • Finding all classes belonging to a specific module name (Java 9+).
    • Finding all annotated classes.
    • Scanning classes for specific annotations and collecting their values.
    • Searching for classes with specific constructor signatures (e.g., a specific first parameter type) and specific method patterns.
    • Finding classes with specific method name patterns and parameter types.
    • Finding classes with a minimum number of protected fields.
  3. Use FunctionalInterfaceFactory to bind methods to functional interfaces

    master
    The FunctionalInterfaceFactory allows you to bind existing methods or constructors to functional interfaces, facilitating easier functional programming patterns.
  4. Access private constructors, fields, and methods

    master

    Burningwave Core provides specialized utilities to handle non-public members of an object:

    • Constructors: Access and handle private or other non-public constructors.
    • Fields: Access and handle private or other non-public fields.
    • Methods: Access and handle private or other non-public methods.
  5. How components and component containers work

    master

    Burningwave Core is built around two main abstractions:

    • Component: A dynamic object that performs specific functionality related to a particular domain.
    • Component Container: A collection of dynamic components.

    There are two types of containers:

    1. Static Component Container: Only one static container can exist within the application lifecycle.
    2. Dynamic Component Container: Multiple dynamic containers can be created and managed.

    Components are retrieved and managed through the container, which acts as the registry and lifecycle manager for the system's dynamic capabilities.