12.2. Groovy による Seam アプリケーションの記述
Groovy オブジェクトは Java オブジェクトであるため、 Seam コンポーネントを Groovy で記述しデプロイすることができます。 また、 同じアプリケーションで Groovy のクラスと Java のクラスを一緒に使うこともできます。
12.2.1. Groovy コンポーネントの記述 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
アノテーションに対応させるには Groovy 1.1 またはそれ以降を使用する必要があります。次項では Seam アプリケーションでの Groovy の使用方法について示しています。
12.2.1.1. エンティティ リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
例12.1 Seam アプリケーションでの Groovy の使用
@Entity
@Name("hotel")
class Hotel implements Serializable {
@Id @GeneratedValue
Long id
@Length(max=50) @NotNull
String name
@Length(max=100) @NotNull
String address
@Length(max=40) @NotNull
String city
@Length(min=2, max=10) @NotNull
String state
@Length(min=4, max=6) @NotNull
String zip
@Length(min=2, max=40) @NotNull
String country
@Column(precision=6, scale=2)
BigDecimal price
@Override
String toString(){
return "Hotel(${name},${address},${city},${zip})"
}
}
Groovy ではプロパティをサポートしているため、 冗長な getter や setter を明示的に記述する必要がありません。 上記の例では、 hotel クラスは Java から
hotel.getCity() でアクセスできます。 この getter や setter は Groovy のコンパイラが生成したものです。 こうした簡略構文を使えば、 エンティティコードは非常に簡潔になります。