Happy Java Library Icon

Happy Java Library

Multilock, Collections, Controllers, Delegates, Generators, Streams

0 Downloads (This Week)
Last Update:
Download happy-library-1.3.zip
Browse All Files


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.

Happy Java Library Web Site


  • 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


Other Useful Business Software

Communicate & Connect with Ring Central's VoIP Solution Icon

Cloud Powered Business Phone System

Communicate & Connect with Ring Central's VoIP Solution Icon
1 of 5 2 of 5 3 of 5 4 of 5 5 of 5
129 Reviews
  • Unrivaled value & reliability in one solution
  • Unlimited Calls/SMS/Conferencing/Fax
  • Trusted by 350,000+ Businesses

Additional Project Details

Intended Audience

Developers, Science/Research

Programming Language




Thanks for helping keep SourceForge clean.

Screenshot instructions:
Red Hat Linux   Ubuntu

Click URL instructions:
Right-click on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Briefly describe the problem (required):

Upload screenshot of ad (required):
Select a file, or drag & drop file here.

Please provide the ad click URL, if possible:

Get latest updates about Open Source Projects, Conferences and News.

No, thanks