SoftNet-Consult Java Utility Library
This Java class library contains a collection of tools and utilities that are often required in all kinds of projects, but have unfortunately not found their way into the standard Java API.
Our programmers use these tools across a wide range of open source and commercial projects. For the benefit of the Java community we are making this utility library available for everyone's use.
What's inside?
The SoftNet-Consult Java Utility Library is intended to save yourself the effort of implementing standard tasks that have previously been encountered and implemented by others. Here we give a brief overview of the tools provided by the library listing just a few examples. For a complete list, please read the documentation.
Some of the functionality provided by the API includes:
- Collections-related tools:
- Creating array iterators.
- Creating read-only iterators to wrap another iterator.
- Converting any array to a human-readable string.
- Converting arrays of primitive types to arrays of corresponding wrapper types.
- Exceptions-related tools:
- Getting the information printed by the
printStackTrace()
-method as a string. Bug
- andUnexpectedSwitchCase
-exceptions.
- Getting the information printed by the
- File-related tools:
- Extracting the extension of a file.
- Constructing unique names for log or temp files in a specified directory.
- Recursively deleting directories.
- Logging-related tools:
- Simple logger that logs a copy of everything that is printed to the screen (i.e. to
System.out
) to a file; the logger supports structured and indented output.
- Simple logger that logs a copy of everything that is printed to the screen (i.e. to
- Math-related tools:
- Compute factorials and Gamma functions of large values with high precision.
- Compute logarithms to any specified base;
- Compute the mean, variance or standard deviation of a sequence represented as an
Array
,List
orIterator
; - Compute correlation, covariance and least squares fits for data.
- A full-scale distribution sample class with processing and plotting tools.
- Random-numbers-related tools:
- A super fast random numbers generator that pre-generates a large number of random numbers and reuses them throughout the application.
- A generator for Poisson-distributed random numbers.
- Reflection-related tools:
- Methods for analysing version information of Java class binaries and an executable tool for analysing several directories from the command line.
- Swing-related tools:
- A
JPanel
that automatically disables its child components when it is disabled; - A
JComboBox
that has a drop-down pop-up that can be resized independently of the combo-box and and can automatically fit the widths of the combo-box items; - Convert
Font
s from bold to normal.
- A
- Any much, much more...
Who uses the library?
Primarily, the SoftNet-Consult Java API is used in a range of commercial software development projects. However, since the API became open source it has been used within a number of community projects. As the API is freely available we cannot know of everyone who uses it. Below is a list of projects that we know about. If you are using the API in your project, you can contact us and we will include you in this list.
- Scientific computational modeling at Monash University, including the complexity virtual lab.
- The real-time plotter and data analysis framework LiveGraph (an open-source project available through SourceForge) .
- JAGA - The Java API for Genetic Algorithms (another open-source project available through SourceForge) uses the SoftNet-Consult Java utilities in the next version to be released.
Documentation
The SoftNet-Consult Java Utility Library is distributed as a JAR file.
The API is carefully commented and the JavaDoc is available:
- Browse the online version of the JavaDoc.
- Download the JavaDoc together with the class library.
Download
The API is distributed in two forms:
- A slim JAR file containing only the class library itself.
- A larger JAR file that contains the class library, the source code and the JavaDoc files. All three are packed into one JAR file.
You can choose the right option for you below.
Latest version
Version: 2.0.2. Release date: 21.07.2008. Change log. | ||
Slim JAR (only the class library). | 89 KByte. | [download] |
Full JAR (class library + JavaDoc + source code). | 865 KByte. | [download] |
Previous versions
As the library is "work in progress" you might have built your application against an older version of the API. Therefore all previously publicly released versions will remain available for download.
Version: 2.0.1. Release date: 23.05.2008. Change log. | ||
Slim JAR (only the class library). | 89 KByte. | [download] |
Full JAR (class library + JavaDoc + source code). | 865 KByte. | [download] |
Version: 2.0.0. Release date: 09.05.2008. Change log. | ||
Slim JAR (only the class library). | 86 KByte. | [download] |
Full JAR (class library + JavaDoc + source code). | 835 KByte. | [download] |
Version: 1.0.1. Release date: internal release. Change log. | ||
The version 1.0.1 was not released publicly and is not available for download. |
Version: 1.0.0. Release date: 17.05.2007. Change log. | ||
Slim JAR (only the class library). | 23 KByte. | [download] |
Full JAR (class library + JavaDoc + source code). | 295 KByte. | [download] |
Version 1.00 is the first publicly available version. There are no older versions available.
Support & Contact
We will be very grateful for any bug reports and feature requests you can provide to us. If time permits we can also try to provide some limited support and advice on using the library. For whatever reason you would like to get in touch with us, we are glad to hear from you. Please use our "Users to Developers"-forum at the project SourceForge website for any communication.
If we cannot help you with something, maybe the community can. For any communication and for an open discussion between the users of the library, use our "Users to Users"-forum of SourceForge.
Naturally, you can search both of our forums. For forum search, click here.
Additionally, you may want to browse the SoftNet-Consult Java Utility Library project page on SourceForge.
Licence
Sadly, our world is ruled by lawyers. To make those people leave us alone we would like to declare that we are not responsible in any way for the contents of other websites linked from this page. In addition, we would like to make you aware that the API and this website are made available under the following terms and conditions:
This product includes software developed by the SoftNet-Consult Java Utility Library project and its contributors (http://java-tools.sourceforge.net).
Copyright (c) 2007-2008 SoftNet-Consult.
Copyright (c) 2007-2008 G. Paperin.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following terms and conditions are met:
1. Redistributions of source code must retain the above acknowledgement of the SoftNet-Consult Java Utility Library project, the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above acknowledgement of the SoftNet-Consult Java Utility Library project, the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software or any derived software must display the following acknowledgement:
This product includes software developed by the SoftNet-Consult Java Utility Library project and its contributors.
THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
End of terms and conditions.
Copyright © 2007 SoftNet-Consult. Copyright © 2007 Gregory Paperin. All rights reserved.