Skip to content

Instantly share code, notes, and snippets.

@khamiltonuk
khamiltonuk / Interceptor.java
Created November 29, 2015 22:41
Write annotation and a request interceptor
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
public class SecureTokenInterceptor extends HandlerInterceptorAdapter {
private SecureTokenService secureTokenService;
/**
* Constructor.
*
* @param secureTokenService - service to store/retrieve tokens
*/
@khamiltonuk
khamiltonuk / annotation.java
Created November 29, 2015 22:39
Write annotation and a request interceptor
/**
* Annotation to mark a controller handler as requiring secure token checking
*/
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface SecureToken {
String TOKEN_PARAMETER_NAME = "secureToken";
String value();
}
@khamiltonuk
khamiltonuk / documentStore.java
Created November 29, 2015 22:14
The end of ORM
query = new BasicDBObject("i",
new BasicDBObject("$gt", 20).
append("$lte", 30));
cursor = coll.find(query);
@khamiltonuk
khamiltonuk / streamCollectors
Created November 29, 2015 10:47
Java 8 is Coming
Map<Person.Sex, Double> averageAgeByGender = roster
.stream()
.collect(
Collectors.groupingBy(
Person::getGender,
Collectors.averagingInt(Person::getAge)));
@khamiltonuk
khamiltonuk / streamNumbers.java
Created November 29, 2015 10:45
java 8 is coming
Stream.of(aListOfNumbers)
.sorted()
.limit(10)
@khamiltonuk
khamiltonuk / streamPosts.java
Last active November 29, 2015 22:11
Java 8 is coming
reddit.stream()
.map(post -> if(post.isCatPost) return post.getComments(); else return 0;)
.reduce(0.0, (c1, c2) -> c1 + c2);
@khamiltonuk
khamiltonuk / staticMethod.java
Last active November 29, 2015 22:10
Java 8 is coming
public interface MyInterface {
default public int rollD20() {
return Constants.thaco;
}
}
@khamiltonuk
khamiltonuk / defaultMethod.java
Last active November 29, 2015 22:09
Java 8 is coming
public interface MyInterface {
default public int rollD6() {
return 4; //guaranteed random by roll of dice
}
}
@khamiltonuk
khamiltonuk / templateLambda.java
Last active November 29, 2015 22:08
Java 8 is coming
MyFunctionalInterface deepThought = () -> return 42;
public void answerMe(MyFunctionalInteface calculator) { ... }
answerMe(deepThought);
answerMe(() -> return 42;)
@khamiltonuk
khamiltonuk / functionalInterface.java
Last active November 29, 2015 22:07
Java 8 is coming
@FunctionalInterface
public interface MyFunctionalInterface {
public int theQuestion();
}