Skip to content

Instantly share code, notes, and snippets.

@toby55kij
toby55kij / Hello.groovy
Created January 30, 2015 16:29
Groovyスクリプトを配布する1つの方法 ref: http://qiita.com/toby55kij/items/1172db965158dc7d1d2e
println "Hello ${args.join(',')}."
@toby55kij
toby55kij / PrettyPrint.groovy
Created December 18, 2014 16:08
Groovyで汎用pretty-print(モドキ)を作成してみる ref: http://qiita.com/toby55kij/items/57e7f851b1b51e314ef0
Object.metaClass {
//indent
indent << {String indentString, int indentLevel, boolean skipIndent ->
(indentString * (skipIndent ? 0 : indentLevel)) + delegate
}
//prettyPrint
prettyPrint << { ->
delegate.prettyPrint(' ')
}
prettyPrint << {String indentString ->
@toby55kij
toby55kij / JSR353ConvertSample.groovy
Created September 18, 2013 14:18
GroovyのJSON<->JSR353のObjectModel相互変換サンプル
@Grapes(
@Grab(group='org.glassfish', module='javax.json', version='1.0.2')
)
import groovy.json.DateFormatThreadLocal
import groovy.json.JsonBuilder
import groovy.json.JsonDelegate
import java.text.SimpleDateFormat
import javax.json.Json
@toby55kij
toby55kij / JsonObjectModelSample.groovy
Last active December 22, 2015 22:09
JSR353のGroovyサンプル
@Grapes(
@Grab(group='org.glassfish', module='javax.json', version='1.0.2')
)
import java.io.FileReader
import javax.json.Json
import javax.json.JsonArray
import javax.json.JsonBuilderFactory
import javax.json.JsonNumber
import javax.json.JsonObject
import javax.json.JsonReader
@toby55kij
toby55kij / GroovyPojoJsonSample.java
Created August 28, 2012 15:49
POJO<->JSONの相互変換にGroovyを使った場合のサンプル
import groovy.lang.Binding;
import groovy.lang.GroovyShell;
import groovy.lang.Script;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
@toby55kij
toby55kij / CreateLabel.groovy
Created January 23, 2012 13:18
Apache PivotでGroovyを使うサンプル
@Grapes([
@Grab("org.apache.pivot:pivot-core:2.0"),
@Grab("org.apache.pivot:pivot-wtk:2.0"),
@Grab("org.apache.pivot:pivot-wtk-terra:2.0")
])
import org.apache.pivot.wtk.*
//メソッドはバインディング変数(クロージャ)で作成しないといけない
createLabel = { window ->
def label = new Label()
@toby55kij
toby55kij / GrettySample.groovy
Created December 22, 2011 13:54
Grettyのサンプル - 割り勘計算機
@GrabResolver(name='gretty',
root='http://groovypp.artifactoryonline.com/groovypp/libs-releases-local')
@Grab('org.mbte.groovypp:gretty:0.4.302')
import org.mbte.gretty.httpserver.GrettyServer
//Grettyのサンプル - 割り勘計算機
// http://localhost:8080/[割られる数]/[割る数] -> 割り算の結果を返す
// http://localhost:8080/[メッセージ] -> 'Hello, [メッセージ]!'を返す
//割り算の結果を返す
def createDivResponse = { p ->
def calcResult = p.dividend.toBigDecimal() / p.divisor.toBigDecimal()
@toby55kij
toby55kij / JsonSlurperSample.groovy
Created November 5, 2011 11:33
groovy.json.JsonSlurperのサンプル
//JsonSlurperのサンプル
import groovy.json.JsonOutput
import groovy.json.JsonSlurper
//JSON文字列
def text = '''{
"people": {
"person": {
"firstName": "Yasuharu",
"lastName": "Hayami",
@toby55kij
toby55kij / StreamingJsonBuilderSample.groovy
Created November 5, 2011 08:35
groovy.json.StreamingJsonBuilderのサンプル
//StreamingJsonBuilderのサンプル
import groovy.json.JsonOutput
import groovy.json.StreamingJsonBuilder
def data = {
people {
person {
firstName 'Yasuharu'
lastName 'Hayami'
// Named arguments are valid values for objects too
@toby55kij
toby55kij / JsonBuilderSample.groovy
Created November 5, 2011 07:31
JsonBuilderを使う際に間違いやすい部分のサンプル(2011/6JGGUG総会のLTで発表した内容を元に解説付き)
//JsonBuilderを使う際に間違いやすい部分のサンプル
def json = new groovy.json.JsonBuilder()
//サンプル1
json numbers:[1,2,4]
def sample1 = json.toString()
println sample1
//サンプル2
json { numbers 1,2,4 }