Java

TwitterFacebook
Get flash to fully experience Pearltrees
In an equaly distributed table, a single cell is an intersection of a single row and a single column. However, for design purposes, it is often convenient to use group table column headers (above a sequence of cells), and sometimes several vertical cells are containing the same data, so they can be merged into one single large cell. Word processing and spreadsheet software usually uses terms like “merged cells” for joined cells, and in HTML terminology, merged cells are often denoted by column-spanning and row-spanning. We will use HTML terminology here, since it is more precise and takes into account a difference betweek horizontal (column) and vertical (row) merging. Column spanning is a HTML cell property that defines how much “logical” columns a table cell contains. http://web.archive.org/web/20080726035429/http://www.swingwiki.org/howto:column_spanning

howto:column_spanning [SwingWiki]

Reflecting generics

http://www.artima.com/weblogs/viewpost.jsp?thread=208860 Type arguments to generic classes are not available for reflection at runtime - or are they? The type arguments for statically declared types can be discovered at runtime. A look at how to do this, and why you might want to. Advertisement Probably the most common complaint about generics in Java is that they are not reified - there is not a way to know at runtime that a List is any different from a List . I've gotten so used to this that I was quite surprised to run across Neil Gafter's work on Super Type Tokens .
All text and content found at URLs starting with http://www.AngelikaLanger.com/GenericsFAQ/ (collectively, "the Java Generics FAQ") are the sole property of Angelika Langer. Copyright @ 2004-2012 by Angelika Langer . All rights reserved. Except as specifically granted below, you may not modify, copy, publish, sell, display, transmit (in any form, or by any means, electronic, mechanical, photocopying, recording, or otherwise), adapt, distribute, store in a retrieval system, create derivative works, or in any other way use or exploit the contents of the Java Generics FAQ, without the prior consent of the author. All rights, titles and interest, including copyrights and other applicable intellectual property rights, in any of the material belongs to the provider of the material. You do not acquire proprietary interest in such materials by accessing them on my web site. http://www.angelikalanger.com/GenericsFAQ/JavaGenericsFAQ.html

Java Generics FAQs - Frequently Asked Questions - Angelika Langer Training/Consulting

http://technicalmumbojumbo.wordpress.com/2008/01/13/java-custom-annotations/

Java Custom Annotations | My experiments with technology

The only difference between an interface definition and that of an annotation is the presence of @ before the interface keyword. Now the annotation can have its own members. package com.vinraj.custom; public @interface Documentation { public String author(); public String version(); public String shortDescription(); public String[] reviews(); } package com.vinraj.custom; public class NewClass { @Documentation( author="James Smith", version="1.0", shortDescription="Testing", reviews={"good", "nice"}) public void test() { } } The annotation member elements can be set to have default values. Here’s an example:
This year one of my goals is to try and become proficient in using ANTLR. I think that learning to translate text or build an external DSL is skill that, although not used everyday, will be very useful to know. For my first attempt I settled on something fairly easy, a SQL like grammar that could be used to search for files and the content within those files. http://www.nearinfinity.com/blogs/bill_bejeck/learning_antlr_part_i.html

Learning ANTLR part I - Blogs at Near Infinity

Design Patterns

http://www.exciton.cs.rice.edu/JavaResources/DesignPatterns/default.htm Design patterns form a cohesive language that can be used to describe classic solutions to common object oriented design problems. These patterns enable us to discuss systems of objects as quasi-encapsulated entities. By using design patterns to solve programming problems, the proper perspective on the design process can be maintained. These pattern discussions, except for the Null and Model-View-Controller patterns are adapted from the classic text, Design Patterns by Gamma, Helm, Johnson and Vlissides (Addison Wesley Longman, 1995.

Debugging Swing, the final summary | Java.net

http://weblogs.java.net/blog/alexfromsun/archive/2006/02/debugging_swing.html public class CheckThreadViolationRepaintManager extends RepaintManager { private final RepaintManager delegatee; public CheckThreadViolationRepaintManager() { this(new RepaintManager()); } public CheckThreadViolationRepaintManager(RepaintManager delegatee) { if (delegatee == null || delegatee instanceof CheckThreadViolationRepaintManager) { throw new IllegalArgumentException(); } this.delegatee = delegatee; } public synchronized void addInvalidComponent(JComponent component) { checkThreadViolations(component); // use delegatee instead of super for *all* methods delegatee.addInvalidComponent(component); } //other methods skipped } My first intention was to find a solution which can easily detect EDT violations and which doesn't need any third party tools or libraries (like CheckThreadViolationRepaintManager works) and that explains my next try:

Awesome tip for debugging Swing by keester81 Sep 29

10 things you need to know about Java 6

All developers get first class support for writing XML web service client applications. No messing with the plumbing, you can expose your APIs as .NET interoperable web services with a simple annotation . Not your style ? Want to handle the XML directly ? Knock yourself out: Mustang adds new parsing and XML to Java object mapping APIs, previously only available in Java EE implementations or the Java Web Services Pack . http://blogs.oracle.com/dannycoward/entry/the_10_things_you_need
Note: I have absolutely no inside information on any of this and you should treat it all as unofficial. I’m merely scraping info off the web and collecting it here. If you have updates or corrections, please feel free to send it to me at contact:at:puredanger.com ! The official JDK 7 Development Home page has mailing lists, downloads, source, and more. My most recent summary article on Java 7 can be found on JavaWorld . http://tech.puredanger.com/java7/

Java 7 features

Javadoc Home Page This document describes the style guide, tag and image conventions we use in documentation comments for Java programs written at Java Software, Oracle. It does not rehash related material covered elsewhere: At Java Software, we have several guidelines that might make our documentation comments different than those of third party developers. Our documentation comments define the official Java Platform API Specification .

Writing Javadoc comments

http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html
Learning a new programming language is easier than learning a new spoken language. But, in both endeavors, it takes extra effort to learn to speak the new language without an accent. It isn't that hard to learn the Java language when you already know C or C++; it's similar to learning Danish when you already speak Swedish.

Speaking the Java language without an accent

SELECT [ TOP term ] [ DISTINCT | ALL ] selectExpression [,...] FROM tableExpression [,...] [ WHERE expression ] [ GROUP BY expression [,...] ] [ HAVING expression ] [ { UNION [ ALL ] | MINUS | EXCEPT | INTERSECT } select ] [ ORDER BY order [,...] ] [ LIMIT expression [ OFFSET expression ] [ SAMPLE_SIZE rowCountInt ] ] [ FOR UPDATE ] Selects data from a table or multiple tables. GROUP BY groups the the result by the given expression(s). HAVING filter rows after grouping. ORDER BY sorts the result by the given column(s) or expression(s).

H2 SQL Grammar

API docs

Libraries