The Axiell Utilities Project attempts to provide a small library of
classes and object applicable to most Axiell developments. The library
is not geared towards any one project and so should be useful for new
projects as well as existing ones.
The library is based on a few simple principles, namely:
referential transparency. The principle that defines a
call to a method with the same arguments will always return the
same result and that the method does not have any side effects
(e.g. updating global variables, etc).
functional programming support. If a method or class does have
side effects then the method or class is marked as effectful. The
library has been designed to not contain any effectful code.
minimal functionality. The library is designed to be small with
support for a small number of common utilities. The main reason for
the small size is to limit the number of dependencies drawn in
by the package.
Package structure
The com.axiell.util package consists of a number of utilities, where each
utility provides a single piece of functionality.
Notable utilities are:
Configure generic
configuration reader allowing application settings defined as
resources to be interrogated.
Error generic error
handling class defining a locale independent error message along
with details relating to the context of the error. The context
may include an exception and other relevant values.
Formatter retrieves
and formats a locale specific string from a specified resource bundle.
The formatting is specified in a C printf style.
Implicits implements
implicit methods and classes used to pimp methods onto existing
classes (e.g. fold() method to Boolean class) and to
provide implicit implementations for the
JsonLocal and
ShowLocal type classes.
JsonLocal type class used to output
locale specific JSON structures. Implementations exist for
Message and Error.
Message provides a
locale independent mechanism for handling strings. The strings for
a given locale are stored in resource bundles that are accessed
when the message is to be displayed.
ShowLocal type class used to show
locale specific strings. Allows Message and
Error to be converted to a given
language string.
Dependencies
The list of dependencies are:
Typesafe Config a generic
configuration file reader. The library is used by the
Configure class to access settings
stored as resources within an application.
Documentation for the Axiell Utilities Project
Overview
The Axiell Utilities Project attempts to provide a small library of classes and object applicable to most Axiell developments. The library is not geared towards any one project and so should be useful for new projects as well as existing ones.
The library is based on a few simple principles, namely:
Package structure
The
package consists of a number of utilities, where each utility provides a single piece of functionality.com.axiell.util
Notable utilities are:
Configure
generic configuration reader allowing application settings defined as resources to be interrogated.Error
generic error handling class defining a locale independent error message along with details relating to the context of the error. The context may include an exception and other relevant values.Formatter
retrieves and formats a locale specific string from a specified resource bundle. The formatting is specified in aC
printf style.Implicits
implements implicit methods and classes used to pimp methods onto existing classes (e.g.fold()
method toBoolean
class) and to provide implicit implementations for the JsonLocal and ShowLocal type classes.JsonLocal
type class used to output locale specific JSON structures. Implementations exist for Message and Error.Message
provides a locale independent mechanism for handling strings. The strings for a given locale are stored in resource bundles that are accessed when the message is to be displayed.ShowLocal
type class used to show locale specific strings. Allows Message and Error to be converted to a given language string.Dependencies
The list of dependencies are:
Typesafe Config
a generic configuration file reader. The library is used by theConfigure
class to access settings stored as resources within an application.