JOAFIP java data object persistence in file
This library is free software, freely usable for personal or commercial purposes according to the license.
A java library to manage java data object persistence in file system transparently without using database, do not need to manage the field-by-field storage and retrieval to and from the file.
easy to use
guarantees all ACID properties
object oriented, write your model, populate with object and store it. Do not need query language, just navigate in your model (getter call).
multi data access session ( multi-Thread, transactional data store )
save all objects of object graph starting from a root object to file system, one heap file data record by instance
lazy loading of object:
make able to not waste memory with large object graph when only need to access to some of them.
manage more object than memory can contains
manage enum state persistence
crash safe, may accept JVM stop at any time even if write in file ( only the last commit is lost)
file corruption detection
garbage collector for file data record that will never be accessed
The object that can be persisted are POJO that not needs to implement Serializable, but there is some conditions
Possibility to store serialization of instance of class in one data record. can be compressed or not
manage collection of object so huge that can not be fully stored in memory
have an embedded persistence, no backend database to be used
develop your data model
with collection in memory, and then make data persist without
intrusion in your data model code
( some little intrusion see conditions )
do not need to access to a database
retrieving object by navigation is enough
do not need to retreive object with complex criteria (versus object request)
Open source projects used by joafip:
asm ( embedded since release 2.0.0 ) to create proxy for lazy load instead of cglib
cglib ( no longer used since release 2.0.0 ) is a powerful, high performance and quality Code Generation Library, It is used to extend JAVA classes and implements interfaces at run-time.
log4j to manage technical logging
in Store Electronic
Systems application that had trigger the project
joafip, since November 2008
Open source project, use
JOAFIP is licensed under the GNU LESSER GENERAL PUBLIC LICENSE
Jean-Marc Vanel : who inspired me the concept of JOAFIP, help me to correct and enhance the documentation, and gives me some feature to add.
Patrick duclos : who had be, and is, helpful for debugging.
François Xavier Gendrin : to be helpful with some idea
Atoutsweb, services pour webmaster