2007-03-29

InfoQ: Introduction to JBoss Seam

InfoQ: Introduction to JBoss Seam: "JBoss Seam is a 'lightweight framework for Java EE 5.0'. What does that mean? Isn't Java EE (Enterprise Edition) 5.0 itself a collection of 'frameworks'? Why do you need another one that is outside of the official specification? Well, we view Seam as the 'missing framework' that should have been included in Java EE 5.0. It sits on top of Java EE 5.0 frameworks to provide a consistent and easy-to-understand programming model for all components in an enterprise web application. It also makes stateful applications and business process-driven applications a breeze to develop. In another words, Seam is all about developer productivity and application scalability." Read more ...

Pure servlets: Rethink the view

Pure servlets: Rethink the view: "For Web pages with dynamic content, Java™Server Pages (JSP) technology is touted as a means of separating the developer's concerns from those of the UI designer. Unfortunately, JSP is too complex for many designers, so Java developers tend to handle the JSP code themselves, often with unsatisfactory results. This article demonstrates the advantages of an unorthodox alternative: using simple helper objects to build a Web interface based on servlets alone." Read more ...

2007-03-27

LocalApplicationSamePlaceSuite - xmpp4moz - XMPP for Mozilla - Trac

LocalApplicationSamePlaceSuite - xmpp4moz - XMPP for Mozilla - Trac: "SamePlace is a set of extensions for Firefox, Flock and Thunderbird to keep in touch, chat, play and interact with your contacts without leaving your browser or mail client." Read more ...

Anonymouser :: Firefox Add-ons

Anonymouser :: Firefox Add-ons: "Open link anonymously with...

Open link anonymously with anonymouse.org" Read more ...

ReloadEvery :: Firefox Add-ons

ReloadEvery :: Firefox Add-ons: "Reloads web pages every so many seconds or minutes. The function is accessible via the context menu (menu you get when you right click on a web page) or via a drop down menu on the reload button ...

Reloads web pages every so many seconds or minutes. The function is accessible via the context menu (menu you get when you right click on a web page) or via a drop down menu on the reload button

Keywords: auto refresh, auto reload" Read more ...

Tempomail :: Firefox Add-ons

Tempomail :: Firefox Add-ons: "Create temporary email adresses to prevent your mailbox from...

Create temporary email adresses to prevent your mailbox from spam
Works with:" Read more ...

IE Tab :: Firefox Add-ons

IE Tab :: Firefox Add-ons: "IE Tab - an extension from Taiwan, features: Embedding Internet Explorer in tabs of Mozilla/Firefox...

This is a great tool for web developers, since you can easily see how your webpage displayed in IE with just one click and then switch back to Firefox.

If you need some instructions.
Please visit our official website on http://ietab.mozdev.org" Read more ...

BrowseAtWork :: Firefox Add-ons

BrowseAtWork :: Firefox Add-ons: "Allows you to open the current page, or a link on the current page, anonymously with BrowseAtWork.com by adding a shortcut to the context menu...

Allows you to open the current page, or a link on the current page, anonymously with BrowseAtWork.com by adding a shortcut to the context menu.
Ideal for viewing webpages blocked by many corporate or school filters. Licensed under the GNU GPL.

*~* Please see the developer comments for information regarding support queries. Thanks. *~*" Read more ...

Dictionary Tooltip :: Firefox Add-ons

Dictionary Tooltip :: Firefox Add-ons: "Press ctrl+shift+D (or) double-click (or) right-click after selecting a word to see its meaning. This extension is ideal for those who doesn't like to switch their window to see the meaning of a word. ...

Press ctrl+shift+D (or) double-click (or) right-click after selecting a word to see its meaning. This extension is ideal for those who doesn't like to switch their window to see the meaning of a word.

If you have problems like "Error opening input stream (invalid filename?", install v1.1.3 from the website. Especially Mac users, please install it from my website. Report any other bugs via email.

New version released on the website at http://www.rjonna.com/ext/dictionarytip.php" Read more ...

2007-03-23

dhtmlxGrid - sortable Javascript DHTML grid with rich script API

dhtmlxGrid - sortable Javascript DHTML grid with rich script API: "dhtmlxGrid is a Ajax-enabled JavaScript grid control that provides professional solution for representing and editing tabular data on the web. Carefully designed, with powerful script API, this editable DHTML grid is easy configurable with XML or js methods and shows convincing results working with large amounts of data.

dhtmlxGrid allows easy implementation of nice looking (managed through css or predefined skins) DHTML tables with rich in-cell editing, fixed multiline headers/footers, resizable, sortable and draggable columns. Numerous event handlers let you add necessary interactivity to grid-based interfaces. Smart Rendering technology and built-in paginal output allow this data grid to work effectively with huge datasets." Read more ...

2007-03-11

Passing Information to a Method or a Constructor (The Java™ Tutorials > Learning the Java Language > Classes and Objects)

Passing Information to a Method or a Constructor (The Java™ Tutorials > Learning the Java Language > Classes and Objects): "Arbitrary Number of Arguments
You can use a construct called varargs to pass an arbitrary number of values to a method. You use varargs when you don't know how many of a particular type of argument will be passed to the method. It's a shortcut to creating an array manually (the previous method could have used varargs rather than an array)."

Arbitrary Number of Arguments

You can use a construct called varargs to pass an arbitrary number of values to a method. You use varargs when you don't know how many of a particular type of argument will be passed to the method. It's a shortcut to creating an array manually (the previous method could have used varargs rather than an array).

To use varargs, you follow the type of the last parameter by an ellipsis (three dots, ...), then a space, and the parameter name. The method can then be called with any number of that parameter, including none.

public Polygon polygonFrom(Point... corners) {
int numberOfSides = corners.length;
double squareOfSide1, lengthOfSide1;
squareOfSide1 = (corners[1].x - corners[0].x)*(corners[1].x - corners[0].x)
+ (corners[1].y - corners[0].y)*(corners[1].y - corners[0].y) ;
lengthOfSide1 = Math.sqrt(squareOfSide1);
// more method body code follows that creates
// and returns a polygon connecting the Points
}
You can see that, inside the method, corners is treated like an array. The method can be called either with an array or with a sequence of arguments. The code in the method body will treat the parameter as an array in either case.

You will most commonly see varargs with the printing methods; for example, this printf method:

public PrintStream printf(String format, Object... args)
allows you to print an arbitrary number of objects. It can be called like this:
System.out.printf("%s: %d, %s%n", name, idnum, address);
or like this
System.out.printf("%s: %d, %s, %s, %s%n", name, idnum, address, phone, email);
or with yet a different number of arguments. Read more ...

Equality, Relational, and Conditional Operators (The Java™ Tutorials > Learning the Java Language > Language Basics)

Equality, Relational, and Conditional Operators (The Java™ Tutorials > Learning the Java Language > Language Basics):

The Type Comparison Operator instanceof

The instanceof operator compares an object to a specified type. You can use it to test if an object is an instance of a class, an instance of a subclass, or an instance of a class that implements a particular interface.

The following program, InstanceofDemo, defines a parent class (named Parent), a simple interface (named MyInterface), and a child class (named Child) that inherits from the parent and implements the interface.

class InstanceofDemo {
public static void main(String[] args) {

Parent obj1 = new Parent();
Parent obj2 = new Child();

System.out.println('obj1 instanceof Parent: ' + (obj1 instanceof Parent));
System.out.println('obj1 instanceof Child: ' + (obj1 instanceof Child));
System.out.println('obj1 instanceof MyInterface: ' + (obj1 instanceof MyInterface));
System.out.println('obj2 instanceof Parent: ' + (obj2 instanceof Parent));
System.out.println('obj2 instanceof Child: ' + (obj2 instanceof Child));
System.out.println('obj2 instanceof MyInterface: ' + (obj2 instanceof MyInterface));
 }
}

class Parent{}
class Child extends Parent implements MyInterface{}
interface MyInterface{}
Output:
obj1 instanceof Parent: true
obj1 instanceof Child: false
obj1 instanceof MyInterface: false
obj2 instanceof Parent: true
obj2 instanceof Child: true
obj2 instanceof MyInterface: true
When using the instanceof operator, keep in mind that null is not an instance of anything. Read more ...