Skip to content

Instantly share code, notes, and snippets.

View nobeans's full-sized avatar

Yasuharu Nakano nobeans

  • Yokohama, Japan
View GitHub Profile
class DdlBuilder {
def writer
DdlBuilder(writer) { this.writer = writer }
def scheme(Closure cls) {
new NodeBuilder().scheme(cls).each { table ->
writer.println "CREATE TABLE ${table.name()} ("
writer.println table.collect { col ->
" ${col.name()} ${type(col.attribute('type'))}"
import java.security.MessageDigest
println "-"*40
println "MessageDigest:"
File.metaClass.getMd5 = {
MessageDigest.getInstance("md5").
digest(delegate.readBytes()).
collect{ String.format("%02x", it) }.
join()
}
def map = [a:'A', b:'B']
def sw = new StringWriter()
def builder = new groovy.xml.MarkupBuilder(sw)
builder.hoge {
map.each { key, value ->
"$key"(value)
}
}
println sw.toString()
@nobeans
nobeans / map2xml.groovy
Created March 15, 2011 16:29
map2xml.groovy
String map2xml(Map input) {
def sw = new StringWriter()
def builder = new groovy.xml.MarkupBuilder(sw)
builder.doubleQuotes = true
builder.metaClass.recursive = { Map map ->
map.each { key, value ->
"${key}"(value in Map ? { recursive(value) } : value)
}
}
builder.langs(type: "current") {
class XmlConvertCategory {
static String toXml(Map input) {
def sw = new StringWriter()
def builder = new groovy.xml.MarkupBuilder(sw)
builder.doubleQuotes = true
builder.metaClass.recursive = { Map map ->
map.each { key, value ->
"${key}"(value in Map ? { recursive(value) } : value)
}
}
nnoremap <Space>gn :<C-u>w<CR>:Git now<CR>
nnoremap <Space>gN :<C-u>w<CR>:Git now --all<CR>
import java.io.IOException;
public class MultiCatch {
public static void main(String... args) {
try {
if (args.length == 1) {
throw new IOException("!!");
}
if (args.length == 2) {
throw new ClassNotFoundException("??");
import java.io.IOException;
public class MultiCatch {
static class X extends Exception {
public void x() { System.out.println("XXX!"); }
};
static class A extends X {
public void a() { System.out.println("AAA!"); }
};
// java.lang.Listにメソッドを追加する
List.metaClass.carcdr = {
[delegate.head(), delegate.tail()]
}
assert [1, 2, 3].carcdr() == [1, [2, 3]]
{->
def (car, cdr) = [1, 2, 3].carcdr()
assert car == 1
@nobeans
nobeans / sampleUse.groovy
Created May 1, 2011 14:33
sample of use
class Hoge {
static String hoge(String delegate) {
return "HOGE: $delegate"
}
static String foo(String delegate, String param) {
return "FOO: $delegate ($param)"
}
static String bar(Class<String> string) {
return "BAR"
}