Open replacement for lotus.domino package in IBM Domino
Project goals:
- Eliminate Exception handling in lotus.domino API by allowing static exception delegation and standard Java logging
- Modernize getters/setters to use Java standard interfaces
- Modernize collection objects to implement Iterators where appropriate
- Implement Maps and Collections using Domino data objects (eg: Document implements Map<String, Object>)
- Using MIME storage, allow any Serializable content to be stored in an Item
- Correct methods with have dangerous side-effects (eg: View.isFolder() which builds the index if it didn't already exist)
- Provide useful global convenience settings like alwaysUseJavaDates and alwaysStoreGMTTime
- Provide useful static utility methods like incinerate(), toDxl() and toUnid(String)
- Have some operations that currently throw Exceptions unnecessarily instead simply return null (ie: Database.getDocumentByUnid())
- Provide coherent content assist via Javadoc annotations and retention of parameter names in byte code
- Eliminate the need to .recycle() Domino objects. Ever.
- Greatly reduce the need for defensive coding by allowing typed data access
- Provide helper classes and convenience methods for common Domino programming idioms (eg: Name.getGroups(), Database.getDocumentWithKey())
- Leverage and republish high-quality core Java libraries like Google Guava and Javolution
- Greatly extend the ability of the API to inspect and manipulate design elements
- Provide entirely new paradigms like database schemas, graphs, tasklets, event listeners, transactional boundaries, and multi-NSF searching and collections.
- Provide an alternative, pure Java implementation of the @Formula engine
This project is an OpenNTF project, and is available under the Apache Licence V2.0. All other aspects of the project, including contributions, defect reports, discussions, feature requests and reviews are subject to the OpenNTF Terms of Use - available at http://openntf.org/Internal/home.nsf/dx/Terms_of_Use.
YourKit is kindly supporting OPENNTF open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products: YourKit Java Profiler and YourKit .NET Profiler.
We cannot recommend YourKit enough. It's a superb profiling tool with great Eclipse integration. If you're serious about Java development, you need to be using YourKit. No arguments, just do it.