J-Framework Core

J-Framework Core project includes a set of common libraries, components, and APIs that are intensively used by the other framework projects, also, developers can utilize it individually in their projects to increase their development efficiency.

Dependency

Most likely, you will NOT need to add direct dependency to this project, since it’s already included in the parent projects or the other framework projects. However, if you need to, the dependency is

<!-- https://mvnrepository.com/artifact/com.jalalkiswani/j-framework-core -->
<dependency>
    <groupId>com.jalalkiswani</groupId>
    <artifactId>j-framework-core</artifactId>
    <version>7.0.0-PRE-RELEASE</version>
</dependency>

Key Components

  • Sophisticated Config API that covers the configuration needs of software systems on all scales.

  • Easy to use and efficient Exception API and set of custom exceptions that could be reused in most applications.

  • Context API that enables sharing context information across the same JVM and across microservices transparently.

  • Resource Loading API which solves the problem of resources-loading from the file system, working directory, classpath, or web application.

  • Remote Reflection API which allows Java reflection over TCP/IP on the remote server.

  • Cache API that supports local in-memory cache based on simple implementation in addition to a wrapper around Google Guava.

  • Logging API which is basically wrappers around logging frameworks.

  • Version API which enables DevOps to easily access the version of each component.

  • Also, It includes some utilities and wrappers such as:

  • Template API based on FreeMarker.

    • Reflection, IO, Collections, Strings, Excel, Conversion, Validation utilities, and many others.

    • Git wrapper to JGit to enable easier integration with a Git repository.

    • Java compiler and command line utilities.

    • Collections utils such as JKListHolder which enables a graph-like implementation of lists.

    • E-Mail sending utilities.

    • SSH Client wrapper around JSch.

    • Timer utility to execute tasks within a specific time frame.

    • Factory API based on Spring framework.

    • Wrapper to ThreadLocal

    • Utility to handle Arabic numbers,

    • Security stuff.

    • Test Automation Stuff (In progress)

Check the API documentation for more information.