background preloader


Facebook Twitter

Commons IO - Home. Commons Chain - Overview. Commons Chain A 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.

Commons Chain - Overview

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). Downloading Chain Support.

Commons Chain - Cookbook. Introduction The essence of computing might be that for any expected input (A), we return the expected output (B). The challenge is getting from (A) to (B). For a simple program, (A) to (B) might be a single transformation. Say, shifting a character code 32 digits so that "a" becomes "A". In a complex application, A to B can be a long and winding road. We might need to confirm that the user is authorized to create (B) from (A). There are many different ways programmers organize processing logic within an application. Separate "business" logic from "presentation" logic Problem: You want to cleanly separate the execution and presentation layers without complicating the design of your application. Solution: Use the Chain of Responsibility and Command patterns so that the presentation layer can execute a command, or chain of commands, without needing to know how the command is implemented.

Discussion: To be useful, most applications need to run a process and then tell the client what happened. Struts. Key Technologies Primer. "The time has come," the Walrus said, "To talk of many things: Of shoes -- and ships -- and sealing-wax -- Of cabbages -- and kings -- And why the sea is boiling hot -- And whether pigs have wings.

Key Technologies Primer

" Intention If you would like to get started with Apache Struts you most likely want to know what technologies you need to learn. This document shall give you a brief overview what you need to successfully run a Struts project. If you still can't decide if Struts is for you or if you have any questions, feel free to contact us via the Struts user mailinglist. Key Technologies What you need to know The framework documentation is written for active web developers and assumes a working knowledge about how Java web applications are built. This primer briefly defines each of these technologies but does not describe them in detail. General starting points If you are not familiar with the Java language generally,then the best starting point is the Java Tutorial. HTTP, HTML and User Agents Threads Sessions. Apache log4j 1.2 - Short introduction to log4j.

Log4j has three main components: loggers, appenders and layouts.

Apache log4j 1.2 - Short introduction to log4j

These three types of components work together to enable developers to log messages according to message type and level, and to control at runtime how these messages are formatted and where they are reported. Logger hierarchy The first and foremost advantage of any logging API over plain System.out.println resides in its ability to disable certain log statements while allowing others to print unhindered. This capability assumes that the logging space, that is, the space of all possible logging statements, is categorized according to some developer-chosen criteria.

This observation had previously led us to choose category as the central concept of the package. Loggers are named entities. For example, the logger named "" is a parent of the logger named "". PatternLayout (Apache Log4j 1.2.16 API) Java.lang.Object org.apache.log4j.Layout org.apache.log4j.PatternLayout All Implemented Interfaces: OptionHandler public class PatternLayoutextends Layout A flexible layout configurable with pattern string.

PatternLayout (Apache Log4j 1.2.16 API)