Posts

Showing posts from October, 2012

Concise Collection Initialization using Google Guava

One thing I really like with languages like python, ruby or perl is that they have succinct and elegant way to initialize the collections -  Map, Set and Array. Collection Literals project is supposed to bring concise initialization syntax to Java. But there is no hope for this until Java 8. There are some hackish ways to do inline initialization of collections particularly using Double Curly Brace Initialization but none of these is elegant and expressive. Google provides an excellent api of their core libraries called Guava . This library provides some nice utility classes to perform initialization of collections. For each collection type, Guava provides Utility Classes. e.g. for Lists, there are classes - Lists  (utility class for operating with lists) and ImmutableList  - (an Immutable version of List). Lets take a look at couple of examples - Loading .... References - http://mail.openjdk.java.net/pipermail/coin-dev/2009-March/001193.html http://www.c2.com/cgi/wiki?

Java - One liner to Configure Logging

Often while writing some quick test or doing a prototype, we want to use logging. But we do not want to spend any time writing a properties file and doing the whole setup. However there is a quick way to get log4j ready to use in a single line. Log4j provides a BasicConfigurator which can be used to quickly configure the logging. Usage Example - public class LoggingOneLiner1 { private static final Logger logger = Logger .getLogger(LoggingOneLiner1.class); public static void main(String[] args) { // Configure the logging - this does the whole setup BasicConfigurator.configure(); // Optional Step - change the logging level to INFO from default DEBUG Logger.getRootLogger().setLevel(Level.INFO); logger.info("Its nice to to be able to configure logging in one line"); logger.debug("I like quick and dirty java tricks"); } } From the api docs of log4j - The invocation of the   BasicConfigurator.configure   method creates a rather simpl