(Java) Lambda使っていい感じにMapとかClass生成できるやつ書いた

MapとかPOJO作るのに疲弊してきた

疲弊しすぎて、イライラして書いた。

https://github.com/be-hase/lamtils

Lambda使ってこんな感じで、さっくりと作れる。

例) HashMap :

Map<String, Object> map = Lamtils.newHashMap(
    one -> "one",
    two -> 2,
    three -> new Date(),
    four -> 4.0
);

よっしゃ!なんかLL言語っぽい感じになったぞ!

例) POJO(JavaBeans) : setter実装していないと駄目

public static class TestPojo {
    private String one;
    private int two;
    private Date three;
    private double four;
    private boolean five;
    
    // setter, getterは省略 
}

TestPojo pojo1 = Lamtils.newClass(
    TestPojo.class,
    one -> "one",
    two -> 2,
    three -> now,
    four -> 4.0,
    five -> true
);

// もちろん指定したやつだけセットできる
TestPojo pojo2 = Lamtils.newClass(
    TestPojo.class,
    one -> "one"
);

よっしゃ!なんかGroovyとかScalaのあれっぽくなったぞ!
でもTestPojo.classって指定するのがダルい。 本気でやるならlombokみたいにしたい。

注意(重要)

結論

冷静に頭を冷やした結果、これからもGuavaのImmutableMap.of(...)とか、lombokの@Builderとか@Accessorsのfluentとか使って頑張る。

でも、こういう記法ができるってのはなんだか可能性を感じた。
なんか他にも応用できるといいなぁ。

Jenkins2.0のPipelineを触ってみたら便利だった

Jenkins2.0でてた

f:id:hsbrysk:20160428172413p:plain

Jenkins2.0がでてた。
https://jenkins.io/2.0/

ざっくりと概要を見ると、主な変更点は次の3つらしい。

  1. Built-in support for delivery pipelines.
  2. Improved usability.
  3. Fully backwards compatible.

2に関しては、単純に見た目が良くなったよってこと。嬉しい。
3に関しては、後方互換性あるよってこと。幸せ。アップデートしない理由は理由ありませんということ。

1が気になる。

続きを読む