XML serialization framework has released version 1.7. Simple is a serialization framework for Java that enables rapid development of XML configuration and communication systems. Its goal is to provide an XML serialization framework that requires no configuration or mappings to serialize objects to and from human readable XML. Below is a list of some of the capabilities of the framework.
* Simple framework with powerful capabilities
The framework used to provide XML serialization is simple to use and revolves around several annotations an a single persister object used to read and write objects to and from XML. Both serialization and deserialization are fully supported.
* Extremely small footprint
It has by far the smallest footprint for a bidirectional XML serialzation framework. For Java 6 the framework has no external dependancies and is completely self contained. For Java 5 two external JAR files are required, the StAX API and the StAX implementation, both are provided with the download.
* High performance XML serialization
Simple out performs popular XML binding and serialization frameworks such as XStream and JAXB.
* Support for refactoring
Refactoring is made simple by keeping the XML representation of an object within that object using annotations. This ensures refactoring is fully transparent. Also, to ensure XML documents remain compatible with XML class schemas all XML documents can be validated against a given XML class schema.
* Converts to and from human editable XML
A primary goal for the framework is that the XML data used to deserialize and serialize objects is human readable. All XML elements and attributes take a simple structure that can be easily created with a text editor. Also the serialization format is compatible with the C# XML serialization format.
* Contains an XML templating system
As part of the deserialization process template markers within the XML elements and attributes can be replaced with variables. This allows the system to be easily adapted for use as a configuration system with dynamic value substitution. Stock template filers include OS environment variable substitution, system properties, as well as an API that enables custom filters to be introduced.
* Supports a wide variety of types
All collections are supported, so serialization of java.util.Collection objects and java.util.Map types are fully supported. It supports multidimensional arrays, utility types such as those from the java.util package and enumerations. Also, object graph cycles can be fully resolved regardless of complexity.
* Open source
Released under the LGPL and so can be fully integrated or adapted for both commercial and open source projects.