Java 1.8+ Library with tons of utility classes required in most of ph-* projects.
Version 6.x contains major changes and more or less all other projects were released to reflect the changes of 6.x. Version 7 does not exist. Version 8.x was re-designed to best work with JDK 8. So please ensure to not mix 5.x, 6.x and 8x. versions of ph-commons!
This project was the following modules:
- ph-charset - support for additional character sets (e.g. UTF-7)
- ph-commons - the most common base library stuff
- ph-datetime - extension library for handling Java date and time special cases
- ph-graph - generic graph library with directed and undirected graphs
- ph-jaxb - the JAXB utility classes building upon ph-commons and ph-xml
- ph-json - a generic simple JSON reader, visitor and writer
- ph-less-commons - previously contained in ph-commons not really used but I was afraid to dump it :)
- ph-matrix - a simple library for handling matrix data structures and operations
- ph-security - security related topics like key store handling, message digests etc
- ph-settings - a small library for handling configuration files in an easy way
- ph-tree - generic tree structures and tree singleton base classes
- ph-xml - everything to read and write XML, including "MicroDOM" my personal minimum XML representation shipping with its own serializer.
- v9.0.0 - work in progress
- Changed
com.helger.commons.function
package tocom.helger.commons.functional
- Replaced
IFilter
withIPredicate
- Replaced
IFilterWithParameter
withIBiPredicate
- Changed
ManagedExecutorService
toExecutorServiceHelper
- Removed class
CCharset
- useStandardCharsets
instead - Added classes
PathHelper
andPathOperations
- Moved class
XMLResourceBundle
to ph-xml - Removed some deprecated
CharsetManager
methods - Reworked
format
package - Removed deprecated 'Mutable*' constructors because of weird defaults
- Removed deprecated methods that handle: greater than, greater or equals, lower than and lower or equals
- Made
MicroTypeConverter
type-safe - Ensure all
Predicate
usages use? super
- Ensure all
Consumer
usages use? super
- Ensure all
Function
usages use? super
/? extends
where applicable - Ensure all
Supplier
usages use? extends
- Moved
ThreadHelper
to packagecom.helger.commons.concurrent
- Removed deprecated methods in
SimpleLSResourceResolver
- Removed package
com.helger.commons.io.monitor
- Removed package
com.helger.commons.scope.singletons
@ReturnsMutableObject
does not require a value anymore (but you can still pass one of course)- Extracted
ph-scopes
project to lower size ofph-commons
slightly - Extracted
ph-collection
project to lower size ofph-commons
slightly - Removed default methods from
IAggregator
- Added reverse interface
ISplitter
- Changed caching API to use a function instead of a protected methods
- Integrated
ph-cli
here - Improved and extended traits API
- JAXB components can now use a safe way to write XML with special chars
- JAXB components can now read XML documents with a BOM
- Changed
- v8.6.6 - 2017-07-12
- Extended
CSVWriter
API SimpleLSResourceResolver
can now handle fat jars from Spring Boot (issue #8)- Extracted
DefaultResourceResolver
fromSimpleLSResourceResolver
and added in ph-commons - Added rudimentary support for
Path
based APIs - Added
WatchService
basedWatchDir
in favor ofFileMonitor
- Extended
- v8.6.5 - 2017-05-19
- Deprecated all default Mutable* constructors, because the default values were partially confusing
- Added new class
DefaultEntityResolver
using a base URL for resolving. - Extracted and renamed classes
PDTZoneID
andPDTMask
- Extended
ILocalDatePeriod
API - Added additional specialized type converters to
BigDecimal
- Unified naming for methods that handle: greater than, greater or equals, lower than and lower or equals
- Added new type converters for
Month
,DayOfWeek
andMonthDay
RuntimeException
s during type conversion are encapsulated inTypeConverterException
s.
- v8.6.4 - 2017-04-12
- Some performance improvements
- Fixed error in
StringHelper.replaceMultipleAsString
- Extended
StringHelper
with encode/decode methods - Added new class
NonBlockingCharArrayWriter
- Deprecated some
CharsetManager
methods
- v8.6.3 - 2017-03-28
- Deprecated some String-based
FileHelper
APIs - Improved CertificateHelper parsing
- Added
IPredicate
- a serializablePredicate
interface - Added
IBiPredicate
- a serializableBiPredicate
interface - Added
IBiConsumer
- a serializableBiConsumer
interface - Added
IBiFunction
- a serializableBiFunction
interface - Added
IComparable
- a serializable and extendedComparable
interface - Extended
StringHelper
API - Extended
MicroWriter
API - Extended
XMLWriter
API - Extended
PDTHelper
API - Deprecated
EMonth
andEDayOfWeek
in favour of JDKMonth
andDayOfWeek
- Deprecated some String-based
- v8.6.2 - 2017-02-15
- Extended
XMLSystemProperties
API - Allowing
JAXBDocumentType
objects to not have an@XmlSchema
annotation - Deprecated
CCharset
- useStandardCharsets
instead - Deprecated ToStringGenerator
toString()
- usegetToString()
instead
- Extended
- v8.6.1 - 2017-01-23
*MultilingualText
is now based on ICommonsOrderedMap- Extended
GlobalDebug
API slightly JAXBDocumentType
implements equals/hashCodeWSClientConfig
not using chunked encoding by default
- v8.6.0 - 2017-01-09
- Removed deprecated methods
- Minor API extensions
- v8.5.6 - 2016-12-10
- Extended APIs
- Fixed a nasty bug with date/time formatting due to pattern modifications (introduced in 8.5.5)
- v8.5.5 - 2016-11-25
- Extended APIs
- v8.5.4 - 2016-11-08
- Fixed a nasty NPE
- v8.5.3 - 2016-11-08
- Added support for
EntityResolver2
in MicroXML parsing - Extended some APIs
- Added support for
- v8.5.2 - 2016-09-25
- Fixed an error with JAXB context creation if @XMLRootElement was used
- Improved consistency of IHasText(WithArgs) and IHasDisplayText(WithArgs) so that they can be used interchangeably
- Extended collection API slightly
- v8.5.1 - 2016-09-12
- Fixed error text retrieval in Single Error; further API extensions and improvements
- v8.5.0 - 2016-09-09
- Reworked the error objects so that there is now a single error handling object. The old objects are retained for backwards compatibility.
- v8.4.0 - 2016-08-21
- Started adding JDK 9 compatibility
- Added new interface
IWriteToStream
- Added support for new Message digest and Mac algorithms
- Added new functional interfaces (IThrowingSupplier, IThrowingConsumer and IThrowingFunction) with customizable Exception type
- Deprecated some legacy interfaces and adapters that may lead to a compiler error (!)
- v8.3.0 - 2016-08-02
- Moved the following sub-projects into this project: ph-datetime, ph-json, ph-charset, ph-graph, ph-matrix and ph-settings
- v8.2.2 - 2016-07-22
- v8.2.1 - 2016-07-15
- v8.2.0 - 2016-07-10
- Added new sub-project
ph-security
that contains MessageDigest, HMac, Keystore etc. stuff
- Added new sub-project
- v8.1.0 - 2016-06-26:
- Minor small API optimizations for JAXB.
ValueEnforcer
supports Supplier` functional interface.- GZIP based readable and writable resources added.
- v8.0.0 - 2016-06-08:
- It splits the old big ph-commons library into slightly smaller pieces:
ph-commons
,ph-xml
,ph-jaxb
,ph-tree
andph-less-commons
. - The first version that requires JDK 8
- Multiple API changes to better support functional style
- Base32 codec added
- It splits the old big ph-commons library into slightly smaller pieces:
Add the following to your pom.xml to use this artifact:
<dependency>
<groupId>com.helger</groupId>
<artifactId>ph-commons</artifactId>
<version>8.6.6</version>
</dependency>
In general I tried to make the source comments as useful as possible. Therefore here only an alphabetic package list with the respective contents is shown:
com.helger.commons
- The base package that contains only a class with only constant values (CGlobal
) and a programming utility class (ValueEnforcer
).com.helger.commons.aggregate
- contains a generic aggregator and multiple implementations that can aggregate multiple values to a single value.com.helger.commons.annotations
- contains all the Java annotations defined in this project. This include e.g.@Nonempty
,@ReturnsMutableCopy
or@DevelopersNote
.com.helger.commons.base64
- contains the Base64 implementation from http://iharder.net/base64 in a slightly adopted version.com.helger.commons.cache
- defines generic interfaces and classes for caching datacom.helger.commons.callback
- contains all kind of simple data structures that are to be used for callbacks and external exception handling. Additionally special forms ofRunnable
andCallable
are present in this package.com.helger.commons.callback.adapter
- special adapter class implementations that can convert betweenCallable
,Runnable
etc.com.helger.commons.callback.exception
- special callback implementations to catchException
s.com.helger.commons.changelog
- contains everything needed for having a structured change log (= history of changes) of software components. A complete list of all changes can be found in classChangeLog
containing multiple entries.com.helger.commons.charset
- contains stuff necessary for simple String character set/encoding and decoding as well as an enumeration for Unicode BOM (Byte Order Mark).com.helger.commons.cleanup
- contains a central class to cleanup and/or reset most of the runtime data and caches used in this project. This is especially helpful in unit tests when testing this project.com.helger.commons.codec
- contains a generic encode/decode interface and some basic implementations like ASCII85, ASCII Hex, DCT, Base64, LZW and RFC 1522. This package is based oncom.helger.commons.encode
package.com.helger.commons.collation
- contains collation helper methods (CollationHelper
).com.helger.commons.collection
- contains very basic helper classes for easy working with arrays (classArrayHelper
) and collections (classContainerHelper
). It also contains a local implementation ofStack
calledNonBlockingStack
which does not use synchronization - this can be seen like the different betweenArrayList
(not synchronized) andVector
(synchronized).com.helger.commons.collection.attr
- contains a generic attribute container which more or less is aMap
with a modified API. This package contains both read-only as well as mutable versions of this map-based container.com.helger.commons.collection.ext
- this package contains extension classes to the default Java runtime collection classes. This package contains e.g.CommonsArrayList<T>
a class derived fromArrayList<T>
but with additional default methods likefindAll
orfindFirst
..com.helger.commons.collection.impl
- contains collection implementations for specific areas not covered by the default runtime collections (soft map, single element collection, empty element collection, safe collections, ring buffer etc.).com.helger.commons.collection.iterate
- contains special iterators/enumerators for arrays and collections. It also contains iterators for single elements as well as for "no" elements.com.helger.commons.collections.map
- contains specialized primitive based map implementations.com.helger.commons.collection.multimap
- contains "multi maps" which areMap
s which have otherCollection
s as values. This package contains common interfaces as well as implementations for differentMap
implementations (likeHashMap
,TreeMap
,LinkedHashMap
,ConcurrentHashMap
andWeakHashMap
).com.helger.commons.collection.pair
- contains a generic pair which is a combination of 2 values with potentially different types.com.helger.commons.compare
- genericComparator
andComparable
extensions and base classes. Additionally the enumerationESortOrder
which defines 'ascending' and 'descending' is contained.com.helger.commons.concurrent
- contains some commonly used things forThread
andExecutorService
handling.com.helger.commons.concurrent.collector
- a generic "collector" which supports multiple inputs from multiple different threads and serializes this data stream for sequential processing (e.g. for mail queueing with a central sender).com.helger.commons.convert
- package containing unidirectional and bidirectional data converter interfaces.com.helger.commons.csv
- package containing CSV reader and writer based on OpenCSV.com.helger.commons.deadlock
- contains a thread deadlock detector based on the JMXThreadMXBean
class.com.helger.commons.debug
- contains theGlobalDebug
class.com.helger.commons.dimension
- width, height and size handling methods.com.helger.commons.email
- contains the data model and a small regular expression based validator for email addresses.com.helger.commons.encode
- contains a generic encode and decode interface which is very similar to the unidirectional converter as specified incom.helger.commons.convert
but with different method names.com.helger.commons.equals
- contains utility methods fornull
-safe equals implementations as well as a registry forequals
implementation overloading for bogus or missingequals
-implementations (like for arrays etc.). Especially classEqualsUtils
is used frequently.com.helger.commons.error
- contains classes and interfaces to handle stuff related to error handling, like error ID, error level, error location and error message.com.helger.commons.errorlist
- contains classes and interfaces to handle lists of errors.com.helger.commons.exception
- contains additional exception classes.com.helger.commons.exception.mock
- contains special "mock" exception classes.com.helger.commons.factory
- contains generic factory pattern interfaces and basic implementations.com.helger.commons.filter
- contains generic filtering interfaces and basic implementations.com.helger.commons.format
- contains interfaces and class to format objects to a String value. This can be seen as a typed alternative toString.valueOf
.com.helger.commons.function
- contains generic functional interfaces missing in the JDK (e.g.IBooleanConsumer
orIToBooleanFunction
).com.helger.commons.gfx
- contains utility classes for handling image metadata (especially size).com.helger.commons.hashcode
- contains utility classes for creating hash codes in a simplified way. EspeciallyHashCodeGenerator
is used quite frequently.com.helger.commons.hierarchy
- contains generic classes to model a hierarchy relationship between objects (e.g. parent-child relationship).com.helger.commons.hierarchy.visit
- contains a hierarchy walker which is the visitor pattern for hierarchical data structures.com.helger.commons.id
- contains interfaces for objects having identifiers (IHas...ID) as well asint
,long
andString
based ID provider interfaces.com.helger.commons.idfactory
- ID factory implementations. EspeciallyGlobalIDFactory
is used frequently.com.helger.commons.io
- generic interfaces for input/output (IO) handling.IReadableResource
is used quite frequently as an abstraction layer.com.helger.commons.io.channels
- contains utility methods for channeled IO.com.helger.commons.io.file
- utility classes for file based IOcom.helger.commons.io.file.filter
- contains a set ofFileFilter
andFilenameFilter
implementations.com.helger.commons.io.file.iterate
- utility classes for iterating file system directories.com.helger.commons.io.misc
- additional file utility classes.com.helger.commons.io.monitor
- a background monitor for file changes, based on Apache commons-io.com.helger.commons.io.provider
- File IO provider based on an external name.com.helger.commons.io.resource
- implementations ofIReadableResource
aroundFile
(FileSystemResource
), class path (ClassPathResource
) andURL
(URLResource
).com.helger.commons.io.resource.inmemory
- special implementations ofIReadableResource
that are purely in memory and not persisted.com.helger.commons.io.resource.wrapped
- Wrapper aroundIReadableResource
andIWritableResource
for usage with e.g. compression.com.helger.commons.io.resourceprovider
- implementations ofIReadableResourceProvider
andIWritableResourceProvider
.com.helger.commons.io.stream
- specialInputStream
andOutputStream
implementations (for bits, buffer based streams, counting streams, logging streams, non-blocking streams, non-closing streams, null streams and wrapped streams). AlsoStreamHelper
is a regularly used.com.helger.commons.io.streamprovider
- implementations ofIHasInputStream
andIHasReader
.com.helger.commons.junit
- JUnit 4 extensions.com.helger.commons.lang
- Java language extensions that don't really fit into any other category.com.helger.commons.lang.priviledged
- Privileged action extensions.com.helger.commons.lang.proxy
- Dynamic proxy object generation made easy.com.helger.commons.locale
-Locale
related utility classes.com.helger.commons.locale.country
- country relatedLocale
utility classes.com.helger.commons.locale.language
- language relatedLocale
utility classes.com.helger.commons.log
- logging related utility classescom.helger.commons.mac
- Message Authentication Code algorithm wrapper.com.helger.commons.math
- basic math related utility interfaces and classescom.helger.commons.messagedigest
- contains utility methods to easily create message digest (like MD5 or SHA-1).com.helger.commons.mime
- everything related to MIME types, including a structured data model as well as a parser and a determinator from byte array.com.helger.commons.mock
- utility classes for unit testing with JUnit.com.helger.commons.mutable
- contains mutable object wrappers for atomic values like boolean, int, long etc. which are not thread-safe.com.helger.commons.name
- base interfaces and classes for objects having a name or a description.com.helger.commons.pool
- generic pool of arbitrary objects.com.helger.commons.random
- contains an even securer random thanSecureRandom
com.helger.commons.regex
- contains a pool for pre-compiled regular expressions and utility classes to use this pool implicitly.com.helger.commons.scope
- base interfaces and implementations for scope handlingcom.helger.commons.scope.mgr
- scope managercom.helger.commons.scope.mock
- JUnit test support for scopescom.helger.commons.scope.singleton
- base classes for singletons in the five base scope typescom.helger.commons.scope.singletons
- specific singleton implementationscom.helger.commons.scope.spi
- SPI interfaces for scope lifecycle interferencecom.helger.commons.scope.util
- some scope aware base classescom.helger.commons.script
- helper class for javax.script packagecom.helger.commons.serialize.convert
- a registry for registering customSerializable
implementations for classes that don't implementSerializable
themselves. Registration is done via SPI.com.helger.commons.state
- contains a lot of small "state" enumerations likeEChange
,ESuccess
orELeftRight
plus the corresponding base interfaces.com.helger.commons.statistics
- thread-safe in-memory statistics categorized into cache, counter, keyed counter, keyed size, keyed timer, size and timer.com.helger.commons.statistics.util
- contains classes for exporting statistic data to XMLcom.helger.commons.string
- contains the basic classStringHelper
for all kind ofString
related actions as well asStringParser
for converting Strings to numerical values and finallyToStringGenerator
as a utility class to easily implementtoString()
methods.com.helger.commons.string.util
- utility string classes for Levenshtein distance, roman numerals and a simple scanner.com.helger.commons.system
- contains information helper classes for the Java version, the JVM vendor, the newline mode of the current operating system, the processor architecture used etc.com.helger.commons.text
- interfaces for handling multilingual text in different aspects and wayscom.helger.commons.text.codepoint
- helper classes for code point handlingcom.helger.commons.text.display
- special 'Display text' interfacescom.helger.commons.text.resolve
- contains the stuff for multilingual text resolving based on an enumeration, and falling back to a properties file if needed.com.helger.commons.text.resourcebundle
- utility classes for handlingResourceBundle
s in an easy way, as well as UTF-8 and XML resource bundles.com.helger.commons.text.util
- text handling helper classes.com.helger.commons.thirdparty
- contains a domain model and a registry for handling referenced thirdparty libraries.com.helger.commons.thread
- thread handling helper classes.com.helger.commons.timing
- contains a simple stop watch class.com.helger.commons.traits
- contains interfaces with default methods to easily extend the functionality of an existing object.com.helger.commons.type
- base interfaces for "typed" objects, meaning objects that have a combination of type and ID (in case the ID is not unique).com.helger.commons.typeconvert
- contains a generic type converter registry and different resolvers. The registration is done via SPI.com.helger.commons.typeconvert.rule
- contains special "rule based" type converters, where a direct match "by class" is not useful.com.helger.commons.url
- URL related tools containing a minimum data model for URLscom.helger.commons.vendor
- package containing data to represent the vendor of an applicationcom.helger.commons.version
- contains a numerical version object as well as a version range object.com.helger.commons.wrapper
- a genericWrapper
interface and classcom.helger.commons.ws
- some Web Service client caller goodies
A special XML reading and writing project.
com.helger.xml
- utility classes to work with standard W3C nodescom.helger.xml.dom
- XML utility classes only relevant for DOMcom.helger.xml.ls
- XML utility classes for LS (serialization) supportcom.helger.xml.microdom
- contains the "Micro DOM" interfaces and implementations - a DOM like structure, but much easier to use than standard DOM.com.helger.xml.microdom.convert
- contains a central registry for converting arbitrary objects from and to Micro DOM.com.helger.xml.microdom.serialize
- contains reader and writer for Micro DOM elements to read from (MicroReader
) and write to (MicroWriter
) XML documents.com.helger.xml.microdom.util
- contains utility classes for working with Micro DOM.com.helger.xml.mock
- contains mock/testing classescom.helger.xml.namespace
- XML namespace support classescom.helger.xml.sax
- XML helper classes supporting SAXcom.helger.xml.schema
- utility classes to handle XML Schema (XSD)com.helger.xml.serialize.read
- XML reading classes for SAX and DOMcom.helger.xml.serialize.write
- XML writing classes for SAX and DOMcom.helger.xml.transform
- utility classes for XSLT processing and URL processingcom.helger.xml.util
- general helper classes.com.helger.xml.util.changelog
- changelog XML serializer.com.helger.xml.util.mime
- contains a converter from MIME type information to Micro DOM.com.helger.xml.util.statistics
- statistics to XML converter.com.helger.xml.xpath
- utility classes for XPath handling incl. function and variable resolver
Add the following to your pom.xml to use this artifact:
<dependency>
<groupId>com.helger</groupId>
<artifactId>ph-xml</artifactId>
<version>8.6.6</version>
</dependency>
A special JAXB helper project. It supports both the JDK included JAXB as well as an external JAXB that is used via a separate Maven artefact.
com.helger.jaxb
- JAXB context cache, abstract reader, writer and validator interfaces.com.helger.jaxb.builder
- Abstract builder for JAXB based readers, writers and validators.com.helger.jaxb.utils
- abstract JAXB marshaller for easy reading and writing from and to different sources and targets.com.helger.jaxb.validation
- validation event handler (factories) for JAXB marshalling/unmarshalling.
Add the following to your pom.xml to use this artifact:
<dependency>
<groupId>com.helger</groupId>
<artifactId>ph-jaxb</artifactId>
<version>8.6.6</version>
</dependency>
A special tree management project.
com.helger.tree
- contains interfaces and implementations for a basic tree and a basic tree itemcom.helger.tree.io
- special file system treecom.helger.tree.singleton
- special tree class singletons for easy proxying of the tree interfaces.com.helger.tree.sort
- utility classes to sort trees by ID or by values.com.helger.tree.util
- contains a utility class to build a tree from hierarchical parent-child relations, search a tree and visit a tree.com.helger.tree.withid
- contains a generic tree, where each item has an ID (which must not be unique)com.helger.tree.withid.folder
- a specialized tree which separates into "files" and "folders"com.helger.tree.withid.unique
- a special tree where each item has an ID that must be unique so that each leaf can be identified easily.com.helger.tree.xml
- convert a tree into a generic XML.
Add the following to your pom.xml to use this artifact:
<dependency>
<groupId>com.helger</groupId>
<artifactId>ph-tree</artifactId>
<version>8.6.6</version>
</dependency>
A library with less common elements. First available with ph-commons 8. A few elements from ph-commons 6 which I'm not really using. But to avoid loss of information this project was added.
com.helger.lesscommons.charset
- special String encoder/decoder based on ByteBuffercom.helger.lesscommons.i18n
- internationalization (i18n) helper classes, especially for code point handling. Ripped from Apache Abdera.com.helger.lesscommons.jmx
- very basic JMX utility classes.
Add the following to your pom.xml to use this artifact:
<dependency>
<groupId>com.helger</groupId>
<artifactId>ph-less-commons</artifactId>
<version>8.6.6</version>
</dependency>
Another simple library to read and write JSON documents and streams using a custom parser.
Add the following to your pom.xml to use this artifact:
<dependency>
<groupId>com.helger</groupId>
<artifactId>ph-json</artifactId>
<version>8.6.6</version>
</dependency>
Another simple library to deal with configuration files and settings in general.
Add the following to your pom.xml to use this artifact:
<dependency>
<groupId>com.helger</groupId>
<artifactId>ph-settings</artifactId>
<version>8.6.6</version>
</dependency>
Another library that improves the JDK 8 date time handling with some useful extensions.
Add the following to your pom.xml to use this artifact:
<dependency>
<groupId>com.helger</groupId>
<artifactId>ph-datetime</artifactId>
<version>8.6.6</version>
</dependency>
Another library to handle all kind of graphs in a generic way.
Add the following to your pom.xml to use this artifact:
<dependency>
<groupId>com.helger</groupId>
<artifactId>ph-graph</artifactId>
<version>8.6.6</version>
</dependency>
Another library to handle matrixes in an easy way including some operations on them.
Add the following to your pom.xml to use this artifact:
<dependency>
<groupId>com.helger</groupId>
<artifactId>ph-matrix</artifactId>
<version>8.6.6</version>
</dependency>
This library adds support for the UTF-7 charset via Java extension SPI.
Add the following to your pom.xml to use this artifact:
<dependency>
<groupId>com.helger</groupId>
<artifactId>ph-charset</artifactId>
<version>8.6.6</version>
</dependency>
Contains all the global scope handling as well as the scoped singleton base classes.
Add the following to your pom.xml to use this artifact:
<dependency>
<groupId>com.helger</groupId>
<artifactId>ph-scopes</artifactId>
<version>9.0.0-SNAPSHOT</version>
</dependency>
Some special collections not used everywhere (like multi maps etc.)
Add the following to your pom.xml to use this artifact:
<dependency>
<groupId>com.helger</groupId>
<artifactId>ph-collection</artifactId>
<version>9.0.0-SNAPSHOT</version>
</dependency>
Fork of Apache commons-cli 1.4 with cleansing.
- Remove deprecated stuff
- Adopted naming of variables
- Adopted class names
Add the following to your pom.xml to use this artifact:
<dependency>
<groupId>com.helger</groupId>
<artifactId>ph-cli</artifactId>
<version>9.0.0-SNAPSHOT</version>
</dependency>
My personal Coding Styleguide | On Twitter: @philiphelger