タグ

traitに関するuehajのブックマーク (2)

  • enumに継承を! traitとenumの妙な関係、もしくはGrailsのドメインクラスの選択フィールドを国際化表示するのにtraitが便利 - uehaj's blog

    Grailsのドメインクラスにおいて、いくつかの候補の数値のいずれか、というフィールドを作成し、scaffoldで生成した画面からCRUD操作したいとします。 簡単なのは、こうですね。 class Domain { Integer something static constraints = { something inList:[1,2,3] } } しかし数値フィールドに量としてではなく個々の値にそれぞれの意味がある場合、たとえば、腹の状態を表すフィールドの値として、 1: はらぺこ 2:まんぷく 3:こばらがへった を表現するようなものだったとします。このとき、すくなくとも、Scaffoldの画面上では数値ではなく意味のわかる文字列で表示したり選択入力させたいわけです。しかしデータそのものを文字列にするのもDB上の表現をそうしたくないのでいやだとします*1。 ということでenumの出

    enumに継承を! traitとenumの妙な関係、もしくはGrailsのドメインクラスの選択フィールドを国際化表示するのにtraitが便利 - uehaj's blog
    uehaj
    uehaj 2015/01/07
    ブログ記事かいた
  • Groovy 2.3.0-betaが出たのでtraitを触ってみたメモ - uehaj's blog

    Groovy 2.3.0-beta-1とbeta-2が出たので新機能traitをかるく触ってみました。 注意! 以下は現時点で2.3.0-beta-1と2の振舞いとドキュメントを調べた限りの情報です。正式リリースに向けて変更される可能性があります。 関連記事 Introduce Groovy 2.3 trait Groovy 2.3のtraitをもうちょっと調べてみるついでにScalaのtraitを理解する - uehaj's blog traitの概要と目的 Groovyのtraitは、一言で言って「実装の多重継承」を可能とする仕組みです。詳しくはこちらの家ドキュメント(英語)をどうぞ。 GroovyおよびJava 7までのJavaでは、インターフェースは多重継承することができましたが、クラスは多重継承できませんでした。実装、すなわちメソッド体の定義や、非public static

    Groovy 2.3.0-betaが出たのでtraitを触ってみたメモ - uehaj's blog
    uehaj
    uehaj 2014/04/13
    育休中にブログ1個だけ書けた
  • 1