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 / ObjectFactory.java
Created June 14, 2011 14:20
Basic annotation processor
package learnquest;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
public class ObjectFactory {
public static <T> T create(Class<T> clazz) throws Exception {
T instance = clazz.newInstance();
processAnnotations(instance);
return instance;
@karanmalhi
karanmalhi / Reversable.java
Created June 14, 2011 18:58
Basic interface and its impl
package learnquest;
public interface Reversable<T> {
T reverse(T str);
}
class StringReverser implements Reversable<String> {
@Override
public String reverse(String str) {
@karanmalhi
karanmalhi / ProxyFactory.java
Created June 14, 2011 18:59
The proxy creation mechanism
package learnquest;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class ProxyFactory {
@karanmalhi
karanmalhi / CreditCardType.java
Created June 20, 2011 15:21
Example of an advanced enum
package com.lq;
public enum CreditCardType {
VISA("111-22-3333") {
@Override
public boolean isValid() {
System.out.println("Validating a " + this.name());
return false;
}
@karanmalhi
karanmalhi / GenericsExample.java
Created June 21, 2011 13:51
Simple example on generics
package com.lq;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
public class GenericsExample {
public static void main(String[] args) {
@karanmalhi
karanmalhi / InnerclassExample.java
Created June 23, 2011 17:38
Anonymous inner class example
package com.lq;
public class InnerClassExample {
public static void main(String[] args) {
Driver d = new Driver();
Car c = new Car();
d.operate(c);
d.operate(
// anonymous Inner class
new Driveable(){
@karanmalhi
karanmalhi / eclipse.ini
Created June 24, 2011 18:36
example eclipse.ini file
-startup
plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.2.R36x_v20101222
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
@karanmalhi
karanmalhi / samples.txt
Created June 24, 2011 18:39
svn repo for spring samples
https://anonsvn.springframework.org/svn/spring-samples
https://github.com/SpringSource
@karanmalhi
karanmalhi / Test.java
Created July 28, 2011 14:54
Template class
package learnquest;
public class Test {
public static void main(String[] args) {
}
}
@karanmalhi
karanmalhi / Manager.java
Created July 28, 2011 19:21
Example of countdown latch
import java.io.BufferedReader;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;