Happy Java Library

By Author: andreashollmann
Helps to develop and test event-based multi-threaded Java application. Because of method called as API-Evolution the Happy Java Library is fully downward compatible. The library contains following functionality: MultiLock, Parallel loops, Collections, Controllers, Generators, Delegates, Streams.

Feature

  • MultiLock-MultiSynchronization - avoid deadlocks by synchronizing many locks in one atomic operation.
  • Parallel.For & Parallel.ForEach loops
  • Event based collections - register events like OnBeforeAddEvent or OnAfterRemoveEvent (java.util.Collection, -List, -Set, -Map)
  • Partly Unmodifiable - decorate the collection, list, set, map by allowing for example only add new elements but nor removing any existing (java.util.Collection, -List, -Set, -Map)
  • Cache collections - decorates java.util.Collection, -List, -Set, -Map which caches often used elements and improves the performance during searching of elements in many cases.
  • Synchronized collections - Happy synchronization-collections differs from standard java.util.Collections.synchronizedList(), -Map(), -Set() decorators by managing of synchronization lock inside public API. In that way hierarchical synchronization mechanisms which allows to synchronize the collections around foreign lock from outside.
  • Buffered Collections - You can revert any changes made to your collection since last commit. If you commit changes made to buffered collection decorator, the decorated collection will be modified.
  • Transient Collections - if stored elements in a transient collection will be not used for long period of time, they will be removed. This reduces the memory and processor requirements.
  • Data Collections - This map can adapt the data from data-sources like data-base or webservice and provide abstract management of elements in bounded data-source.
  • SortedList - the decorator which decorates java.util.List to be sorted. There are two strategies implemented: (1) Linked and (2) Divide and Conquer. The Sorted List can increase the performance of the List dramatically (more than 20 times),
  • SetList - decorates java.utli.List to be java.util.Set. Sometimes can be useful if you want use List methods like List.listIterator(int index) but don’t want allow duplicates in your List.
  • Controllers-control your processes, for example a download, upload or solving process.
  • Delegates-Observer Design Pattern implementation - similar to .NET Delegates.
  • Generators-Often you need to generate random data. For example random integer value between 35 and 60. Or a String of the length between 5 and 10 letters. The generator package is designed to simply generate such random values..
  • Event based Input-& OutputStreams - register events like getOnWriteEvent or getOnReadEvent to observe decorated input & output streams. Events will be fired after defined timeDelay or after specified number of readed or written bytes.
  • Cancelable Input-& OutputStreams - Decorated your streams to be cancleable, thus after cancel an IOException will be fired if anybody tries to use decoated streams.
  • Blocking Input-& OutputStreams - Blocking Input & OutputStreams adds new block() method which allows to wait until the write or read operations on the streasm are completed.
  • Stopable InputStreams - this stream allows to cancel the decorated stream. You can stop this stream at any time. The decorator waits for decorated Stream in extra thread and if you stop this stream returns immediately.
  • API-Evolution downwardly compatibility of API

Immutable Collections for Java

Library providing immutable/persistent collection classes for Java. While collections are immutable they provide methods for adding and removing values by creating new modified copies of themselves. Each copy shares as much as possible of its structure with other copies to minimize memory consumpt.........

Similar: 15%

JavaMutex

Freely redistributable open source 100% pure Java for mutual exclusion. Read-write and read-only reentrant lock, condition variable, atomic wraps for Boolean, Integer, Long, and Reference. Cell pool with optional locking, object exchanger, Intersect....

Similar: 11%

AlgART Java Libraries

AlgART Java libraries for processing arrays and matrices are open-source product, distributed under MIT license. So, anyone can use them for free without any restrictions. Main features: 63-bit addressing of array elements (64-bit long int indexes), memory model concept (allowing storing data in di.........

Similar: 10%

Wave Framework

Wave is a PHP micro-framework that is built loosely following model-view-control architecture and factory method design pattern. It is made for web services, websites and info-systems and is built to support a native API architecture, caching, user control and smart resource management. Wave is a co.........

Similar: 10%

launchjs

Launchjs is rapid application development framework built utilizing JavaScript. It allows you to quickly build your web sites using JavaScript without a lot of extra typing. It combines groups of functions that have been commonly used to develop web pages. One of the great things about Launchjs is .........

Similar: 10%

JDynamiTe, Dynamic Template in Java

JDynamiTe is a tool which allows you to dynamically create documents in any format from "template" documents. And very few lines of code (or no line at all!) are needed to do that. Some typical usage domains of JDynamiTe are: - dynamic Web pages creation, - text document generation, - source c.........

Similar: 10%

Toolsverse ETL Framework

ETL Framework is a standalone Extract Transform Load engine written in Java. It includes executables for all major platforms and can be easily integrated into other applications. Key Features: * embeddable, open source and free * fast and scalable * uses target database features to do transformatio.........

Similar: 9%

JPPF

JPPF makes it easy to parallelize computationally intensive tasks and execute them on a Grid....

Similar: 9%

N-Tier Windows Forms Framework

Updated to work with Visual Studio 2012. The N-Tier Framework for Windows Forms is designed to put the developer in control with tools & APIs for the rapid development of database applications in c#. NTier is designed to leverage developers' skills and familiarity with Visual Studio and Windows Fo.........

Similar: 8%

FFEntityFramework

FFEntityFramework is an Object-Relational Mapping Framework (O-R Mapping / Object Persistence) for .NET with built-in features like Xml-Serialization, Model-View-Controller-Framework or UndoManagement ... All these Components use the same Meta-Base which can be definied via Attributes (Annotations).........

Similar: 5%