Skip to content

Instantly share code, notes, and snippets.

View karanmalhi's full-sized avatar

Karan Singh Malhi karanmalhi

  • MuleSoft
  • San Francisco
View GitHub Profile
@karanmalhi
karanmalhi / App.java
Created May 23, 2011 19:38
File which will have a compile error because of missing log4j.jar in your classpath.
import org.apache.log4j.Logger;
/**
* Hello world!
*
*/
public class App {
private static Logger log = Logger.getLogger(App.class);
@Override
@karanmalhi
karanmalhi / ClassPreamble.java
Created May 25, 2011 18:09
Simple example on annotations
package com.learnquest;
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
@Target(ElementType.TYPE)
public @interface ClassPreamble {
String[] authors();
double version() default 1.0;
}
@karanmalhi
karanmalhi / Test.java
Created May 25, 2011 19:53
Example showing property editors
package com.learnquest.propertyeditor;
import java.beans.PropertyEditor;
import java.beans.PropertyEditorSupport;
public class Test {
public static void main(String[] args) {
Person p = new Person("Sarah:Garwood");
System.out.println(p.toString());
@karanmalhi
karanmalhi / Criteria.java
Created May 26, 2011 17:01
Example of multiple criterias in custom qualifier and interface with multiple imps
package com.lq.interfaceimpl;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import org.springframework.beans.factory.annotation.Qualifier;
@Retention(RetentionPolicy.RUNTIME)
@Qualifier
public @interface Criteria {
@karanmalhi
karanmalhi / ProxyTest.java
Created May 27, 2011 15:50
Simple example on how to create proxies
package com.learnquest;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Logger;
public class ProxyTest {
@karanmalhi
karanmalhi / JarProcessor
Created June 8, 2011 02:22
Comparison between Semaphore and executor
import java.io.File;
import java.io.IOException;
import java.util.Enumeration;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;
import java.util.zip.ZipEntry;
import java.util.zip.ZipException;
@karanmalhi
karanmalhi / TestGenerics.java
Created June 13, 2011 14:55
Testing Generics
package learnquest;
import java.util.ArrayList;
import java.util.Iterator;
public class TestGenerics {
public static void main(String[] args) {
ArrayList<Number> list = new ArrayList<Number>();
list.add(new Integer(0));
list.add(new Integer(1));
list.add(new Integer(3));
@karanmalhi
karanmalhi / BoxTest
Created June 13, 2011 15:22
Explains bounded wildcards
package learnquest;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class BoxTest {
@karanmalhi
karanmalhi / Rectangle.java
Created June 13, 2011 19:00
Explains Enums in java
package learnquest;
public class Rectangle {
private final Size size;
public Rectangle(Size size) {
this.size = size;
}
public Size getSize() {
@karanmalhi
karanmalhi / Person.java
Created June 14, 2011 14:19
Contains all annotations used on Person
package learnquest;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Info(authors = @Author(fn = "Karan", ln = "Malhi"), version = 1.1)
public class Person {
@Info(authors = { @Author(fn = "Karan", ln = "Malhi"),