6.4. 設定可能なプロパティのタイプ


文字列、 プリミティブ、 プリミティブラッパータイプのプロパティは次のように設定します。
  • org.jboss.seam.core.manager.conversationTimeout 60000
  • <core:manager conversation-timeout="60000"/>
         <component name="org.jboss.seam.core.manager">
         <property name="conversationTimeout">60000</property> 
         </component>
Copy to Clipboard Toggle word wrap
文字列またはプリミティブの配列、 セット、 一覧にも対応します。
org.jboss.seam.bpm.jbpm.processDefinitions 
order.jpdl.xml, 
return.jpdl.xml, 
inventory.jpdl.xml
Copy to Clipboard Toggle word wrap
<bpm:jbpm>
  <bpm:process-definitions>
    <value>order.jpdl.xml</value>
    <value>return.jpdl.xml</value>
    <value>inventory.jpdl.xml</value>
  </bpm:process-definitions>
</bpm:jbpm>
Copy to Clipboard Toggle word wrap
<component name="org.jboss.seam.bpm.jbpm">

  <property name="processDefinitions">
    <value>order.jpdl.xml</value>
    <value>return.jpdl.xml</value>
    <value>inventory.jpdl.xml</value>
  </property>
  
</component>
Copy to Clipboard Toggle word wrap
文字列値のキーと文字列またはプリミティブの値から成るマップでさえもサポートされます。
<component name="issueEditor">

  <property name="issueStatuses">
    <key>open</key> <value>open issue</value>
    <key>resolved</key> <value>issue resolved by developer</value>
    <key>closed</key> <value>resolution accepted by user</value>
  </property>
  
</component>
Copy to Clipboard Toggle word wrap
複数の値を持つプロパティを設定する場合、 Seam は SortedSet/SortedMap が使用されていない限りデフォルトでは components.xml に設定された属性の順序を維持します。 この場合、Seam は TreeMap/TreeSet を参照します。 プロパティに具体的なタイプ (LinkedList など) がある場合はそのタイプを使用します。
次のように完全修飾クラス名を指定することでそのタイプを上書きすることも可能です。
<component name="issueEditor">

  <property name="issueStatusOptions" type="java.util.LinkedHashMap">
    <key>open</key> <value>open issue</value>
    <key>resolved</key> <value>issue resolved by developer</value>
    <key>closed</key> <value>resolution accepted by user</value>
  </property>
  
</component>
Copy to Clipboard Toggle word wrap
最後に、値バインディング式を使ってコンポーネントをリンクさせることができます。 これは呼び出し時ではなくコンポーネントのインスタンス化時に起こるため、 @In でのインジェクションとは非常に異なる点に注意してください。 JavaServer Faces (JSF) や Spring などの従来の IoC コンテナによって提供される依存性インジェクションに似ています。
<drools:managed-working-memory name="policyPricingWorkingMemory" 
                               rule-base="#{policyPricingRules}"/>
Copy to Clipboard Toggle word wrap
<component name="policyPricingWorkingMemory"
           class="org.jboss.seam.drools.ManagedWorkingMemory"> 
  <property name="ruleBase">#{policyPricingRules}</property>
</component>
Copy to Clipboard Toggle word wrap
Seam はコンポーネントの Bean プロパティへ初期値を代入する前に EL 式の文字列も解決します。 このためコンテキスト依存データの中にはコンポーネントにインジェクトできるものもあります。
<component name="greeter" class="com.example.action.Greeter">
  <property name="message">
    Nice to see you, #{identity.username}!
  </property>
</component>
Copy to Clipboard Toggle word wrap
ただし、1 つ重要な例外があります。 初期値が Seam の ValueExpression または MethodExpression のいずれかに割り当てられる場合、 その EL の評価は遅延されて適切な式のラッパーが生成されプロパティに割り当てられます。 Seam Application Framework の Home コンポーネントにあるメッセージテンプレートがその一例です。
<framework:entity-home name="myEntityHome" 
                       class="com.example.action.MyEntityHome" 
                       entity-class="com.example.model.MyEntity" 
                       created-message="'#{myEntityHome.instance.name}' 
                       has been successfully added."/>
Copy to Clipboard Toggle word wrap
コンポーネントの内部では、 ValueExpression または MethodExpression のいずれかで getExpressionString() を呼び出すと式の文字列にアクセスすることができます。 プロパティが ValueExpression となる場合はその値を getValue() で解決します。 プロパティが MethodExpression となる場合は invoke({Object arguments}) でメソッドを呼び出します。 MethodExpression プロパティに値を割り当てるには、 初期値全体がひとつの E L式でなければなりません。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat