Libraries: 142 Packages: 5736 Classes: 63767
Acegi1.0.0Acegi Security is a powerful, flexible security solution for enterprise software, with a particular emphasis on applications that use Spring. Using Acegi Security provides your applications with comprehensive authentication, authorization, instance-based access control, channel security and human user detection capabilities.
Apache Ant1.6.5Apache Ant is a Java-based build tool. In theory, it is kind of like Make, but without Make's wrinkles. Ant is different. Instead of a model where it is extended with shell-based commands, Ant is extended using Java classes. Instead of writing shell commands, the configuration files are XML-based, calling out a target tree where various tasks get executed. Each task is run by an object that implements a particular Task interface.
Apache Axis1.4Apache Axis is an implementation of the SOAP ("Simple Object Access Protocol") submission to W3C.
Apache Axis21.0Apache Axis2 is a complete re-design and re-write of the widely used Apache Axis SOAP stack to build on the lessons learnt from Apache Axis.
Apache Beehive1.0.1Beehive's goal is to make J2EE programming easier by building a simple object model on J2EE and Struts. Using the new JSR-175 annotations, Beehive reduces the coding necessary for J2EE.
Apache Cocoon2.1.9Apache Cocoon is a web development framework built around the concepts of separation of concerns and component-based web development.Cocoon implements these concepts around the notion of "component pipelines", each component on the pipeline specializing on a particular operation. This makes it possible to use a Lego(tm)-like approach in building web solutions, hooking together components into pipelines without any required programming.
Apache Faces API1.1.1MyFaces is the first free open source Java Server Faces implementation.
Apache Harmony5.M5
Apache iBATIS2.1.7The iBATIS Data Mapper framework makes it easier to use a database with Java and .NET applications. iBATIS couples objects with stored procedures or SQL statements using a XML descriptor. Simplicity is the biggest advantage of the iBATIS Data Mapper over object relational mapping tools.
Apache Jakarta BCEL5.2The Byte Code Engineering Library is intended to give users a convenient possibility to analyze, create, and manipulate (binary) Java class files (those ending with .class). Classes are represented by objects which contain all the symbolic information of the given class: methods, fields and byte code instructions, in particular.
Apache Jakarta BSF2.3.0Bean Scripting Framework (BSF) is a set of Java classes which provides scripting language support within Java applications, and access to Java objects and methods from scripting languages. BSF allows one to write JSPs in languages other than Java while providing access to the Java class library. In addition, BSF permits any Java application to be implemented in part (or dynamically extended) by a language that is embedded within it. This is achieved by providing an API that permits calling scripting language engines from within Java, as well as an object registry that exposes Java objects to these scripting language engines.
Apache Jakarta Commons Attributes2.1The Jakarta Commons Attributes projects enables developers to use C#-like attributes in their programs. Please see the project website at for a tutorial and instructions for use.
Apache Jakarta Commons Beanutils1.7The Bean Introspection Utilities component of the Jakarta Commons subproject offers low-level utility classes that assist in getting and setting property values on Java classes that follow the naming design patterns outlined in the JavaBeans Specification, as well as mechanisms for dynamically defining and accessing bean properties. The Bean-Collections optional distribution contains objects which apply these techniques to collections. They rely on commons-collections 3.0 (or higher).
Apache Jakarta Commons Betwixt0.7The Betwixt library provides an XML introspection mechanism for mapping beans to XML in a flexible way. It is implemented using an XMLIntrospector and XMLBeanInfo classes which are similar to the standard Introspector and BeanInfo from the Java Beans specification.
Apache Jakarta Commons Chain1.0A popular technique for organizing the execution of complex processing flows is the "Chain of Responsibility" pattern, as described (among many other places) in the classic "Gang of Four" design patterns book. Although the fundamental API contracts required to implement this design patten are extremely simple, it is useful to have a base API that facilitates using the pattern, and (more importantly) encouraging composition of command implementations from multiple diverse sources. Towards that end, the Chain API models a computation as a series of "commands" that can be combined into a "chain". The API for a command consists of a single method (execute()), which is passed a "context" parameter containing the dynamic state of the computation, and whose return value is a boolean that determines whether or not processing for the current chain has been completed (true), or whether processing should be delegated to the next command in the chain (false).
Apache Jakarta Commons CLI1.0The Jakarta Commons CLI library provides an API for processing command line interfaces. It was formed by the merger of ideas and code from three different libraries - Werken, Avalon and Optz.
Apache Jakarta Commons Codec1.3Commons Codec provides implementations of common encoders and decoders such as Base64, Hex, Phonetic and URLs.
Apache Jakarta Commons Collections3.2The Java Collections Framework was a major addition in JDK 1.2. It added many powerful data structures that accelerate development of most significant Java applications. Since that time it has become the recognised standard for collection handling in Java. Commons-Collections seek to build upon the JDK classes by providing new interfaces, implementations and utilities.
Apache Jakarta Commons Configuration1.2Commons Configuration provides a generic configuration interface which enables an application to read configuration data from a variety of sources. Commons Configuration provides typed access to single, and multi-valued configuration parameters.
Apache Jakarta Commons Daemon1.0.1Alternative invocation mechanism for unix-daemon-like java code.
Apache Jakarta Commons DBCP1.2.1There are several Database Connection Pools already available, both within Jakarta products and elsewhere. This Commons package provides an opportunity to coordinate the efforts required to create and maintain an efficient, feature-rich package under the ASF license. The commons-dbcp package relies on code in the commons-pool package to provide the underlying object pool mechanisms that it utilizes.
Apache Jakarta Commons DbUtils1.0DbUtils is a small set of classes designed to make working with JDBC easier. JDBC resource cleanup code is mundane, error prone work so these classes abstract out all of the cleanup tasks from your code leaving you with what you really wanted to do with JDBC in the first place: query and update data.
Apache Jakarta Commons Digester1.7Many Jakarta projects read XML configuration files to provide initialization of various Java objects within the system. There are several ways of doing this, and the Digester component was designed to provide a common implementation that can be used in many different projects.
Apache Jakarta Commons Discovery0.2The Discovery component is about discovering, or finding, implementations for pluggable interfaces. It provides facilities for instantiating classes in general, and for lifecycle management of singleton (factory) classes. Fundamentally, Discovery locates classes that implement a given Java interface. The discovery pattern, though not necessarily this package, is used in many projects including JAXP (SaxParserFactory and others) and commons-logging (LogFactory). By extracting this pattern, other projects can (re)use it and take advantage of improvements to the pattern as Discovery evolves.
Apache Jakarta Commons EL1.0EL is the JSP 2.0 Expression Language Interpreter from Apache.
Apache Jakarta Commons Email1.0Commons-Email aims to provide a API for sending email. It is built on top of the Java Mail API, which it aims to simplify.
Apache Jakarta Commons FileUpload1.1The Commons FileUpload package makes it easy to add robust, high-performance, file upload capability to your servlets and web applications. FileUpload parses HTTP requests which conform to RFC 1867, "Form-based File Upload in HTML". That is, if an HTTP request is submitted using the POST method, and with a content type of "multipart/form-data", then FileUpload can parse that request, and make the results available in a manner easily used by the caller.
Apache Jakarta Commons HttpClient3.0.1Although the package provides basic functionality for accessing resources via HTTP, it doesn't provide the full flexibility or functionality needed by many applications. The Jakarta Commons HttpClient component seeks to fill this void by providing an efficient, up-to-date, and feature-rich package implementing the client side of the most recent HTTP standards and recommendations.
Apache Jakarta Commons IO1.2Commons IO is a library of utilities to assist with developing IO functionality. There are three main areas included: 1) Utility classes - with static methods to perform common tasks 2) Filters - various implementations of file filters and 3) Streams - useful stream, reader and writer implementations.
Apache Jakarta Commons Jelly1.0Jelly is a tool for turning XML into executable code. So Jelly is a Java and XML based scripting and processing engine. Jelly can be used as a more flexible and powerful front end to Ant such as in the Maven project, as a testing framework such as JellyUnit, in an intergration or workflow system such as werkflow or as a page templating system inside engines like Cocoon.
Apache Jakarta Commons JEXL1.0Java Expression Language (JEXL) is an expression language engine which can be embedded in applications and frameworks. JEXL is inspired by Jakarta Velocity and the Expression Language defined in the JavaServer Pages Standard Tag Library version 1.1 (JSTL) and JavaServer Pages version 2.0 (JSP). While inspired by JSTL EL, it must be noted that JEXL is not a compatibile implementation of EL as defined in JSTL 1.1 (JSR-052) or JSP 2.0 (JSR-152).
Apache Jakarta Commons JXPath1.2The org.apache.commons.jxpath package defines a simple interpreter of an expression language called XPath. JXPath applies XPath expressions to graphs of objects of all kinds: JavaBeans, Maps, Servlet contexts, DOM etc, including mixtures thereof.
Apache Jakarta Commons Lang2.1The standard Java libraries fail to provide enough methods for manipulation of its core classes. The Lang Component provides these extra methods. The Lang Component provides a host of helper utilities for the java.lang API, notably String manipulation methods, basic numerical methods, object reflection, creation and serialization, and System properties. Additionally it contains an inheritable enum type, an exception structure that supports multiple types of nested-Exceptions, basic enhancements to java.util.Date and a series of utlities dedicated to help with building methods, such as hashCode, toString and equals.
Apache Jakarta Commons Launcher1.1The Launcher Component is designed to be a cross platform Java application launcher. The original Java classes come from the Jakarta Tomcat 4.0 project. Commons-launcher eliminates the need for a batch or shell script to launch a Java class.
Apache Jakarta Commons Logging1.1When writing a library it is very useful to log information. However there are many logging implementations out there, and a library cannot impose the use of a particular one on the overall application that the library is a part of. The Logging package is an ultra-thin bridge between different logging implementations. A library that uses the commons-logging API can be used with any logging implementation at runtime. Commons-logging comes with support for a number of popular logging implementations, and writing adapters for others is a reasonably simple task.
Apache Jakarta Commons Math1.1Commons Math is a library of lightweight, self-contained mathematics and statistics components addressing the most common problems not available in the Java programming language or Commons Lang.
Apache Jakarta Commons Modeler1.1The Modeler component is designed to make the process of creating Model MBeans simple and painless -- the required metadata is configured from an XML description of each Model MBean to be supported. In addition, Modeler provides a factory mechanism to create the actual Model MBean instances themselves.
Apache Jakarta Commons Net1.4.1Jakarta Commons Net implements the client side of many basic Internet protocols. The purpose of the library is to provide fundamental protocol access, not higher-level abstractions. Therefore, some of the design violates object-oriented design principles. Our philosophy is to make the global functionality of a protocol accessible (e.g., TFTP send file and receive file) when possible, but also provide access to the fundamental protocols where applicable so that the programmer may construct his own custom implementations (e.g, the TFTP packet classes and the TFTP packet send and receive methods are exposed).
Apache Jakarta Commons Pool1.3Pool provides an Object-pooling API, with three major aspects: 1. A generic object pool interface that clients and implementors can use to provide easily interchangable pooling implementations. 2. A toolkit for creating modular object pools. 3. Several general purpose pool implementations.
Apache Jakarta Commons Primitives1.0The Java language is mostly Object based, however the original designers chose to include eight primitive types - boolean, byte, char, double, float, int, long and short. Commons Primitives provides a library of collections and utilities specially designed for use with primitive types.
Apache Jakarta Commons Transaction1.1Commons Transaction aims at providing lightweight, standardized, well tested and efficient implementations of utility classes commonly used in transactional Java programming. Initially there are implementations for multi level locks, transactional collections and transactional file access. There may be additional implementations when the common need for them becomes obvious. However, the complete component shall remain compatible to JDK1.2 and should have minimal dependencies.
Apache Jakarta Commons Validator1.3A common issue when receiving data either electronically or from user input is verifying the integrity of the data. This work is repetitive and becomes even more complicated when different sets of validation rules need to be applied to the same set of data based on locale. Error messages may also vary by locale. This package addresses some of these issues to speed development and maintenance of validation rules.
Apache Jakarta HiveMind1.1.1The concept behind HiveMind, and most other dependency-injection microkernels, is to reduce the amount of code in your application and at the same time, make your application more testable. In most applications, there is an awful lot of code in place that deals just with creating objects and hooking them together, and reading and processing configuration files. HiveMind moves virtually all of that logic into the framework, driven by the module deployment descriptors. Inside the descriptor, you describe your services, your configuration data, and how everything is hooked together within and between modules.
Apache Jakarta ORO2.0.8The Jakarta-ORO Java classes are a set of text-processing Java classes that provide Perl5 compatible regular expressions, AWK-like regular expressions, glob expressions, and utility classes for performing substitutions, splits, filtering filenames, etc. This library is the successor to the OROMatcher, AwkTools, PerlTools, and TextTools libraries originally from ORO, Inc.
Apache Jakarta Regexp1.4Jakarta Regexp is a 100% Pure Java Regular Expression package that was graciously donated to the Apache Software Foundation by Jonathan Locke. He originally wrote this software back in 1996 and it has stood up quite well to the test of time. It includes complete Javadoc documentation as well as a simple applet for visual debugging and testing suite for compatibility.
Apache Jakarta Slide Client2.1The Slide Client API provides 100% pure Java implementations of WebDAV, DeltaV and DASL protocol commands for implementing client software.
Apache Jakarta Slide Server2.1Slide is a content repository which can serve as a basis for a content management system / framework and other purposes. It features: Full WebDAV Support, Basic DeltaV WebDAV Versioning Support, Support for a variety of backend systems for storing the content including different databases and file system storage, Transactions and Locking for data integrity, Flexible control over permissions at a per file level via support for the WebDAV ACL, DASL support for any backend, extensible for using backends search capabilities for higher scalability and less latency, Binding support
Apache Jakarta Tapestry4.0.2
Tapestry is an open-source framework for creating dynamic, robust, highly scalable web applications in Java. Tapestry complements and builds upon the standard Java Servlet API, and so it works in any servlet container or application server. Tapestry divides a web application into a set of pages, each constructed from components. This provides a consistent structure, allowing the Tapestry framework to assume responsibility for key concerns such as URL construction and dispatch, persistent state storage on the client or on the server, user input validation, localization/internationalization, and exception reporting.
Apache Jakarta Velocity Engine1.5
Apache Jakarta Velocity Tools2.0-beta.1
Apache JMeter2.2Apache JMeter is a 100% pure Java desktop application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions.
Apache Log4J1.2.13The de-facto logging framework for Java applications, Log4j provides distinctive features such as inheritance in loggers, separation of log handlers, filters, etc. Logging behavior can be controlled by editing a configuration file without touching the application binary.
Apache Lucene2.0.0Apache Lucene is a high-performance, full-featured text search engine library written entirely in Java. It is a technology suitable for nearly any application that requires full-text search, especially cross-platform.
Apache Lucene Contrib2.0.0Apache Lucene is a high-performance, full-featured text search engine library written entirely in Java. It is a technology suitable for nearly any application that requires full-text search, especially cross-platform.
Apache MyFaces1.1.1MyFaces is the first free open source Java Server Faces implementation.
Apache Struts1.2.9The goal of the Apache Struts project is to encourage application architectures based on the "Model 2" approach, a variation of the classic Model-View-Controller (MVC) design paradigm. Under Model 2, a servlet (or equivalent) manages business logic execution, and presentation logic resides mainly in server pages.
Apache Struts Contrib1.2.9The goal of the Apache Struts project is to encourage application architectures based on the "Model 2" approach, a variation of the classic Model-View-Controller (MVC) design paradigm. Under Model 2, a servlet (or equivalent) manages business logic execution, and presentation logic resides mainly in server pages.
Apache SynapseM2The Synapse project will create a robust, lightweight implementation of a highly scalable and distributed service mediation framework based on Web services specifications.
Apache Tomcat6.0.14
Apache Woden1.0.1.M5The Woden project is an incubation subproject of the Apache Web Services Project to develop a Java class library for reading, manipulating, creating and writing WSDL documents, initially to support WSDL 2.0 but with the longer term aim of supporting past, present and future versions of WSDL.
Apache Xalan2.7.0Xalan-Java is an XSLT processor for transforming XML documents into HTML, text, or other XML document types. It implements XSL Transformations (XSLT) Version 1.0 and XML Path Language (XPath) Version 1.0 and can be used from the command line, in an applet or a servlet, or as a module in other program.
Apache Xerces22.8.0
Xerces2 is the next generation of high performance, fully compliant XML parsers in the Apache Xerces family. This new version of Xerces introduces the Xerces Native Interface (XNI), a complete framework for building parser components and configurations that is extremely modular and easy to program. Xerces2 is a fully conforming XML Schema processor.
AspectWerkz2.0AspectWerkz is a dynamic, lightweight and high-performance AOP framework for Java. AspectWerkz offers both power and simplicity and will help you to easily integrate AOP in both new and existing projects.
backport-util-concurrent2.2This package is the backport of java.util.concurrent API, introduced in Java 5.0, to Java 1.4. The backport is based on public-domain sources from the JSR 166 CVS repository, the dl.util.concurrent package, and the Doug Lea's collections package.
BeanShell2.0.b4BeanShell is a small, free, embeddable Java source interpreter with object scripting language features, written in Java. BeanShell dynamically executes standard Java syntax and extends it with common scripting conveniences such as loose types, commands, and method closures like those in Perl and JavaScript.
Castor1.0.1Castor is an Open Source data binding framework for Java[tm]. It's the shortest path between Java objects, XML documents and relational tables. Castor provides Java-to-XML binding, Java-to-SQL persistence, and more.
DOM4J1.6.1dom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java Collections Framework and with full support for DOM, SAX and JAXP.
JBoss Rules is the supported and branded release of the Drools project. Drools is an enhanced Rules Engine implementation, ReteOO, based on Charles Forgy's Rete algorithm tailored for the Java language. More importantly, Drools provides for Declarative Programming and is flexible enough to match the semantics of your problem domain with Domain Specific Languages.
DTDParser1.21A pure Java DTD Parser implementation
Easymock and extension2.2EasyMock provides Mock Objects for interfaces in JUnit tests by generating them on the fly using Java's proxy mechanism. Due to EasyMock's unique style of recording expectations, most refactorings will not affect the Mock Objects. So EasyMock is a perfect fit for Test-Driven Development.
Eclipse Platform, JDT and PDE3.2
The Platform defines the set of frameworks and common services that collectively make up "integration-ware" required to support the use of Eclipse as a component model, as a rich client platform (RCP) and as a comprehensive tool integration platform. The JDT provides the tool plug-ins for the platform that implement a Java IDE for power-users, that supports the development of any Java application, including Eclipse plug-ins. The PDE project provides a number of views and editors that make is easier to build plug-ins for Eclipse.
Eclipse SWT3.2
SWT is an open source widget toolkit for Java designed to provide efficient, portable access to the user-interface facilities of the operating systems on which it is implemented.
GNU Classpath0.91GNU Classpath, Essential Libraries for Java, is a GNU project to create free core class libraries for use with virtual machines and compilers for the java programming language. Classpath is still a work in progress. The first public release will be version 1.0.
Grails0.2Grails aims to bring the "coding by convention" paradigm to Groovy. It's an open-source web application framework that leverages the Groovy language and complements Java Web development. You can use Grails as a standalone development environment that hides all configuration details or integrate your Java business logic.
Groovy1.0.jsr06Groovy is an agile dynamic language for the Java Platform with many features that inspired languages like Python, Ruby and Smalltalk, making them available to Java developers using a Java-like syntax.

Hibernate API

This documentation concentrates upon the following Core API interfaces:
  • org.hibernate.Hibernate
  • org.hibernate.Session
  • org.hibernate.SessionFactory
  • org.hibernate.Transaction
  • org.hibernate.Query
  • org.hibernate.Criteria
  • org.hibernate.ScrollableResults
  • org.hibernate.cfg.Configuration
  • org.hibernate.expression.Expression
  • org.hibernate.expression.Order
  • org.hibernate.expression.Example
  • These interfaces are fully intended to be exposed to application code.

    The Extension API is intended to be used by application programmers to extend Hibernate functionality. None of these interfaces are intended to be called by the application - they are called internally by Hibernate. This API is less stable than the Core API. The safest way to extend functionality is to contribute extensions back to the project; that way extensions will be updated when the Extension API changes.

    Full Hibernate documentation may be found at
    J2EE1.4Spec implementation by JBoss. Java Platform, Enterprise Edition (Java EE) is the industry standard for developing portable, robust, scalable and secure server-side Java applications.
    JasperReports1.2.3JasperReports is a powerful open source Java reporting tool that has the ability to deliver rich content onto the screen, to the printer or into PDF, HTML, XLS, CSV and XML files.
    JBoss Application Server4.0.4
    A J2EE certified platform for developing and deploying enterprise Java applications, Web applications, and Portals, JBoss Application Server provides the full range of J2EE 1.4 features as well as extended enterprise services including clustering, caching, and persistence.
    JBoss Cache1.3.0.sp2Boss Cache is a product designed to cache frequently accessed Java objects in order to dramatically improve the performance of e-business applications. By eliminating unnecessary database access, JBoss Cache decreases network traffic and increases the scalability of applications.
    JBoss Portal2.2.1JBoss Portal provides an open source platform for hosting and serving a portal's Web interface, publishing and managing its content, and customizing its experience. While most packaged Portal frameworks help enterprises launch Portals more quickly, only JBoss Portal delivers the benefits of a zero-cost open source license combined with a flexible and scalable underlying platform.
    JBoss Seam1.0.1JBoss Seam is a powerful new application framework to build next generation Web 2.0 applications by unifying and integrating popular service oriented architecture (SOA) technologies like Asynchronous JavaScript and XML(AJAX), Java Serve Faces(JSF), Enterprise Java Beans(EJB3), Java Portlets and Business Process Management(BPM) and workflow.
    JDOM1.0JDOM provides a complete, Java-based solution for accessing, manipulating, and outputting XML data from Java code.
    Jetty5.1.11.rc0Jetty is a 100% Java HTTP Server and Servlet Container. This means that you do not need to configure and run a separate web server (like Apache) in order to use java, servlets and JSPs to generate dynamic content. Jetty is a fully featured web server for static and dynamic content
    JExcelAPI2.6Java Excel API is a mature, open source java API enabling developers to read, write, and modifiy Excel spreadsheets dynamically. Now java developers can read Excel spreadsheets, modify them with a convenient and simple API, and write the changes to any output stream (e.g. disk, HTTP, database, or any socket).
    JFreeChart1.0.1JFreeChart is a free 100% Java chart library that makes it easy for developers to display professional quality charts in their applications. JFreeChart's extensive feature set includes: a consistent and well-documented API, supporting a wide range of chart types, a flexible design that is easy to extend, and targets both server-side and client-side applications, support for many output types, including Swing components, image files (including PNG and JPEG), and vector graphics file formats (including PDF, EPS and SVG).
    JGroups2.3JGroups is a toolkit for reliable multicast communication.(Note that this doesn't necessarily mean IP Multicast, JGroups can also use transports such as TCP). It can be used to create groups of processes whose members can send messages to each other.
    jMock1.0.1jMock is a library for testing Java code using mock objects. Mock objects help you design and test the interactions between the objects in your programs.
    JMX1.1Spec implementation by JBoss. Java Management Extensions (JMX) technology provides the tools for building distributed, Web-based, modular and dynamic solutions for managing and monitoring devices, applications, and service-driven networks.
    Joda Time1.2.1Joda-Time provides a quality replacement for the Java date and 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, Coptic and Ethiopic systems are also included, and we welcome further additions. Supporting classes include time zone, duration, format and parsing.
    JUnit4.1JUnit is a regression testing framework written by Erich Gamma and Kent Beck. It is used by the developer who implements unit tests in Java. JUnit is Open Source Software, released under the Common Public License Version 1.0 and hosted on SourceForge.
    Liferay Portal4.0.0Liferay Portal is an open source portal that helps organizations collaborate more efficiently by providing a consolidated view of disparate applications. It is used by large and small organizations all over the world. Liferay has an extensive list of features that compares with most commercial portals but without the high license fees.
    Maven API1.1.beta-2Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
    NextApp Echo22.0.0Echo2 is the next-generation of the Echo Web Framework, a platform for developing web-based applications that approach the capabilities of rich clients. The 2.0 version holds true to the core concepts of Echo while providing dramatic performance, capability, and user-experience enhancements made possible by its new Ajax-based rendering engine.
    ObjectStyle Ashwood1.1Ashwood is an open source Java implementation of graphs, graph related algorithms, and other useful concepts and algorithms of CS, Applied Mathematics, and their applications.
    ObjectStyle Cayenne1.2.RC2Cayenne is a powerful, full-featured Java Object Relational Mapping framework. Cayenne cross-platform modeling GUI tools place it in the league of its own, making it a very attractive choice over both closed source commercial products and traditional "edit your own XML" open source solutions.
    ObjectWeb JORAM4.3.18JORAM incorporates a 100% pure Java implementation of JMS (Java Message Service API released by Sun Microsystem, Inc.). It provides access to a really distributed MOM (Message Oriented Middleware), built on top of the ScalAgent agents based platform.
    OGNL2.6.9OGNL stands for Object-Graph Navigation Language; it is an expression language for getting and setting properties of Java objects. You use the same expression for both getting and setting the value of a property.
    OpenSymphony OSCache2.3OSCache is a caching solution that includes a JSP tag library and set of classes to perform fine grained dynamic caching of JSP content, servlet responses or arbitrary objects. It provides both in memory and persistent on disk caches, and can allow your site to have graceful error tolerance.
    OpenSymphony OSWorkflow2.8OSWorkflow is fairly different from most other workflow systems available, both commercially and in the open source world. What makes OSWorkflow different is that it is extremely flexible. This can be hard to grasp at first, however. For example, OSWorkflow does not mandate a graphical tool for developing workflows, and the recommended approach is to write the xml workflow descriptors "by hand." It is up to the application developer to provide this sort of integration, as well as any integration with existing code and databases. These may seem like problems to someone who is looking for a quick "plug-and-play" workflow solution, but we've found that such a solution never provides enough flexibility to properly fulfill all requirements in a full-blown application.
    OpenSymphony Quartz scheduling1.5.2Quartz is a full-featured, open source job scheduling system that can be integrated with, or used along side virtually any J2EE or J2SE application - from the smallest stand-alone application to the largest e-commerce system. Quartz can be used to create simple or complex schedules for executing tens, hundreds, or even tens-of-thousands of jobs; jobs whose tasks are defined as standard Java components or EJBs. The Quartz Scheduler includes many enterprise-class features, such as JTA transactions and clustering.
    OpenSymphony WebWork2.2.2WebWork is a Java web-application development framework. It is built specifically with developer productivity and code simplicity in mind, providing robust support for building reusable UI templates, such as form controls, UI themes, internationalization, dynamic form parameter mapping to JavaBeans, robust client and server side validation, and much more.
    Portlet API1.0Spec implementation by JBoss. The Portlet API enable interoperability between Portlets and Portals by defining a set of APIs for Portal computing addressing the areas of aggregation, personalization, presentation and security.
    SAX2.0.1SAX is the Simple API for XML, originally a Java-only API. SAX was the first widely adopted API for XML in Java, and is a .de facto. standard. The current version is SAX 2.0.1, and there are versions for several programming language environments other than Java
    Servlet API2.4Servlet 2.4 spec implementation in Jetty
    This document is the API specification for the Spring Framework v2.5.

    For further API reference and developer documentation, see the Spring Framework reference documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

    If you are interested in commercial training, consultancy, and support for the Spring Framework, SpringSource (formerly known as Interface21) provides such commercial support.

    Spring Webflow1.0.rc2Spring Web Flow (SWF) is a component of the Spring Framework's web stack focused on the definition and execution of UI flow within a web application. The system allows you to capture a logical flow of your web application as a self-contained module that can be reused in different situations. Such a flow guides a single user through the implementation of a business process, and represents a single user conversation. Flows often execute across HTTP requests, have state, exhibit transactional characteristics, and may be dynamic and/or long-running in nature.
    Stripes1.3.2Stripes is a presentation framework for building web applications using the latest Java technologies. The main driver behind Stripes is that web application development in Java is just too much work!
    Tungsten1.0WSO2 Tungsten is an application server for Web services, fully open source and licensed under the Apache Software License. With its built in high-performance Web server, full support for XML, SOAP, WSDL, and support for reliable, secure communications, Tungsten makes it simple and effective to create, consume and manage Web services.
    W3C DOM1.0Java implementation of Document Object Model Core Level 3
    Wicket1.2Wicket is a Java web application framework that takes simplicity, separation of concerns and ease of development to a whole new level. Wicket pages can be mocked up, previewed and later revised using standard WYSIWYG HTML design tools. Dynamic content processing and form handling is all handled in Java code using a first-class component model backed by POJO data beans that can easily be persisted using your favourite technology.
    WSDL4j1.5.2The Web Services Description Language for Java Toolkit (WSDL4J) allows the creation, representation, and manipulation of WSDL documents. Is the reference implementation for JSR110 'JWSDL' (
    SwingX1.0The SwingX project exists to provide extensions to existing Swing components and Swing architecture (such as an ActionManager for helping manage Action instances). The SwingX project focuses exclusively on the raw components themselves.
    Fuse0.3Fuse is a lightweight resource injection library specifically designed for GUI programming.
    Freemarker2.3.8FreeMarker is a "template engine"; a generic tool to generate text output (anything from HTML to autogenerated source code) based on templates. It is a Java package, a class library for Java programmers. It is not an application for end-users in itself, but something that programmers can embed into their products.
    JGraph5.9.2JGraph is the most powerful, easy-to-use, feature-rich and standards-compliant open source graph component available for Java.
    Egg Framework0.9.M3Egg Framework is a web application framework that aims the fast and nice development of Java web applications. Egg Framework take advantage of all pros of Java language - object oriented programming, strong typing, possibility of refactoring in integrated development environments. It breaks the rule of using JSP sites as a view layer. Because the whole application is written in Java, it is easy to modify or extend and changes can be done automatically by refactoring tools.
    Java 3D1.5.0The Java 3D API is a hierarchy of Java(TM) classes which serve as the interface to a sophisticated three-dimensional graphics and sound rendering system. Java 3D provides high-level constructs to create and manipulate 3D geometry, and to build the structures used to render that geometry.
    Java EE 55.0.0Java Platform, Enterprise Edition (Java EE) is the industry standard for developing portable, robust, scalable and secure server-side Java applications. Building on the solid foundation of the Java Platform, Standard Edition (Java SE), Java EE provides web services, component model, management, and communications APIs that make it the industry standard for implementing enterprise-class service-oriented architecture (SOA) and next-generation web applications.
    JXTA2.4.1JXTA(TM) technology is a set of open protocols that allow any connected device on the network ranging from cell phones and wireless PDAs to PCs and servers to communicate and collaborate in a P2P manner.
    JDIC2006.11.02The JDesktop Integration Components (JDIC) project aims to make Java technology-based applications ("Java applications") first-class citizens of current desktop platforms without sacrificing platform independence. Its mission is to enable seamless desktop/Java integration.
    Looking Glass1.0.0Project Looking Glass by Sun Microsystems: Open Platform to Explore Innovative 3D User Interface
    Java SE, Sun OpenJDK7.b12Open-source release of the Java Standard Edition from Sun Microsystems. Although technically labeled version 7.x, the OpenJDK source code release is actually a snapshot of Sun's JDK 6.x source code with a small number of encumbered classes removed. When full JDK 6.x sources are released under GPL they will be included in JDocs.
    JIDE Common Layer2.0JIDE Common Layer is Swing component library built on top of Java/Swing. It is also the foundation of other component products from JIDE. This project has over 30 Swing components and over 100k lines of code. It greatly enhanced the default component set provided by Swing and allow developers to focus on business logic layer instead of making components.
    QN Plot1.6

    QN Plot

    Charts with Swing

    This chart implementation provides graphs of one or more functions as Swing components. The design was made to render large amounts of real-time data. Java 5 or newer is required. Please try the Web Start demonstration.


    • Free software (3-clause BSD)
    • Coordinates are of type BigDecimal for arbitrary-precision
    • High performance
    • All classes are completely thread-safe
    • The axis have schemes to automatically choose stepsizes for the index

    By example

    // Deploy graph:
    Graph graph = new InteractiveGraph();
    // Add function:
    Function f = new Function("Example");
    // Define ten random coordinates:
    int i = 10;
    while (--i >= 0) {
    	BigDecimal x = new BigDecimal(Math.random());
    	BigDecimal y = new BigDecimal(Math.random());
    	f.addPoint(x, y);
    // Apply changes:


    Change log

    Version 1.6

    Version 1.5

    • SVG export feature
    • Handle external dependencies through reflection
    • Minor code modifications and cleanup

    Version 1.4

    Version 1.3

    Version 1.2

    Version 1.1

    Thank you


    • Interpolation
    • Implement scatterplot and histogram
    • Create a Java Bean class
    • i18n
    Spring WS1.0.0
    Beamer Tool3.0.0
    Jikes RVM2.93.SVN