Links ***** Annotations =========== - Annotations_ - `Java Custom Annotations - Runtime and Compile / build time processing`_ - `Reading annotations at runtime`_ Book ==== - `Common Java Cookbook`_ Cache ===== - `Ehcache is a widely used java distributed cache for general purpose caching`_. Class Loading/Lifecycle ======================= - JavaRebel_ reloads changes to Java classes on-the-fly without redeploy or restart including new methods and fields. - `OSGi Service Platform`_ Console ======= - `JLine is a Java library for handling console input`_. Crawler ======= - `JoBo is a simple program to download complete websites to your local computer`_. - `Smart and Simple Web Crawler`_ - Heritrix_ is the Internet Archive's open-source, extensible, web-scale, archival-quality web crawler project. - `HTTrack is a free and easy-to-use offline browser utility`_. Cryptography ============ - http://www.bouncycastle.org/ The Legion of the Bouncy Castle - Jasypt_ Java Simplified Encryption. - http://code.google.com/p/keyczar/ Toolkit for safe and simple cryptography (http://keyczar.org).. Sample - Java and .NET interoperability --------------------------------------- - `Crypto interop between .NET & Java`_ (copy of blog entry by - `Charles Prakash Dasari`_ - `sample-bouncy-castle-aes`_ - `sample-crypto-interop-java`_ Note: Both projects produce the same results using the Rijndael/AESalgorithm. CSV === - http://supercsv.sourceforge.net/ - http://fixedformat4j.ancientprogramming.com/ Fixedformat4j is an easy to use Java framework for working with flat fixed formatted text files. Database ======== - :doc:`jdbc` - Refactoring, :doc:`../database/links` - SQL Server, :doc:`../microsoft/sql-server` - http://code.google.com/p/jlynx-persistence-framework/ jlynx-persistence-framework, Thin, lite, fast persistence. - `The iBATIS Data Mapper provides a very simple and flexible means of moving data between your Java and .NET objects and a relational database`_. - `DbVisualizer from Minq Software`_ - `jDBI is designed to provide convenient tabular data access`_. - http://schemaspy.sourceforge.net/ SchemaSpy, Graphical Database Schema Metadata Browser Also see SchemaSpyGUI_. - LiquiBase, :doc:`../liquibase/getting-started` - `Database version and migration framework for Java`_ inspired by Rails ActiveMigration - http://jailer.sourceforge.net/ Jailer is a tool for database subsetting and sampling, schema browsing, and rendering. Date and Time ============= - http://joda-time.sourceforge.net/ Joda-Time provides a quality replacement for the Java date and time classes. email ===== - http://james.apache.org/mime4j/ mime4j can also be used to build a tree representation of an e-mail message using the ``Message`` class. Encryption ========== - http://www.jasypt.org/ Java Simplified Encryption File ==== - http://sourceforge.net/projects/mime-util/ Detect file mime types based on file extension and magic numbers... Game ==== - http://www.jmonkeyengine.com/ jME (jMonkey Engine) is a high performance scene graph based graphics API. IBM Tools ========= - http://www.alphaworks.ibm.com/java - HeapAnalyzer_ A graphical tool for discovering possible Java heap leaks. - HeapRoots_ A tool for debugging memory leaks in Java applications through analysis of *heap dumps*. Integration =========== Facebook -------- - `Getting Started with the Facebook Platform API`_ Google ------ - Google Links, :doc:`../google/links` JBI --- - `Sun Java EE Engine: Bridging Java EE Web Services and JBI Components`_ - https://fuji.dev.java.net/ Project Fuji forms the core component of Open ESB. Installer ========= - https://openinstaller.dev.java.net/ - `New Java Installer Framework: The Screenshots`_ - See Maven Links, :doc:`../maven/links`, *Plugins*, *Installer* for NSIS Plugin. - http://raproducts.org/wordpress/software JavaRa is a simple tool that does a simple job: it removes old and redundant versions of the Java Runtime Environment (JRE). Imaging ======= - `Java Advanced Imaging`_ For more information: Maven repository notes, :doc:`../../info/computers/slinky/maven-repository`. JSON ==== - JSON_ (JavaScript Object Notation) is a lightweight data-interchange format. - http://json-lib.sourceforge.net/ JSON-lib is a java library for transforming beans, maps, collections, java arrays and XML to JSON and back again to beans. - `Processing, JSON & The New York Times`_ JSP === - `JSP - Create Custom Tags`_ LDAP ==== - `LDAP Basics With Java`_ Learning ======== - `Go Ahead: Next Generation Java Programming Style`_ Messaging ========= - `Open Message Queue is the community version of Sun Java System Message Queue`_ - `SMS gateway ver. 1.1`_ - `Java MSN Messenger Library`_ (JML) - `Enabling powerful dynamic multi-machine cooperation; both within and between Java applications`_. Metadata ======== - Grunk_ (for GRammar UNderstanding Kernel) is a library for parsing and extracting structured metadata from semi-structured text formats. Office ------ - `Aspose, The .NET and Java component publisher!`_ - JODConverter_, the Java OpenDocument Converter, converts documents between different office formats using OpenOffice.org. Excel ----- - `OpenXLS Java Spreadsheet SDK`_ - `OpenOffice.org API - Spreadsheet Documents`_: - `Generating Spreadsheets from Java`_ using Open Office - `ActiveXLS - spreadsheet component for .NET and Java`_ - `ExtenXLS Java Spreadsheet SDK`_ - http://jxll.sourceforge.net/ JXLL Excel Addin Interaction Library Monitoring ========== - VisualVM_ is a visual tool that integrates several existing JDK software tools and lightweight memory and CPU profiling capabilities. - `Java run-time monitoring`_, Part 1: Run-time performance and availability monitoring for Java systems. PDF === - footprint_ a set of tools for generating signed PDF documents. Process ======= - Process, :doc:`process` - `The generated script approach to running shell commands from Java`_ Quality ======= - `JDepend traverses Java class file directories and generates design quality metrics for each Java package`_. - `Classpath Helper`_ - http://pmd.sourceforge.net/ - http://clonedigger.sourceforge.net/ RSS === - http://incubator.apache.org/abdera/ - `Translate Atom to RDF using Java technology`_ Sample Code =========== - http://java.sun.com/reference/stealourcode/ - http://www.codearmory.com/ Security ======== - `Discovering Java Security Requirements.`_ - http://juliusdavies.ca/commons-ssl/ Not-Yet-Commons-SSL. - http://jsecurity.org/ JSecurity is a powerful and flexible open-source Java security framework that cleanly handles authentication, authorization, enterprise session management and cryptography. - http://waffle.codeplex.com/ Windows Authentication Functional Framework (LE). jBCrypt ------- - `jBCrypt is an implementation of OpenBSD's Blowfish password hashing code`_. - `Quick: Read this if you ever store password data`_ Single Sign On -------------- - http://www.ja-sig.org/products/cas/ Central Authentication Service, Single Sign-On for the web. Also see Spring Security, :doc:`../spring/security` Serialization ============= - `Alternative to properties file: YAML beans`_ Also see *XStream* (below). Service ======= - `commons daemon`_ can be used to run executables or java applications as windows service or UNIX daemon. - Java Service Wrapper, :doc:`../howto/java-service-wrapper/links` Spell Check =========== - `The Java Open Source Spell Checker`_ For Maven instructions: Maven repository notes, :doc:`../../info/computers/slinky/maven-repository` - http://jortho.sourceforge.net/ JOrtho (Java Orthography) is an Open Source spell-checker entirely written in Java. - jSpellCorrect_ - It's a simple statistical spelling corrector. Spider ====== - See *Crawler* heading (above). Standards ========= - `Draft Java Coding Standard`_ - `Code Conventions for the Java Programming Language`_ Swing ===== Components ---------- - `MiG Calendar`_ (Commercial) Visualisation ------------- - `JUNG - the Java Universal Network/Graph Framework`_ - http://www.ubietylab.net/ubigraph/ UbiGraph is a tool for visualizing dynamic graphs. Testing ======= - http://code.google.com/p/mockito/ simpler & better mocking... - https://mock-javamail.dev.java.net/ Mock test infrastructure for Javamail code. - http://www.jmock.org/ (04/06/2008 Recommended by Eddie - "Good for business objects...") - http://www.easymock.org/ - `Easier testing with EasyMock`_ - http://grinder.sourceforge.net/ Load Testing Framework (25/06/2008 Recommended by Eddie) - https://tcpmon.dev.java.net/ tcpmon: An open-source utility to Monitor A TCP Connection - http://mockftpserver.sourceforge.net/ MockFtpServer project provides a mock/dummy FTP server implementation. Text Processing =============== - http://www.stringtemplate.org/ StringTemplate is a java template engine (with ports for C# and Python) for generating source code, web pages, emails, or any other formatted text output. - http://velocity.apache.org/ Threading ========= - `Introduction to Java 5 java.util.concurrent API`_ - `Query by Slice, Parallel Execute, and Join: A Thread Pool Pattern in Java`_ Tutorials ========= - `Java EE 5 Basics: Web Services, EJB 3.0, Java Persistence API, JSF`_. - `Sun Developer Network - Java EE Tutorials`_ Web === JSTL ---- - `JSTL Quick Reference`_ Servlet ------- - http://winstone.sourceforge.net/ Winstone Servlet Container Tag Library ----------- - JSTL, :doc:`jstl` - http://displaytag.sourceforge.net/ The display tag library can just... display tables... Webdav ====== - milton_, an open-source server-side webdav api for java. Web Start and EXE Wrapper ========================= - `Auto-Install: Easier Launching of Java Web Start Applications`_ - `JSmooth .exe Wrapper`_ Workflow ======== - `Top 10 Java Workflow Engine`_ XML === - `Easy XML with Java - XML Binding`_ - `XJC Eclipse plugin`_ - http://xstream.codehaus.org/ - XStream is a simple library to serialize objects to XML and back again. - `sample-xstream-serialise`_ .. _Annotations: http://java.sun.com/docs/books/tutorial/java/javaOO/annotations.html .. _`Java Custom Annotations - Runtime and Compile / build time processing`: http://yourmitra.wordpress.com/2008/02/15/java-custom-annotations-runtime-and-compile-build-time-processing/ .. _`Reading annotations at runtime`: http://www.javapassion.com/handsonlabs/javase5annotation/index.html#Exercise_6 .. _`Common Java Cookbook`: http://www.discursive.com/books/cjcook/reference/book.html .. _`Ehcache is a widely used java distributed cache for general purpose caching`: http://ehcache.sourceforge.net/ .. _JavaRebel: http://www.zeroturnaround.com/javarebel/ .. _`OSGi Service Platform`: http://www.osgi.org/ .. _`JLine is a Java library for handling console input`: http://jline.sourceforge.net/ .. _`JoBo is a simple program to download complete websites to your local computer`: http://www.matuschek.net/jobo/ .. _`Smart and Simple Web Crawler`: https://crawler.dev.java.net/ .. _Heritrix: http://crawler.archive.org/ .. _`HTTrack is a free and easy-to-use offline browser utility`: http://www.httrack.com/ .. _Jasypt: http://www.jasypt.org/ .. _`Crypto interop between .NET & Java`: ../../misc/howto/java/crypto-interop-between-dot-net-and-java.pdf .. _`Charles Prakash Dasari`: http://netfx3zone.com/blogs/theguy/archive/2007/07/08/crypto-interop-between-net-amp-java.aspx .. _`sample-bouncy-castle-aes`: http://toybox/hg/sample/file/tip/java/sample-bouncy-castle-aes .. _`sample-crypto-interop-java`: http://toybox/hg/sample/file/tip/csharp/sample-crypto-interop-java/ .. _`The iBATIS Data Mapper provides a very simple and flexible means of moving data between your Java and .NET objects and a relational database`: http://ibatis.apache.org/ .. _`DbVisualizer from Minq Software`: http://www.minq.se/products/dbvis/ .. _`jDBI is designed to provide convenient tabular data access`: http://jdbi.codehaus.org/ .. _SchemaSpyGUI: http://www.joachim-uhl.de/projekte/schemaspygui/ .. _`Database version and migration framework for Java`: http://code.google.com/p/c5-db-migration/ .. _HeapAnalyzer: http://www.alphaworks.ibm.com/tech/heapanalyzer .. _HeapRoots: http://www.alphaworks.ibm.com/tech/heaproots .. _`Getting Started with the Facebook Platform API`: http://www.thescreencast.com/2007/06/getting-started-with-facebook-platform.html .. _`Sun Java EE Engine: Bridging Java EE Web Services and JBI Components`: http://java.sun.com/developer/technicalArticles/J2EE/sunjavaee_engine/ .. _`New Java Installer Framework: The Screenshots`: http://www.javalobby.org/java/forums/t103044.html .. _`Java Advanced Imaging`: https://jai.dev.java.net/ .. _JSON: http://json.org/ .. _`Processing, JSON & The New York Times`: http://blog.blprnt.com/blog/blprnt/processing-json-the-new-york-times .. _`JSP - Create Custom Tags`: http://www.hiteshagrawal.com/java/jsp-create-custom-tags .. _`LDAP Basics With Java`: http://blogs.sun.com/marginNotes/entry/ldap_basics_with_java .. _`Go Ahead: Next Generation Java Programming Style`: http://codemonkeyism.com/generation-java-programming-style/ .. _`Open Message Queue is the community version of Sun Java System Message Queue`: https://mq.dev.java.net/ .. _`SMS gateway ver. 1.1`: http://www.servletsuite.com/servlets/smsgate.htm .. _`Java MSN Messenger Library`: http://java-jml.sourceforge.net/ .. _`Enabling powerful dynamic multi-machine cooperation; both within and between Java applications`: https://cajo.dev.java.net/ .. _Grunk: http://dlt.ncsa.uiuc.edu/archive/emerge/components_grunk.html .. _`Aspose, The .NET and Java component publisher!`: http://www.aspose.com/ .. _JODConverter: http://www.artofsolving.com/opensource/jodconverter .. _`OpenXLS Java Spreadsheet SDK`: http://sourceforge.net/projects/openxls .. _`OpenOffice.org API - Spreadsheet Documents`: http://api.openoffice.org/docs/DevelopersGuide/Spreadsheet/Spreadsheet.xhtml .. _`Generating Spreadsheets from Java`: http://www.javalobby.org/java/forums/t103405.html .. _`ActiveXLS - spreadsheet component for .NET and Java`: http://www.activexls.com/ .. _`ExtenXLS Java Spreadsheet SDK`: http://www.extentech.com/ .. _VisualVM: https://visualvm.dev.java.net/ .. _`Java run-time monitoring`: http://www.ibm.com/developerworks/library/j-rtm1/index.html .. _footprint: http://www.ohloh.net/p/footprint .. _`The generated script approach to running shell commands from Java`: http://www.codefutures.com/weblog/andygrove/2008/06/generated-script-approach-to-running.html .. _`JDepend traverses Java class file directories and generates design quality metrics for each Java package`: http://clarkware.com/software/JDepend.html .. _`Classpath Helper`: http://classpathhelper.sourceforge.net/ .. _`Translate Atom to RDF using Java technology`: http://www.ibm.com/developerworks/xml/library/x-atomtordf .. _`Discovering Java Security Requirements.`: http://www.onjava.com/pub/a/onjava/2007/01/03/discovering-java-security-requirements.html .. _`jBCrypt is an implementation of OpenBSD's Blowfish password hashing code`: http://www.mindrot.org/projects/jBCrypt/ .. _`Quick: Read this if you ever store password data`: http://paulbuchheit.blogspot.com/2007/09/quick-read-this-if-you-ever-store.html .. _`Alternative to properties file: YAML beans`: http://unserializableone.blogspot.com/2007/06/alternative-to-properties-file-yaml.html .. _`commons daemon`: http://commons.apache.org/daemon/ .. _`The Java Open Source Spell Checker`: http://jazzy.sourceforge.net/ .. _jSpellCorrect: http://developer.gauner.org/jspellcorrect/ .. _`Draft Java Coding Standard`: http://gee.cs.oswego.edu/dl/html/javaCodingStd.html .. _`Code Conventions for the Java Programming Language`: http://www.oracle.com/technetwork/java/codeconvtoc-136057.html .. _`MiG Calendar`: http://www.migcalendar.com/ .. _`JUNG - the Java Universal Network/Graph Framework`: http://jung.sourceforge.net/ .. _`Easier testing with EasyMock`: http://www.ibm.com/developerworks/java/library/j-easymock.html .. _`Introduction to Java 5 java.util.concurrent API`: http://developerlife.com/tutorials/?p=24 .. _`Query by Slice, Parallel Execute, and Join: A Thread Pool Pattern in Java`: http://today.java.net/pub/a/today/2008/01/31/query-by-slice-parallel-execute-join-thread-pool-pattern.html .. _`Java EE 5 Basics: Web Services, EJB 3.0, Java Persistence API, JSF`: http://www.javapassion.com/handsonlabs/javaee5basics/ .. _`Sun Developer Network - Java EE Tutorials`: http://java.sun.com/javaee/reference/tutorials/ .. _`JSTL Quick Reference`: http://www.jadecove.com/downloads/jstl-quick-reference.pdf .. _milton: http://milton.ettrema.com/ .. _`Auto-Install: Easier Launching of Java Web Start Applications`: http://java.sun.com/developer/technicalArticles/JavaLP/javawebstart/AutoInstall.html .. _`JSmooth .exe Wrapper`: http://jsmooth.sourceforge.net .. _`Top 10 Java Workflow Engine`: http://blog.taragana.com/index.php/archive/top-10-java-workflow-engine/ .. _`Easy XML with Java - XML Binding`: http://fromvega.com/wordpress/2007/05/17/easy-xml-with-java-xml-binding/ .. _`XJC Eclipse plugin`: https://jaxb-workshop.dev.java.net/plugins/eclipse/xjc-plugin.html .. _`sample-xstream-serialise`: http://toybox/hg/sample/file/tip/java/sample-xstream-serialise/