Skip to content

Instantly share code, notes, and snippets.

View xenoterracide's full-sized avatar

Caleb Cushing xenoterracide

View GitHub Profile
# Created by .gitignore support plugin (hsz.mobi)
.idea/libraries/*
.idea/workspace.xml
### Maven template
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
@xenoterracide
xenoterracide / AbstractEntityBase.java
Last active August 29, 2015 14:08
possible Spring Bug
package com.xenoterracide.rpf.abstracts;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Type;
import org.springframework.data.jpa.domain.AbstractPersistable;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@xenoterracide
xenoterracide / generics.java
Created September 4, 2014 03:04
Java 7 Generics
interface Entity<ID> {
ID getId();
setId( ID id );
}
class Repository<ID, ENTITY extends Entity<ID>> {
Map<ID, ENTITY> identityMap = new HashMap<>();
void add( ENTITY entity ) {
identityMap.put( entity.getId(), entity );
@xenoterracide
xenoterracide / overloading.java
Created September 3, 2014 05:29
Java 7 method overloading
class InfoLogger {
Logger log = LoggerFactory.getLogger(InfoLogger.class);
@Override
void log( String message ) {
log.info( message );
}
}
class DebugLogger {
@xenoterracide
xenoterracide / functional.java
Created September 3, 2014 05:18
Java 8 functions
class Logged {
public static void exec ( Function<String,Void> log ) {
log.apply("hello world");
}
}
Logged.exec( s -> System.out.println(s) );
Logged.exec( s -> log.info(s) );
@xenoterracide
xenoterracide / traits.java
Last active August 29, 2015 14:06
Traits in Java 8
interface Logger {
default void log(String message ) {
_logger().info( message );
}
Logger _logger();
}
class InfoLogger implements Logger
Logger log = LoggerFactory.getLogger(InfoLogger.class);
@xenoterracide
xenoterracide / interface.java
Last active August 29, 2015 14:06
Java 7 Interface
interface Logger {
void log(String message );
}
class InfoLogger implements Logger {
Logger log = LoggerFactory.getLogger(InfoLogger.class);
@Override
void log( String message ) {
log.info( message );
@xenoterracide
xenoterracide / single.java
Last active August 29, 2015 14:06
Java 7 Single Inheritance
// this is a bad idea, juse use slf4j
class SimpleLogger {
void log( String message ) {
System.out.println(getClass() + message );
}
}
class InfoLogger extends SimpleLogger {
Logger log = LoggerFactory.getLogger(LogOne.class);
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: application/hal+json
Transfer-Encoding: chunked
Date: Wed, 03 Sep 2014 02:21:49 GMT
{
"_links" : {
"task" : {
"href" : "http://localhost:8080/task{?page,size,sort}",
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.lm</groupId>
<artifactId>lm</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>