Skip to content

sangupta/jerry-core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jerry-core

Travis Coveralls license Maven Central

Common Java functionality for core functionality.

jerry-core is a module library for the uber jerry library project. This module provides core functionality as static helper utility classes that can help reduce the boiler plate code when making even a simple Java application.

The core idea of the project is to include all basic functionality that is always used in a normal project. The project does not aim to replace the Apache Commons framework but only extend it to include the otherwise useful functions and methods that are missing in there.

History: Ages ago, the project forked from the https://github.com/sangupta/jerry project, when all utility classes were extracted out into the jerry-core project.

The library is tested on the following JDK versions:

  • Oracle JDK 8, 9, 11, 13
  • Open JDK 8, 9, 10, 11, 12, 13

Change Log

Release Notes are available here.

Features

  • Base62 encoder to create short urls
  • Base64 encoder
  • HTTP status code constants
  • Utility to work with com.sun.misc.Unsafe
  • ArchiveUtils - methods to unpack ZIP/TAR/GZ files
  • AssertUtils - assertion methods
  • CompressionUtils - compress/decompress byte arrays in memory
  • ConsoleUtils - read stuff from Console or Standard input
  • DateUtils - function to work with java.util.Date objects
  • DomUtils - convenience functions to work with JDOM
  • EqualUtils - check whether objects are equal or not
  • GsonUtils - static singleton Google Guava Gson objects
  • HashUtils - compute various hashes - MD5, SHA-*, HMAC-SHA etc
  • HtmlUtils - convenience functions for working with HTML DOM
  • ReflectionUtils - common functionality around Java reflection
  • StringUtils - basic string functions
  • TimeDurationUtils - compute string represented duration between different times
  • UriUtils - function to work with URI - encodeUriComponent/decode etc
  • UrlCanonicalizer - basic URL canonicalizer
  • UrlManipulator - url builder/manipulator that helps in composing/decomposing/replacing various url pieces
  • XmlUtils - functions to extract XML values without parsing
  • XStreamUtils - provides singleton XStream instances
  • ZipUtils - zip entire folder, extract given file from ZIP etc

Downloads

The latest released library can be downloaded from Maven Central using:

<dependency>
    <groupId>com.sangupta</groupId>
    <artifactId>jerry-core</artifactId>
    <version>3.0.0</version>
</dependency>

The current development snapshot JAR can be obtained using JitPack.io as:

Add the following repository to Maven,

<repository>
	<id>jitpack.io</id>
	<url>https://jitpack.io</url>
</repository>

Then add the dependency as,

<dependency>
    <groupId>com.github.sangupta</groupId>
    <artifactId>jerry-core</artifactId>
    <version>-SNAPSHOT</version>
</dependency>

Versioning

For transparency and insight into our release cycle, and for striving to maintain backward compatibility, jerry-core will be maintained under the Semantic Versioning guidelines as much as possible.

Releases will be numbered with the follow format:

<major>.<minor>.<patch>

And constructed with the following guidelines:

  • Breaking backward compatibility bumps the major
  • New additions without breaking backward compatibility bumps the minor
  • Bug fixes and misc changes bump the patch

For more information on SemVer, please visit http://semver.org/.

License

jerry - Common Java Functionality
Copyright (c) 2012-2019, Sandeep Gupta

https://sangupta.com/projects/jerry-core

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

	http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.