The POI project is the master project for developing pure Java ports of file formats based on Microsofts OLE 2 Compound Document ports of file formats based on Microsofts OLE 2 Compound Document Format. OLE 2 Compound Document Format is used by Microsoft Office Documents, as well as by programs using MFC property sets to serialize their document objects. There following are ports, packages or components contained in the POI project: * POIFS is the set of APIs for reading and writing OLE 2 Compound * POIFS is the set of APIs for reading and writing OLE 2 Compound Document Formats. * HSSF is the set of APIs for reading and writing Microsoft Excel 97(-XP) spreadsheets. * HWPF is the set of APIs for reading and writing Microsoft Word 97(-XP) documents. * HSLF is the set of APIs for reading and writing Microsoft PowerPoint 97(-XP) documents. * HPSF is the set of APIs for reading property sets.
Although the ZIP file format it is a proprietary, de-facto standard by PKWARE Inc., ZIP files are ubiquitous on the Internet and standard by PKWARE Inc., ZIP files are ubiquitous on the Internet and thus on many platforms today. The J2SE API provides a well known package java.util.zip with classes like ZipInputStream, ZipOutputStream and ZipFile for easy access to ZIP compatible files. However, this package has some limitations/disadvantages: * Suns implementation uses the character set UTF-8 (eight bit * Suns implementation uses the character set UTF-8 (eight bit Unicode character set) for entry names and comments instead of CP437 (the genuine IBM-PC character set) as used by the de-facto standard PKZIP from PKWARE. As a result, you cannot read or write ZIP files with international entry file names such as t?cht.txt in a ZIP file created by a (southern) German. * You need to use an additional API (the package java.util.zip) if your application needs to support ZIP compatible files in addition to ordinary files and directories, thereby significantly inflating your code and adding unnecessary complexity (which adds bugs, bugs, and even more bugs). * You can either read or completely write ZIP compatible files, but you cannot just update individual entries. * The classes do not support the concept of a directory, which you may want to create, modify, list or delete. * You cannot browse a ZIP compatible file with a JFileChooser or FileSystemView. The TrueZIP Library has been developed to overcome these limitations/disadvantages.
Joone is a FREE Neural Network framework to create, train and test artificial neural networks. The aim is to create a powerful test artificial neural networks. The aim is to create a powerful environment both for enthusiastic and professional users, based on the newest Java technologies. Joone is composed by a central engine that is the fulcrum of all applications that are developed with Joone. Joones neural networks can be built on a local machine, be trained on a distributed environment and run on whatever device.
Kasai an open source 100% Java based authentication and authorization framework. It allows you to integrate into your authorization framework. It allows you to integrate into your application a granular, complete and manageable permission scheme. The goal of the framework is to provide a simple-to-use-yet-powerful security environment for multi-user applications.
Joda-Time provides a quality replacement for the Java date and time classes. The design allows for multiple calendar systems, while time classes. The design allows for multiple calendar systems, while still providing a simple API. The default calendar is the ISO8601 standard which is used by XML. The Gregorian, Julian, Buddhist and Coptic systems are also included, and we welcome further additions. Supporting classes include time zone, duration, format and parsing.
JGAP (pronounced jay-gap) is a genetic algorithms component written in the form of a Java package. It provides basic genetic written in the form of a Java package. It provides basic genetic mechanisms that can be easily used to apply evolutionary principles to problem solutions. The ground is laid for introducing Genetic Programming to JGAP in the near future! JGAP has been written to be very easy to use out of the box, while also designed to be highly modular so that more adventurous users can easily plug-in custom genetic operators and other sub-components.
JSci - A Science API for java
This is a free set of JavaTM packages. The aim is to encapsulate scientific methods/principles in the most natural way possible. As such scientific methods/principles in the most natural way possible. As such they should greatly aid the development of scientific based software.
Retrotranslator is a Java bytecode transformer that translates Java classes compiled with JDK 5.0 into classes that can be run on JVM Java classes compiled with JDK 5.0 into classes that can be run on JVM 1.4. Supported features: generics, annotations, reflection on generics and annotations, enums, autoboxing, for-each loop, varargs, static import, concurrency utilities, collections framework enhancements.
Shotoku is designed to provide easy access to content repositories in which you can store data, bind metadata, revision repositories in which you can store data, bind metadata, revision content, and provide branching and merging strategies. This means Shotoku can interface with repositories such as the Java Content Repository (JSR 170: JCR), Subversion, and file-system based repository implementations that aim to support basic revisioning mechanisms.
J.A.D.E Java Addition to Default Environment
The JADE library provides Context Programming which allows: - Objects to be allocated on the stack to avoid garbage collection and Objects to be allocated on the stack to avoid garbage collection and provide faster execution speed (PoolContext). - Automatic concurrency in low level method to take advantage of multi-processors (or hyper-threading) in a transparent manner (ConcurrentContext). - Thread-based inheritable local/global settings (LocalContext). This library also provides - Struct/Union classes for interoperability with C/C++. - A math package with the first (and unique) generic Matrix class to solve linear systems of any kind. - Physical quantities for which the dimension checking is done in the form of class-type checking (e.g. the division of a length by a duration returns a velocity instance). - Real-time XML parser with no dynamic object creation (the world fastest by a factor 2-3x) And much, much more..
Jodd is a generic purpose open-source Java library. It helps in development of Java applications, both stand-alone and server-side. You development of Java applications, both stand-alone and server-side. You may think of Jodd as swiss army knife for Java: small, sharp and with plenty handy gadgets included. Jodd contains many useful and ready to use features: it provides Java beans manipulation, loads beans with ease from various sources, simplifies JDBC connectivity and code, profiles sql queries, manages date and time, manipulates and format Strings, searches files on disk, helps with handling servlet requests. Additionally, Jodd contains small, yet useful mvc2 JSP-based framework. And there is more inside...
Libraries for common tasks such as CSV, Base64, Circular Buffers, MD5, and Significant Figures. MD5, and Significant Figures.
jga: Generic Algorithm for Java
The goal of this project is to provide functionality roughly analogous to the portions of the C++ STL library that are not already analogous to the portions of the C++ STL library that are not already provided by java. The primary functionality to be provided is: * a set of functors and predicates that may be applied both the * a set of functors and predicates that may be applied both the the generic collections and to other areas of the standard java library. * basic utility algorithms for use with java collections such as * basic utility algorithms for use with java collections such as those found in STL * implementations of standard java classes that are intended to be user-derivable that apply the algorithms and functors for general benefit (for example, implementations of standard swing models that take advantage of predicates and functors) We will not necessarily reproduce STL in all of its details: where Java and C++ provide different interpretations of standard design patterns, we will stay true to standard Java practices in order to be as comfortable for Java programmers to adopt as is practical. We will also not necessarily be limited by the scope or approach of STL
The Protomatter Classes is a collection of (hopefully) useful Open Source Java classes. The package provides the following: Syslog A Open Source Java classes. The package provides the following: Syslog A robust logging system. JDBC Connection Pool A JDBC driver that maintains a pool of connections. PAS A lightweight application server framework. (JavaDoc) Object Pooling Framework A generic object pooling framework. These baseclasses are used to implement the JDBC connection pool, thread queues, mutex locks, etc. Misc Utility Classes Base64 encoder/decoder, blocking queues, work queues, mutex locks, and other stuff...
NailGun: Insanely Fast Java NailGun is a client, protocol, and server for running Java programs from the command line without incurring server for running Java programs from the command line without incurring the JVM startup overhead. Programs run in the server (which is implemented in Java), and are triggered by the client (written in C), which handles all I/O.
JoSQL - SQL for Java Objects
JoSQL provides SQL capabilities for querying, ordering, and grouping of collections of Java objects. It allows a SQL statement to be grouping of collections of Java objects. It allows a SQL statement to be applied to the collection of objects and the matching set returned, ordered and grouped. It should be used when a RDBMS is either too heavyweight or too impractical.
Java Plugin Framework - JPF
JPF provides a runtime engine that dynamically discovers and loads plug-ins. A plug-in is a structured component that describes loads plug-ins. A plug-in is a structured component that describes itself to JPF using a manifest. JPF maintains a registry of available plug-ins and the functions they provide (via extension points and extensions). One major goal of JPF is that the application (and its end-user) should not pay any memory or performance penalty for plug-ins that are installed, but not used. Plug-ins are added to the registry at application start-up or while the application is running but they are not loaded until they are called.
Dozer is a powerful, yet simple Java Bean to Java Bean mapper that recursively copies data from one object to another. Typically, that recursively copies data from one object to another. Typically, these Java Beans will be of different complex types. Dozer supports simple property mapping, complex type mapping, bi-directional mapping, implicit-explicit mapping, as well as recursive mapping. The mapper is used any time you need to take one type of Java Bean and map it to another type of Java Bean. Most field mapping can be done automatically by Dozer using reflection, but any custom mapping can be predescribed in XML format.
Cougaar is a Java-based architecture for the construction of large-scale distributed agent-based applications. It is the product of a large-scale distributed agent-based applications. It is the product of a multi-year DARPA research project into large scale agent systems and includes not only the core architecture but also a variety of demonstration, visualization and management components to simplify the development of complex, distributed applications.
Line is a Java library for handling console input. It is similar in functionality to BSD editline and GNU readline. People familiar with in functionality to BSD editline and GNU readline. People familiar with the readline/editline capabilities for modern shells (such as bash and tcsh) will find most of the command editing features of JLine to be familiar.
Scriptella is an ETL (Extract-Transform-Load) and script execution tool. Its primary focus is simplicity. It doesnt require the execution tool. Its primary focus is simplicity. It doesnt require the user to learn another complex XML-based language to use it, but allows the use of SQL or another scripting language suitable for the data source to perform required transformations.
NativeCall lets you call native methods from Java without JNI code. With NativeCall, you can call all methods implemented in any DLL. code. With NativeCall, you can call all methods implemented in any DLL. It supports structs, Strings, primitive types (int and boolean), byte and char arrays and output parameters. NativeCall is implemented for the Windows platform.
Enhydra Octopus is a Java-based Extraction, Transformation, and Loading (ETL) tool. It may connect to any JDBC data sources and perform Loading (ETL) tool. It may connect to any JDBC data sources and perform transformations defined in an XML file.
j-Interop: Open Source, Non Native Java - DCOM Access Bridge
j-Interop implements DCOM wire protocol (MSRPC) to enable development of Pure Bi-Directional, Non-Native Java applications which development of Pure Bi-Directional, Non-Native Java applications which can interoperate with any COM component.The implementation itself is purely in Java and does not use JNI to provide native access,thus being truly platform independent. It has full support for COM automation and supports callback from COM Servers (event handling). It also supports complete Create-Retrieve-Update-Delete operations on Windows registry in a non-native way as well. It has been tested on Windows XP/2K/2K3 and Fedora 5.
WinRun4j is a java launcher for windows. It is an alternative to javaw.exe and provides the following benefits: javaw.exe and provides the following benefits: * Uses an INI file for specifying classpath, main class, vm args, * Uses an INI file for specifying classpath, main class, vm args, program args. * Custom executable name that appears in task manager. * Additional VM args for (eg.) more flexible memory use. * Built-in icon replacer for custom icon. * Built-in pre-VM splash screen with auto-hide. * JNI access INI file and splash screen.
JFig - Java Configuration Solution
Java applications are typically deployed in multiple environments and platforms, each requiring some unique configuration. JFig gives and platforms, each requiring some unique configuration. JFig gives developers a simple yet powerful tool to manage their applications configuration. It allows them to: * Store application configuration in one common repository of XML * Store application configuration in one common repository of XML files * Access configuration data using one common, * Easily define multiple configurations, dynamically modifying those variables that need to change in different situations * Eliminate the error prone practice of defining the same configuration variables in multiple locations * Ease the management, deployment, and control of configuration files
Set of core libraries for Java, inspired by dynamic languages like Ruby and Python. like Ruby and Python.
JEgg provides an implementation for Java Active Objects that simplifies the development of multithreaded Java applications. JEgg simplifies the development of multithreaded Java applications. JEgg objects interact using arbitrary messages rather than synchronous method invocations. It can be configured to execute on the same or separate threads without changing the application logic, and it does not require the explicit use of Java synchronization or the java.lang.Thread class. Consequently, application objects are highly cohesive and loosely coupled with no compile-time dependencies.
A free Java library and extensible framework for mapping, parsing and unmarshalling CSV file contents into Plain Old Java Objects. It and unmarshalling CSV file contents into Plain Old Java Objects. It provides Xdoclet support for easy and painless mapping of CSV records to Java Objects. The library requires J2SE 1.5
CSVBeans is an object/csv mapping library that helps to build or parse CSV files in Java. There is no dependency on the library when parse CSV files in Java. There is no dependency on the library when creating your Java beans: you only work with POJOs. Its design allows to create your own parsers or builders if needed.
GDS Java API - Google Desktop Java API
GDAPI is a simple java api for access desktop search from any other java application. Google Desktop Search is a desktop search other java application. Google Desktop Search is a desktop search application that provides full text search over your email, computer files, chats and web pages youve viewed.
JTimepiece is an advanced library for working with dates and times in Java. Features include: reduces number of objects created when times in Java. Features include: reduces number of objects created when working with multiple date/times, methods for computing difference between two date/times, support for time zones, leap year and daylight savings, methods for converting between string and date/times, methods for adding and subtracting to and from date/times, methods for easily retrieving individual parts of date/times, no dependencies to other non-standard Java libraries, compatible with J2SE 1.2 and above.
The JUnique library can be used to prevent a user to run at the same time more instances of the same Java application. JUnique same time more instances of the same Java application. JUnique implements locks and communication channels shared between all the JVM instances launched by the same user.
Transmorph is a java library used to convert a Java object of one type into an object of another type (with another signature, possibly type into an object of another type (with another signature, possibly parameterized). Transmorph strong points are : * support conversion for primitives and objects * support conversion for primitives and objects * support conversion to multidimensional arrays * support conversion to parameterized collections and types * support conversion for beans that contain bi-directional relationships * you can choose exactly which converters you want to use * jars for JDK 1.4 and JDK 1.5 * no dependencies * 40 converters included * easy to add more converters * objects can be modified after conversion using modifiers * can convert to a type given either its java type (Class) or signature * easy to use
Thought River Commons
The Thought River Commons is a collection of utilities and other nifty code items developed by Thought River North and Thought River nifty code items developed by Thought River North and Thought River South for use in our various internal projects, and made available for public use. Most experienced developers know that over time, the same needs are often encountered again and again. We wrote the Thought River Commons to satisfy those sorts of needs, and we figured that some other developers out there might make use of it, as well.
Gemini is a very simple-to-use non-intrusive Java framework that seamlessly enables bidirectional relationships between plain old Java seamlessly enables bidirectional relationships between plain old Java objects (POJO). It helps developers to write simpler code to implement rich domain models by eliminating the need to manually check referential integrity and take care of updating the opposite property of a relationship (both simple and container properties). Gemini is available under dual license: * General Public License (GPL) - if you use this version of Gemini * General Public License (GPL) - if you use this version of Gemini you must release your code under GPL * Commercial license - if our GPL version of Gemini does not serve your needs (mostly intended for commercial software developers)
Sha4J is one class implementation of SHA-1, SHA-224, SHA-256, SHA-384 and SHA-512 algorithms. Sha4J calculates hash from an SHA-384 and SHA-512 algorithms. Sha4J calculates hash from an inputstream and it can be used with any inputstream from strings to serial interfaces.