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
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
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
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
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
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
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 forBisect
,Change
,Diff
,DiffBase
,DiffOptions
,LinesToCharsResult
classes and theOperation
enum.