Java Ultimate Tools – Base

Java Ultimate Tools Base is the base library that all JUT libraries are dependent on and uses the base package com.jgcomptech.tools. This library contains the following features:

These classes allow for ease of adding commonly used strings and characters to your string objects and and help accomplish the DRY principle when writing strings.

These objects can be found in the following locations:

  • com.jgcomptech.tools.Characters
  • com.jgcomptech.tools.Literals
  • com.jgcomptech.tools.util.Defaults

Through the use of event handlers, the Event Manager allows code to be run under specific conditions.

The Event Manager and Event objects can be found in: com.jgcomptech.tools.events

Functions are blocks of code that can be assigned to variables, passed as an argument, or returned from a function call. This library includes many prewritten functions to allow for easier use of lambdas. Lambdas are often used with the Java 8 Streams, in multi-threading with Runnables and in situations where you may need to repeat code often. The functions in this library include:

  • Noop Functions
  • Functions that can throw exceptions
  • Compound functions
  • Predicates
  • Repeater Functions

These function objects can be found in: com.jgcomptech.tools.functions

This library contains some custom classes and objects to allow for easier use of JavaFX.

The included objects include:

  • Message Box – Similar to the C# MessageBox class this class expands on the JavaFX Alert object and allows the Message Box to be run without calling Platform.runLater.
  • Login Dialog – Can be integrated into the JUT Auth library for logging into your application.
  • Exception Dialog – Allows for the ability to show an exception stack trace in a nice window.
  • FXML Dialog Wrapper – Class to wrap a FXML dialog object, reducing the amount of required code when creating your own JavaFX dialogs.
  • Wizard – A set of classes that allow for a wizard to be added to any program.

The gui objects can be found in: com.jgcomptech.tools.gui

The Logging Manager allows for easier implementation of adding a logging system to your application. The Logging manager uses SLF4J and Logback Classic. It also supports the following:

  • Hibernate
  • EHCache
  • Hikari Connection Pool (Hikari CP)
  • C3P0 Connection Pool

The logging objects can be found in: com.jgcomptech.tools.logging

The Resource Manager is an in memory database that allows for easier organization and use of the files in the project resource folder. This can also extend to advanced uses to store and cache any data through the use of Data Store objects.

The main Resource Manager class can be found at: com.jgcomptech.tools.ResourceManager

The many Data Store objects can be found in: com.jgcomptech.tools.data

A Stopwatch is an object that measures elapsed time in nanoseconds and is commonly used to benchmark your application or to test how long a thread takes to complete. This library also contains other utilities related to time and date:

  • TimeStamp Builder Methods
  • Thread Sleep Extension Methods
  • DateTime Patterns for use with RegEx

The time and date objects can be found in : com.jgcomptech.tools.time

The following are common utility classes that help with basic tasks throughout any project.

  • Annotations
  • Assertions
  • Collections
  • Data Files
  • Date and Time
  • Exceptions
  • JavaFX
  • Numbers
  • Preconditions
  • Security and Encryption
  • Singletons
  • Strings
  • Web

The utility classes can be found in: com.jgcomptech.tools.util

The Value and State objects allow for storage of values that are wrapped in an object for ease of use in lambda expressions. These objects are similar to the JavaFX property objects but have much more utility methods attached. There is also a Enum State object that allows for ease of passing an object’s state.

These value objects can be found in: com.jgcomptech.tools.values

Downloads

Maven Download

<dependencies>
    <dependency>
        <groupId>com.jgcomptech.tools</groupId>
        <artifactId>java-ultimate-tools</artifactId>
        <version>2.0.0</version>
    </dependency>
</dependencies>
compile 'com.jgcomptech.tools:java-ultimate-tools:2.0.0'
compile(group = "com.jgcomptech.tools", name = "java-ultimate-tools", version = "2.0.0")
libraryDependencies += "com.jgcomptech.tools" % "java-ultimate-tools" % "2.0.0"
<dependency org="com.jgcomptech.tools" name="java-ultimate-tools" rev="2.0.0" />
@Grapes(
  @Grab(group='com.jgcomptech.tools', module='java-ultimate-tools', version='2.0.0')
)

Version 1.5.1 changes (10/13/2018):
* Added new userHasPermissions method overload to AuthManager
* Added new userHasPermissions method overload to Subject
* Fixed bugs and missing methods in Subject
* Fixed deprecated methods in NativeMethods
* Fixed other small bugs