Morimekta Utilities - Archived Projects

There has been some major refactoring of the libraries. These are the old variants which are no longer the main alternative. All of these are either replaced with newer and cleaned up libraries, or has been deprecated.

All of these libraries use java 7 or java 8 as build target, while the newer libraries are all built for java 11 or newer.

IO Utilities

GitLab Docs Utilities for facilitating heavy computational IO, specifically reading and writing typed data to IO streams. The library has grown over time and has in later time become more of a commons-lang type library, which includes a number of non-I/O but still pretty core language feature classes.

PS: Split into multiple projects with more targeted usage:

  • Streams and binary IO moved to utils-io.
  • Collections and immutable containers modes to utils-collect.
  • String and CharSequence utils moved to utils-strings.
  • FileWatcher and path handling moved to utils-file.
  • Lexer and Tokenizer moved to utils-lexer.
  • JSON parser and writer dropped as gson is a better replacement.

This library should have been fully ported to java modules and java 11.

Console Utilities

GitLab Docs Utilities for facilitating interactive command line interfaced (cli) targeted mainly at utilities used in the linux terminals.

PS: Split into multiple projects with more targeted usage:

  • CharStream and char utilities moved to utils-strings.
  • TTY handling moved to utils-io.
  • ArgumentParser, and terminal input is moved to utils-terminal.

Diff Utilities

GitLab Docs Utility classes for finding changes between strings.

  • Core functionality moved to utils-strings. More diff utilities may be ported if needed.

The non-line based diff utilities are not ported yet.

Testing Utiltities

GitLab Docs This module contains a number of utilities and helpers to help with testing. It is based on the junit 4 paradigms, but may be updated to work with junit 5 when that is out and stable. It consists of a number of mostly independent parts.

  • Replaced with utils-testing.

Android Utilties

GitLab Docs This is a set of android classes ported to work as a stand-alone library. The API interfaces should be identical to that of the android classes, but uses only pure java and java bindings to work. This way it can be linked in non-android projects to act as a framework for testing of android utility libraries without depending on the whole android SDK.

Android-Util is deprecated

Config Utilities

GitLab Docs Utilities for handling config files with a type safe interface. The purpose of the config utilities is to be an interface between 'flat' structured config files, and a deeply structured config. The input and output formats of the config is always flat, or maximally sectioned in named 'prefix sections'.

Config-Util is deprecated

  • A new utils-config library is added, but it serves a pretty different role from the deprecated Config Util lib.

License Exceptions

Most of this is licensed under the Apache 2.0 license, and copyrighted by the Morimekta Utils Authord, but there are some exceptions, as the code has been copied from other Open Source projects and adapted for modern java uses.

So the copyright holder is whoever contributed to each file, as noted in the Copyright portion of the file. If the file does not have a Copyright (c) notice, or the copyright section does not refer to the author(s) of the project, then this project does not claim copyright over that file.

From iharder/base64 library (public domain, unlicensed):

  • android.util.Base64: Modified to match the android version of the interface.
  • android.util.Base64OutputStream: Separated from Base64 (was internal class), and modified to match android version of the interface.
  • android.util.Base64InputStream: Separated from Base64 (was internal class), and modified to match android version of the interface.
  • net.morimekta.util.Base64: Stripped to bare minimum to encode and decode standard base64.

Other imported code pieces (Apache 2.0 licensed):

  • android.util.Base64Test: Mainly unmodified from original, from old android open sourced code (2010).
  • net.morimekta.diff.*: Comes from diff-match-patch, (c) Google 2012, a pretty old but useful library for diffing files or simple string content. Repackaged since the library was almost unusable without some refactoring. Valid for Bisect, Change, Diff, DiffBase, DiffOptions, LinesToCharsResult classes and the Operation enum.