# translation of Remoting.po to Japanese
# Noriko Mizumoto <noriko@redhat.com>, 2007, 2008, 2009.
msgid ""
msgstr ""
"Project-Id-Version: Remoting\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-11-15 10:18+0000\n"
"PO-Revision-Date: 2009-03-06 10:13+1000\n"
"Last-Translator: Noriko Mizumoto <noriko@redhat.com>\n"
"Language-Team: Japanese <fedora-trans-ja@redhat.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"

#. Tag: title
#: Remoting.xml:5
#, no-c-format
msgid "Remoting"
msgstr "リモーティング"

#. Tag: para
#: Remoting.xml:6
#, no-c-format
msgid ""
"Seam provides a convenient method of remotely accessing components from a "
"web page, using AJAX (Asynchronous Javascript and XML). The framework for "
"this functionality is provided with almost no up-front development effort - "
"your components only require simple annotating to become accessible via "
"AJAX. This chapter describes the steps required to build an AJAX-enabled web "
"page, then goes on to explain the features of the Seam Remoting framework in "
"more detail."
msgstr ""
"Seam は、 Web ページから AJAX (Asynchronous Javascript and XML) を使用してコ"
"ンポーネントにリモートアクセスする便利な方法を提供します。 この機能を実現す"
"る Seam では、 開発時に労力がかからないようになっています - コンポーネントに"
"必要なものは、 AJAX を通じてアクセス可能とするための単純なアノテーションだけ"
"です。 この章では、 AJAX 可能な Web ページを作るために必要なステップについて"
"述べ、 そしてSeam Remoting フレームワークの機能についても詳しく説明します。"

#. Tag: title
#: Remoting.xml:13 Remoting.xml:608
#, no-c-format
msgid "Configuration"
msgstr "設定"

#. Tag: para
#: Remoting.xml:14
#, no-c-format
msgid ""
"To use remoting, the Seam Resource servlet must first be configured in your "
"<literal>web.xml</literal> file:"
msgstr ""
"リモーティングの機能を使用するには、まず<literal>web.xml</literal>ファイル内"
"でSeam Resourceサーブレットを設定する必要があります。"

#. Tag: programlisting
#: Remoting.xml:16
#, no-c-format
msgid ""
"<![CDATA[<servlet>\n"
"  <servlet-name>Seam Resource Servlet</servlet-name>\n"
"  <servlet-class>org.jboss.seam.servlet.SeamResourceServlet</servlet-class>\n"
"</servlet>\n"
"\n"
"<servlet-mapping>\n"
"  <servlet-name>Seam Resource Servlet</servlet-name>\n"
"  <url-pattern>/seam/resource/*</url-pattern>\n"
"</servlet-mapping>]]>"
msgstr ""
"<![CDATA[<servlet>\n"
"  <servlet-name>Seam Resource Servlet</servlet-name>\n"
"  <servlet-class>org.jboss.seam.servlet.SeamResourceServlet</servlet-class>\n"
"</servlet>\n"
"\n"
"<servlet-mapping>\n"
"  <servlet-name>Seam Resource Servlet</servlet-name>\n"
"  <url-pattern>/seam/resource/*</url-pattern>\n"
"</servlet-mapping>]]>"

#. Tag: para
#: Remoting.xml:18
#, no-c-format
msgid ""
"The next step is to import the necessary Javascript into your web page. "
"There are a minimum of two scripts that must be imported. The first one "
"contains all the client-side framework code that enables remoting "
"functionality:"
msgstr ""
"次のステップは、Webページに必要なJavaScriptをインポートすることです。インポー"
"トすべきスクリプトが最低二つあります。最初の一つは、リモーティングの機能を有"
"効にする、クライアントサイドフレームワークのすべてのコードを含みます:"

#. Tag: programlisting
#: Remoting.xml:22
#, no-c-format
msgid ""
"<![CDATA[<script type=\"text/javascript\" src=\"seam/resource/remoting/"
"resource/remote.js\"></script>]]>"
msgstr ""
"<![CDATA[<script type=\"text/javascript\" src=\"seam/resource/remoting/"
"resource/remote.js\"></script>]]>"

#. Tag: para
#: Remoting.xml:24
#, no-c-format
msgid ""
"The second script contains the stubs and type definitions for the components "
"you wish to call. It is generated dynamically based on the local interface "
"of your components, and includes type definitions for all of the classes "
"that can be used to call the remotable methods of the interface. The name of "
"the script reflects the name of your component. For example, if you have a "
"stateless session bean annotated with <literal>@Name(\"customerAction\")</"
"literal>, then your script tag should look like this:"
msgstr ""
"二つ目のスクリプトは、 呼び出したいコンポーネントに対するスタブと型定義を含み"
"ます。 それはコンポーネントのローカルインタフェースをもとにして動的に生成さ"
"れ、 インタフェースのリモートメソッドを呼び出す際に使用されるすべてのクラスに"
"対する型定義を内包しています。 スクリプトの名前はコンポーネントの名前が反映さ"
"れます。 例えば、 <literal>@Name(\"customerAction\")</literal> というアノテー"
"ション付きのステートレスセッション Bean を持つ場合、 スクリプトタグは以下のよ"
"うになります。"

#. Tag: programlisting
#: Remoting.xml:30
#, no-c-format
msgid ""
"<![CDATA[<script type=\"text/javascript\" \n"
"          src=\"seam/resource/remoting/interface.js?customerAction\"></"
"script>]]>"
msgstr ""
"<![CDATA[<script type=\"text/javascript\" \n"
"          src=\"seam/resource/remoting/interface.js?customerAction\"></"
"script>]]>"

#. Tag: para
#: Remoting.xml:32
#, no-c-format
msgid ""
"If you wish to access more than one component from the same page, then "
"include them all as parameters of your script tag:"
msgstr ""
"同じページから一つ以上のコンポーネントにアクセスしたい場合は、スクリプトタグ"
"のパラメータとしてそれらをすべて含めます。"

#. Tag: programlisting
#: Remoting.xml:35
#, no-c-format
msgid ""
"<![CDATA[<script type=\"text/javascript\" \n"
"        src=\"seam/resource/remoting/interface.js?"
"customerAction&accountAction\"></script>]]>"
msgstr ""
"<![CDATA[<script type=\"text/javascript\" \n"
"        src=\"seam/resource/remoting/interface.js?"
"customerAction&accountAction\"></script>]]>"

#. Tag: para
#: Remoting.xml:38
#, no-c-format
msgid ""
"Alternatively, you may use the <literal>s:remote</literal> tag to import the "
"required Javascript. Separate each component or class name you wish to "
"import with a comma:"
msgstr ""
"代わりに、 必要な Javascript のインポートに <literal>s:remote</literal> を使"
"用することもできます。 インポートするコンポーネントあるいはクラス名をそれぞれ"
"コンマで区切ります。"

#. Tag: programlisting
#: Remoting.xml:43
#, no-c-format
msgid ""
"<![CDATA[\n"
"  <s:remote include=\"customerAction,accountAction\"/>    \n"
"    ]]>"
msgstr ""
"<![CDATA[\n"
"  <s:remote include=\"customerAction,accountAction\"/>    \n"
"    ]]>"

#. Tag: title
#: Remoting.xml:48
#, no-c-format
msgid "The \"Seam\" object"
msgstr "\"Seam\"オブジェクト"

#. Tag: para
#: Remoting.xml:50
#, no-c-format
msgid ""
"Client-side interaction with your components is all performed via the "
"<literal>Seam</literal> Javascript object. This object is defined in "
"<literal>remote.js</literal>, and you'll be using it to make asynchronous "
"calls against your component. It is split into two areas of functionality; "
"<literal>Seam.Component</literal> contains methods for working with "
"components and <literal>Seam.Remoting</literal> contains methods for "
"executing remote requests. The easiest way to become familiar with this "
"object is to start with a simple example."
msgstr ""
"クライアント側からのコンポーネントとのやりとりは、 すべて <literal>Seam</"
"literal> Javascript オブジェクト経由で行われます。 このオブジェクトは "
"<literal>remote.js</literal> に定義され、 コンポーネントに対する非同期呼び出"
"しに使用します。 オブジェクトは 二つの機能に区分されます。 コンポーネントと連"
"携するメソッドを含む <literal>Seam.Component</literal> そして、リモート要求を"
"実行するメソッドを含む <literal>Seam.Remoting</literal> です。 このオブジェク"
"トに精通する一番容易な方法は、 簡単なサンプルから始めることです。"

#. Tag: title
#: Remoting.xml:57
#, no-c-format
msgid "A Hello World example"
msgstr "Hello World サンプル"

#. Tag: para
#: Remoting.xml:59
#, no-c-format
msgid ""
"Let's step through a simple example to see how the <literal>Seam</literal> "
"object works. First of all, let's create a new Seam component called "
"<literal>helloAction</literal>."
msgstr ""
"<literal>Seam</literal> オブジェクトがどのように動作するかを見るために、 簡単"
"なサンプルを通じて一歩を踏み出してみましょう。 まず最初に、"
"<literal>helloAction</literal> と呼ばれる新しい Seam コンポーネントを作成しま"
"しょう。"

#. Tag: programlisting
#: Remoting.xml:62
#, no-c-format
msgid ""
"<![CDATA[@Stateless\n"
"@Name(\"helloAction\")\n"
"public class HelloAction implements HelloLocal {\n"
"    public String sayHello(String name) {\n"
"        return \"Hello, \" + name;\n"
"    }\n"
"}]]>"
msgstr ""
"<![CDATA[@Stateless\n"
"@Name(\"helloAction\")\n"
"public class HelloAction implements HelloLocal {\n"
"    public String sayHello(String name) {\n"
"        return \"Hello, \" + name;\n"
"    }\n"
"}]]>"

#. Tag: para
#: Remoting.xml:64
#, no-c-format
msgid ""
"You also need to create a local interface for our new component - take "
"special note of the <literal>@WebRemote</literal> annotation, as it's "
"required to make our method accessible via remoting:"
msgstr ""
"新しいコンポーネント用にローカルインタフェースも生成する必要があります。 "
"<literal>@WebRemote</literal> アノテーションに特に注意してください。 リモート"
"によるメソッドへのアクセスを可能とするために必要です。"

#. Tag: programlisting
#: Remoting.xml:67
#, no-c-format
msgid ""
"<![CDATA[@Local\n"
"public interface HelloLocal {\n"
"  @WebRemote\n"
"  public String sayHello(String name);\n"
"}]]>"
msgstr ""
"<![CDATA[@Local\n"
"public interface HelloLocal {\n"
"  @WebRemote\n"
"  public String sayHello(String name);\n"
"}]]>"

#. Tag: para
#: Remoting.xml:69
#, no-c-format
msgid "That's all the server-side code we need to write."
msgstr ""

#. Tag: para
#: Remoting.xml:72
#, no-c-format
msgid ""
"If you are performing a persistence operation in the method marked "
"<literal>@WebRemote</literal> you will also need to add a "
"<literal>@Transactional</literal> annotation to the method. Otherwise, your "
"method would execute outside of a transaction without this extra hint.That's "
"because unlike a JSF request, Seam does not wrap the remoting request in a "
"transaction automatically."
msgstr ""

#. Tag: para
#: Remoting.xml:78
#, fuzzy, no-c-format
msgid ""
"Now for our web page - create a new page and import the "
"<literal>helloAction</literal> component:"
msgstr ""
"書く必要があるサーバサイドのコードはこれだけです。 それでは、WEB ページのため"
"に - 新しいページを作成して、 <literal>helloAction</literal> コンポーネントを"
"インポートしましょう。"

#. Tag: programlisting
#: Remoting.xml:81
#, no-c-format
msgid "<![CDATA[<s:remote include=\"helloAction\"/>]]>"
msgstr "<![CDATA[<s:remote include=\"helloAction\"/>]]>"

#. Tag: para
#: Remoting.xml:83
#, no-c-format
msgid ""
"To make this a fully interactive user experience, let's add a button to our "
"page:"
msgstr ""
"ユーザーにとって完全にインテラクティブとなるようページにボタンを追加してみま"
"す。"

#. Tag: programlisting
#: Remoting.xml:85
#, no-c-format
msgid ""
"<![CDATA[<button onclick=\"javascript:sayHello()\">Say Hello</button>]]>"
msgstr ""
"<![CDATA[<button onclick=\"javascript:sayHello()\">Say Hello</button>]]>"

#. Tag: para
#: Remoting.xml:87
#, no-c-format
msgid ""
"We'll also need to add some more script to make our button actually do "
"something when it's clicked:"
msgstr ""
"ボタンをクリックしたとき、実際にボタンに何かを行わせるためのスクリプトをもう"
"少し追加する必要があります。"

#. Tag: programlisting
#: Remoting.xml:89
#, no-c-format
msgid ""
"<![CDATA[<script type=\"text/javascript\">\n"
"  //<![CDATA[\n"
"\n"
"  function sayHello() {\n"
"    var name = prompt(\"What is your name?\");\n"
"    Seam.Component.getInstance(\"helloAction\").sayHello(name, "
"sayHelloCallback);\n"
"  }\n"
"\n"
"  function sayHelloCallback(result) {\n"
"    alert(result);\n"
"  }\n"
"\n"
"   // ]]>]]&gt;<![CDATA[\n"
"</script>]]>"
msgstr ""
"<![CDATA[<script type=\"text/javascript\">\n"
"  //<![CDATA[\n"
"\n"
"  function sayHello() {\n"
"    var name = prompt(\"What is your name?\");\n"
"    Seam.Component.getInstance(\"helloAction\").sayHello(name, "
"sayHelloCallback);\n"
"  }\n"
"\n"
"  function sayHelloCallback(result) {\n"
"    alert(result);\n"
"  }\n"
"\n"
"   // ]]>]]&gt;<![CDATA[\n"
"</script>]]>"

#. Tag: para
#: Remoting.xml:91
#, no-c-format
msgid ""
"We're done! Deploy your application and browse to your page. Click the "
"button, and enter a name when prompted. A message box will display the hello "
"message confirming that the call was successful. If you want to save some "
"time, you'll find the full source code for this Hello World example in "
"Seam's <literal>/examples/remoting/helloworld</literal> directory."
msgstr ""
"作業完了です! アプリケーションをデプロイして、ページを見てみましょう。 ボタン"
"をクリックして、プロンプトが出たら名前を入力しましょう。 呼び出しの成功を確認"
"するための hello メッセージが、メッセージボックスに表示されます。 少し時間を"
"節約したいのであれば、 Seam の <literal>/examples/remoting/helloworld</"
"literal> ディレクトリにこの Hello World サンプルの全ソースコードがあります。"

#. Tag: para
#: Remoting.xml:96
#, no-c-format
msgid ""
"So what does the code of our script actually do? Let's break it down into "
"smaller pieces. To start with, you can see from the Javascript code listing "
"that we have implemented two methods - the first method is responsible for "
"prompting the user for their name and then making a remote request. Take a "
"look at the following line:"
msgstr ""
"ところで、このスクリプトのコードは何をするのでしょうか。 もっと細かく分解して"
"みましょう。手始めに、二つのメソッドを実装した Javascript コードから見ていき"
"ましょう。 最初のメソッドはユーザーに対して名前を入力するよう促し、リモート要"
"求を行うのがその役割です。 以下の行から見てみましょう。"

#. Tag: programlisting
#: Remoting.xml:101
#, no-c-format
msgid ""
"Seam.Component.getInstance(\"helloAction\").sayHello(name, sayHelloCallback);"
msgstr ""
"Seam.Component.getInstance(\"helloAction\").sayHello(name, sayHelloCallback);"

#. Tag: para
#: Remoting.xml:103
#, no-c-format
msgid ""
"The first section of this line, <literal>Seam.Component.getInstance"
"(\"helloAction\")</literal> returns a proxy, or \"stub\" for our "
"<literal>helloAction</literal> component. We can invoke the methods of our "
"component against this stub, which is exactly what happens with the "
"remainder of the line: <literal>sayHello(name, sayHelloCallback);</literal>."
msgstr ""
"この行の最初の部分 <literal>Seam.Component.getInstance(\"helloAction\")</"
"literal> は、 <literal>helloAction</literal> コンポーネントのプロキシ、あるい"
"は\"スタブ\"を返します。 このスタブに対してコンポーネントのメソッド呼び出しが"
"可能です。 それは、まさにこの行の残りの部分 <literal>sayHello(name, "
"sayHelloCallback);</literal> になります。"

#. Tag: para
#: Remoting.xml:108
#, no-c-format
msgid ""
"What this line of code in its completeness does, is invoke the "
"<literal>sayHello</literal> method of our component, passing in "
"<literal>name</literal> as a parameter. The second parameter, "
"<literal>sayHelloCallback</literal> isn't a parameter of our component's "
"<literal>sayHello</literal> method, instead it tells the Seam Remoting "
"framework that once it receives the response to our request, it should pass "
"it to the <literal>sayHelloCallback</literal> Javascript method. This "
"callback parameter is entirely optional, so feel free to leave it out if "
"you're calling a method with a <literal>void</literal> return type or if you "
"don't care about the result."
msgstr ""
"コード行全体で行っていることは、コンポーネントの<literal>sayHello</literal>メ"
"ソッドの呼び出しと、 パラメータとして<literal>name</literal>を渡すことです。 "
"二番目のパラメータ<literal>sayHelloCallback</literal>は、 このコンポーネント"
"の <literal>sayHello</literal>メソッドのパラメータではありません。 その代わ"
"り、Seam Remoting フレームワークが要求に対する応答を受けたら、 それを "
"<literal>sayHelloCallback</literal> Javascript メソッドに渡すべきことを指示し"
"ます。 このコールバックパラメータは完全にオプションです。 戻り値 "
"<literal>void</literal> のメソッドを呼び出す場合、 あるいは結果を気にする必要"
"がない場合は、 遠慮なくそのままにしてください。"

#. Tag: para
#: Remoting.xml:116
#, no-c-format
msgid ""
"The <literal>sayHelloCallback</literal> method, once receiving the response "
"to our remote request then pops up an alert message displaying the result of "
"our method call."
msgstr ""
"<literal>sayHelloCallback</literal>メソッドが、リモート要求に対するレスポンス"
"を受信した場合、 メソッド呼び出しの結果を表示するアラートメッセージが現れま"
"す。"

#. Tag: title
#: Remoting.xml:122
#, no-c-format
msgid "Seam.Component"
msgstr "Seam.Component"

#. Tag: para
#: Remoting.xml:124
#, no-c-format
msgid ""
"The <literal>Seam.Component</literal> Javascript object provides a number of "
"client-side methods for working with your Seam components. The two main "
"methods, <literal>newInstance()</literal> and <literal>getInstance()</"
"literal> are documented in the following sections however their main "
"difference is that <literal>newInstance()</literal> will always create a new "
"instance of a component type, and <literal>getInstance()</literal> will "
"return a singleton instance."
msgstr ""
"<literal>Seam.Component</literal> Javascript オブジェクトは、 Seam コンポーネ"
"ントと連携する多くのクライアントメソッドを提供します。 主な二つのメソッド、"
"<literal>newInstance()</literal>と <literal>getInstance()</literal>は、 以降"
"の章にも記述されていますが、 これらの主な違いは、<literal>newInstance()</"
"literal> は、いつもコンポーネントタイプの新しいインスタンスを生成し、そして、"
"<literal>getInstance()</literal>は、シングルトンのインスタンスを返すことで"
"す。"

#. Tag: title
#: Remoting.xml:131
#, no-c-format
msgid "Seam.Component.newInstance()"
msgstr "Seam.Component.newInstance()"

#. Tag: para
#: Remoting.xml:132
#, no-c-format
msgid ""
"Use this method to create a new instance of an entity or Javabean component. "
"The object returned by this method will have the same getter/setter methods "
"as its server-side counterpart, or alternatively if you wish you can access "
"its fields directly. Take the following Seam entity component for example:"
msgstr ""
"新しいエンティティ、あるいは、JavaBean コンポーネントインスタンスを生成するた"
"めにこのメソッドを使用します。 このメソッドにより返されるオブジェクトは、 "
"サーバサイドの対応するものと同じ getter/setter メソッドを持つか、 あるいは、"
"代替として、お望みならば、そのフィールドに直接アクセスが可能です。 例として、"
"以下の Seam エンティティ コンポーネントをご覧ください。"

#. Tag: programlisting
#: Remoting.xml:136
#, no-c-format
msgid ""
"@Name(\"customer\")\n"
"@Entity\n"
"public class Customer implements Serializable\n"
"{\n"
"  private Integer customerId;\n"
"  private String firstName;\n"
"  private String lastName;\n"
"    \n"
"  @Column public Integer getCustomerId() { \n"
"    return customerId; \n"
"  }\n"
"    \n"
"  public void setCustomerId(Integer customerId} { \n"
"    this.customerId = customerId; \n"
"  }\n"
"  \n"
"  @Column public String getFirstName() { \n"
"    return firstName; \n"
"  }\n"
"  \n"
"  public void setFirstName(String firstName) {\n"
"    this.firstName = firstName; \n"
"  }\n"
"  \n"
"  @Column public String getLastName() {\n"
"    return lastName;\n"
"  }\n"
"  \n"
"  public void setLastName(String lastName) {\n"
"    this.lastName = lastName;\n"
"  }\n"
"}"
msgstr ""
"@Name(\"customer\")\n"
"@Entity\n"
"public class Customer implements Serializable\n"
"{\n"
"  private Integer customerId;\n"
"  private String firstName;\n"
"  private String lastName;\n"
"    \n"
"  @Column public Integer getCustomerId() { \n"
"    return customerId; \n"
"  }\n"
"    \n"
"  public void setCustomerId(Integer customerId} { \n"
"    this.customerId = customerId; \n"
"  }\n"
"  \n"
"  @Column public String getFirstName() { \n"
"    return firstName; \n"
"  }\n"
"  \n"
"  public void setFirstName(String firstName) {\n"
"    this.firstName = firstName; \n"
"  }\n"
"  \n"
"  @Column public String getLastName() {\n"
"    return lastName;\n"
"  }\n"
"  \n"
"  public void setLastName(String lastName) {\n"
"    this.lastName = lastName;\n"
"  }\n"
"}"

#. Tag: para
#: Remoting.xml:138
#, no-c-format
msgid "To create a client-side Customer you would write the following code:"
msgstr ""
"クライアントサイド Customer を生成するために、以下のコードを記述します。"

#. Tag: programlisting
#: Remoting.xml:140
#, no-c-format
msgid "var customer = Seam.Component.newInstance(\"customer\");"
msgstr "var customer = Seam.Component.newInstance(\"customer\");"

#. Tag: para
#: Remoting.xml:142
#, no-c-format
msgid "Then from here you can set the fields of the customer object:"
msgstr "そして、ここからは customer オブジェクトのフィールドの設定が可能です。"

#. Tag: programlisting
#: Remoting.xml:144
#, no-c-format
msgid ""
"customer.setFirstName(\"John\");\n"
"// Or you can set the fields directly\n"
"customer.lastName = \"Smith\";"
msgstr ""
"customer.setFirstName(\"John\");\n"
"// Or you can set the fields directly\n"
"customer.lastName = \"Smith\";"

#. Tag: title
#: Remoting.xml:149
#, no-c-format
msgid "Seam.Component.getInstance()"
msgstr "Seam.Component.getInstance()"

#. Tag: para
#: Remoting.xml:151
#, no-c-format
msgid ""
"The <literal>getInstance()</literal> method is used to get a reference to a "
"Seam session bean component stub, which can then be used to remotely execute "
"methods against your component. This method returns a singleton for the "
"specified component, so calling it twice in a row with the same component "
"name will return the same instance of the component."
msgstr ""
"<literal>getInstance()</literal>メソッドは、 Seam セッション Bean コンポーネ"
"ントの、スタブへの参照を取得するために使用されます。 それは、コンポーネントに"
"対してリモートのメソッド実行に使用可能です。 このメソッドは、特定のコンポーネ"
"ントのシングルトンを返します。 その結果、続けて同じコンポーネント名で二回呼び"
"出すと、同じコンポーネントインスタンスが返されます。"

#. Tag: para
#: Remoting.xml:156
#, no-c-format
msgid ""
"To continue our example from before, if we have created a new "
"<literal>customer</literal> and we now wish to save it, we would pass it to "
"the <literal>saveCustomer()</literal> method of our <literal>customerAction</"
"literal> component:"
msgstr ""
"前記のサンプルから続けて、 新しい<literal>customer</literal>を生成、保存しよ"
"うとする場合、<literal>customerAction</literal>コンポーネントの"
"<literal>saveCustomer()</literal>メソッドにそれを渡します。"

#. Tag: programlisting
#: Remoting.xml:160
#, no-c-format
msgid "Seam.Component.getInstance(\"customerAction\").saveCustomer(customer);"
msgstr "Seam.Component.getInstance(\"customerAction\").saveCustomer(customer);"

#. Tag: title
#: Remoting.xml:164
#, no-c-format
msgid "Seam.Component.getComponentName()"
msgstr "Seam.Component.getComponentName()"

#. Tag: para
#: Remoting.xml:166
#, no-c-format
msgid ""
"Passing an object into this method will return its component name if it is a "
"component, or <literal>null</literal> if it is not."
msgstr ""
"このメソッドに渡すオブジェクトがコンポーネントの場合はコンポーネント名を返"
"し、 コンポーネントではない場合には <literal>null</literal> を返します。"

#. Tag: programlisting
#: Remoting.xml:169
#, no-c-format
msgid ""
"if (Seam.Component.getComponentName(instance) == \"customer\")\n"
"  alert(\"Customer\");\n"
"else if (Seam.Component.getComponentName(instance) == \"staff\")\n"
"  alert(\"Staff member\");"
msgstr ""
"if (Seam.Component.getComponentName(instance) == \"customer\")\n"
"  alert(\"Customer\");\n"
"else if (Seam.Component.getComponentName(instance) == \"staff\")\n"
"  alert(\"Staff member\");"

#. Tag: title
#: Remoting.xml:175
#, no-c-format
msgid "Seam.Remoting"
msgstr "Seam.Remoting"

#. Tag: para
#: Remoting.xml:177
#, no-c-format
msgid ""
"Most of the client side functionality for Seam Remoting is contained within "
"the <literal>Seam.Remoting</literal> object. While you shouldn't need to "
"directly call most of its methods, there are a couple of important ones "
"worth mentioning."
msgstr ""
"Seam Remoting の大部分のクライアントサイドの機能は、<literal>Seam.Remoting</"
"literal>オブジェクトに含まれます。 メソッドを直接呼ぶ必要はほとんどないとはい"
"え、 言及する価値のある重要なものがあります。"

#. Tag: title
#: Remoting.xml:182
#, no-c-format
msgid "Seam.Remoting.createType()"
msgstr "Seam.Remoting.createType()"

#. Tag: para
#: Remoting.xml:184
#, no-c-format
msgid ""
"If your application contains or uses Javabean classes that aren't Seam "
"components, you may need to create these types on the client side to pass as "
"parameters into your component method. Use the <literal>createType()</"
"literal> method to create an instance of your type. Pass in the fully "
"qualified Java class name as a parameter:"
msgstr ""
"アプリケーションが Seam コンポーネントではない JavaBean のクラスを含むまたは"
"使用する場合、 クライアント側ででこれらのタイプを作成してパラメータとしてコン"
"ポーネントメソッドに渡す必要があるかもしれません。 タイプのインスタンスを作成"
"するために、 <literal>createType()</literal> メソッドを使用してください。 パ"
"ラメータとして、完全修飾の Java クラス名を渡してください。"

#. Tag: programlisting
#: Remoting.xml:189
#, no-c-format
msgid "var widget = Seam.Remoting.createType(\"com.acme.widgets.MyWidget\");"
msgstr "var widget = Seam.Remoting.createType(\"com.acme.widgets.MyWidget\");"

#. Tag: title
#: Remoting.xml:193
#, no-c-format
msgid "Seam.Remoting.getTypeName()"
msgstr "Seam.Remoting.getTypeName()"

#. Tag: para
#: Remoting.xml:195
#, no-c-format
msgid ""
"This method is the equivalent of <literal>Seam.Component.getComponentName()</"
"literal> but for non-component types. It will return the name of the type "
"for an object instance, or <literal>null</literal> if the type is not known. "
"The name is the fully qualified name of the type's Java class."
msgstr ""
"このメソッドは非コンポーネントタイプの場合を除き <literal>Seam.Component."
"getComponentName()</literal> と同等です。 オブジェクトインスタンスにタイプの"
"名前を返します。 または、タイプが既知でない場合は <literal>null</literal> を"
"返します。 この名前は、タイプの Java クラス完全修飾名です。"

#. Tag: title
#: Remoting.xml:227
#, no-c-format
msgid "Client Interfaces"
msgstr "クライアントのインタフェース"

#. Tag: para
#: Remoting.xml:229
#, no-c-format
msgid ""
"In the configuration section above, the interface, or \"stub\" for our "
"component is imported into our page either via <literal>seam/resource/"
"remoting/interface.js</literal>: or using the <literal>s:remote</literal> "
"tag:"
msgstr ""
"上記の設定のセクションでは、 インタフェースまたはコンポーネントの「スタブ」"
"は <literal>seam/resource/remoting/interface.js</literal> 経由でページにイン"
"ポートするか、 <literal>s:remote</literal> を使用してインポートします。"

#. Tag: programlisting
#: Remoting.xml:234
#, no-c-format
msgid ""
"<![CDATA[<script type=\"text/javascript\" \n"
"        src=\"seam/resource/remoting/interface.js?customerAction\"></"
"script>]]>"
msgstr ""
"<![CDATA[<script type=\"text/javascript\" \n"
"        src=\"seam/resource/remoting/interface.js?customerAction\"></"
"script>]]>"

#. Tag: programlisting
#: Remoting.xml:236
#, no-c-format
msgid "<![CDATA[<s:remote include=\"customerAction\"/>]]>"
msgstr "<![CDATA[<s:remote include=\"customerAction\"/>]]>"

#. Tag: para
#: Remoting.xml:238
#, no-c-format
msgid ""
"By including this script in our page, the interface definitions for our "
"component, plus any other components or types that are required to execute "
"the methods of our component are generated and made available for the "
"remoting framework to use."
msgstr ""
"ページにこのスクリプトをインクルードすることにより、 コンポーネントのためのイ"
"ンタフェース定義に加えて、コンポーネントのメソッドを実行するために必要なその"
"他のコンポーネントとタイプが生成され、リモーティングフレームワークで使用可能"
"になります。"

#. Tag: para
#: Remoting.xml:242
#, no-c-format
msgid ""
"There are two types of client stub that can be generated, \"executable\" "
"stubs and \"type\" stubs. Executable stubs are behavioural, and are used to "
"execute methods against your session bean components, while type stubs "
"contain state and represent the types that can be passed in as parameters or "
"returned as a result."
msgstr ""
"生成可能なクライアントスタブには「実行可能」スタブと「タイプ」スタブの二タイ"
"プがあります。 実行可能スタブは動作を持ち、 セッション Bean コンポーネントに"
"対するメソッドの実行に使用されます。 一方、 タイプスタブは状態を保持し、 パラ"
"メータとして渡すまたは結果として返すことができるタイプを表します。"

#. Tag: para
#: Remoting.xml:246
#, no-c-format
msgid ""
"The type of client stub that is generated depends on the type of your Seam "
"component. If the component is a session bean, then an executable stub will "
"be generated, otherwise if it's an entity or JavaBean, then a type stub will "
"be generated. There is one exception to this rule; if your component is a "
"JavaBean (ie it is not a session bean nor an entity bean) and any of its "
"methods are annotated with @WebRemote, then an executable stub will be "
"generated for it instead of a type stub. This allows you to use remoting to "
"call methods of your JavaBean components in a non-EJB environment where you "
"don't have access to session beans."
msgstr ""
"生成されるクライアントスタブのタイプは Seam コンポーネントのタイプにより異な"
"ります。 コンポーネントがセッション Bean の場合、 実行可能スタブが生成されま"
"す。 これ以外、 エンティティや JavaBean となる場合にはタイプスタブが生成され"
"ます。 この規則には例外がひとつあります。 コンポーネントが JavaBean (つまり、"
"セッション Bean や エンティティ Bean ではない場合) であり、 そのメソッドのい"
"ずれにも @WebRemote アノテーションが付く場合、 タイプスタブではなく実行可能ス"
"タブが生成されます。 これにより、 セッション Bean にアクセスできない非 EJB 環"
"境で JavaBean コンポーネントのメソッドを呼び出すリモーティングが使用できるよ"
"うになります。"

#. Tag: title
#: Remoting.xml:256
#, no-c-format
msgid "The Context"
msgstr "コンテキスト"

#. Tag: para
#: Remoting.xml:258
#, no-c-format
msgid ""
"The Seam Remoting Context contains additional information which is sent and "
"received as part of a remoting request/response cycle. At this stage it only "
"contains the conversation ID but may be expanded in the future."
msgstr ""
"Seam リモートコンテキストは、 リモーティングの要求 / 応答サイクルの一部として"
"送受信される追加情報を含んでいます。 現段階では対話 ID だけしか含んでいません"
"が、将来拡張される可能性があります。"

#. Tag: title
#: Remoting.xml:262
#, no-c-format
msgid "Setting and reading the Conversation ID"
msgstr "対話 ID の設定と読み込み"

#. Tag: para
#: Remoting.xml:265
#, no-c-format
msgid ""
"If you intend on using remote calls within the scope of a conversation then "
"you need to be able to read or set the conversation ID in the Seam Remoting "
"Context. To read the conversation ID after making a remote request call "
"<literal>Seam.Remoting.getContext().getConversationId()</literal>. To set "
"the conversation ID before making a request, call <literal>Seam.Remoting."
"getContext().setConversationId()</literal>."
msgstr ""
"対話スコープでリモート呼び出しをしようとする場合、 Seam Remotingコンテキスト"
"内にある対話ID の読み込みと設定が行える必要があります。リモート要求の後に対"
"話 ID を読み込むためには、<literal>Seam.Remoting.getContext()."
"getConversationId()</literal>を呼び出します。 要求の前に対話ID を設定するため"
"には、<literal>Seam.Remoting.getContext().setConversationId()</literal>を呼び"
"出します。"

#. Tag: para
#: Remoting.xml:270
#, no-c-format
msgid ""
"If the conversation ID hasn't been explicitly set with <literal>Seam."
"Remoting.getContext().setConversationId()</literal>, then it will be "
"automatically assigned the first valid conversation ID that is returned by "
"any remoting call. If you are working with multiple conversations within "
"your page, then you may need to explicitly set the conversation ID before "
"each call. If you are working with just a single conversation, then you "
"don't need to do anything special."
msgstr ""
"対話ID が明示的に <literal>Seam.Remoting.getContext().setConversationId()</"
"literal>で設定されない場合、 リモート呼び出しによって返される最初の有効な対話"
"ID が自動的に割り当てられます。 ページ内で複数の対話ID を使用する場合は、それ"
"ぞれの呼び出しの前に対話IDを明示的に設定する必要があるかもしれません。 一つの"
"対話だけを使用する場合は、 特別なことをする必要はありません。"

#. Tag: title
#: Remoting.xml:277
#, no-c-format
msgid "Remote calls within the current conversation scope"
msgstr "現在の対話スコープ内のリモート呼び出し"

#. Tag: para
#: Remoting.xml:279
#, no-c-format
msgid ""
"In some circumstances it may be required to make a remote call within the "
"scope of the current view's conversation. To do this, you must explicitly "
"set the conversation ID to that of the view before making the remote call. "
"This small snippet of JavaScript will set the conversation ID that is used "
"for remoting calls to the current view's conversation ID:"
msgstr ""
"現在のビューの対話スコープ内でリモート呼び出しを行う必要がある場合がありま"
"す。 これを行うにはリモート呼び出しを行う前に明示的に対話 ID をビューのそれに"
"セットする必要があります。 この小さな JavaScript によりリモート呼び出しに使用"
"される対話 ID が現在のビューの対話 ID にセットされます。"

#. Tag: programlisting
#: Remoting.xml:284
#, no-c-format
msgid ""
"<![CDATA[Seam.Remoting.getContext().setConversationId( #{conversation."
"id} );]]>"
msgstr ""
"<![CDATA[Seam.Remoting.getContext().setConversationId( #{conversation."
"id} );]]>"

#. Tag: title
#: Remoting.xml:289
#, no-c-format
msgid "Batch Requests"
msgstr "バッチ要求"

#. Tag: para
#: Remoting.xml:291
#, no-c-format
msgid ""
"Seam Remoting allows multiple component calls to be executed within a single "
"request. It is recommended that this feature is used wherever it is "
"appropriate to reduce network traffic."
msgstr ""
"Seam リモーティングは、複数のコンポーネント呼び出しが一つの要求内で実行される"
"ことを可能にします。 ネットワークトラフィックを減少することが適切であれば、 "
"どこでもこの特徴を使用することを推奨します。"

#. Tag: para
#: Remoting.xml:294
#, no-c-format
msgid ""
"The method <literal>Seam.Remoting.startBatch()</literal> will start a new "
"batch, and any component calls executed after starting a batch are queued, "
"rather than being sent immediately. When all the desired component calls "
"have been added to the batch, the <literal>Seam.Remoting.executeBatch()</"
"literal> method will send a single request containing all of the queued "
"calls to the server, where they will be executed in order. After the calls "
"have been executed, a single response containining all return values will be "
"returned to the client and the callback functions (if provided) triggered in "
"the same order as execution."
msgstr ""
"<literal>Seam.Remoting.startBatch()</literal>メソッド は、 新たなバッチを起動"
"します。 バッチ起動後に実行されたコンポーネント呼び出しは、 即座に送られるの"
"ではなく、キューイングされます。 必要とされるすべてのコンポーネント呼び出しが"
"バッチに追加されたとき、<literal>Seam.Remoting.executeBatch()</literal>メソッ"
"ドは、 サーバにキューイングされた呼び出しすべてを含む一つの要求を送信するで"
"しょう。 そして、そこで順番に実行されます。 呼び出しが実行された後、 すべての"
"戻り値を含む一つの応答は、 クライアントに返され、コールバック機能が (もし、設"
"定されていれば) 実行と同じ順番で起動されます。"

#. Tag: para
#: Remoting.xml:301
#, no-c-format
msgid ""
"If you start a new batch via the <literal>startBatch()</literal> method but "
"then decide you don't want to send it, the <literal>Seam.Remoting.cancelBatch"
"()</literal> method will discard any calls that were queued and exit the "
"batch mode."
msgstr ""
"<literal>startBatch()</literal>メソッドで新たなバッチを起動したが要求を送らな"
"いことにした場合、 <literal>Seam.Remoting.cancelBatch()</literal>メソッドは"
"キュー待ちしているすべての呼び出しを破棄してそのバッチモードを終了します。"

#. Tag: para
#: Remoting.xml:305
#, no-c-format
msgid ""
"To see an example of a batch being used, take a look at <literal>/examples/"
"remoting/chatroom</literal>."
msgstr ""
"バッチが利用されているサンプルを見るには、<literal>/examples/remoting/"
"chatroom</literal>を参照ください。"

#. Tag: title
#: Remoting.xml:310
#, no-c-format
msgid "Working with Data types"
msgstr "データタイプの取り扱い"

#. Tag: title
#: Remoting.xml:313
#, no-c-format
msgid "Primitives / Basic Types"
msgstr "プリミティブ型 / 基本タイプ"

#. Tag: para
#: Remoting.xml:315
#, no-c-format
msgid ""
"This section describes the support for basic data types. On the server side "
"these values are generally compatible with either their primitive type or "
"their corresponding wrapper class."
msgstr ""
"この章は、基本データタイプのサポートについて述べています。 サーバサイドではこ"
"れらの値は、一般的にプリミティブタイプ、あるいは、対応するラッパクラスと互換"
"性があります。"

#. Tag: title
#: Remoting.xml:319
#, no-c-format
msgid "String"
msgstr "String 型"

#. Tag: para
#: Remoting.xml:321
#, no-c-format
msgid ""
"Simply use Javascript String objects when setting String parameter values."
msgstr ""
"String パラメータ値を設定する場合は、 単純に Javascript String オブジェクトを"
"使用してください。"

#. Tag: title
#: Remoting.xml:325
#, no-c-format
msgid "Number"
msgstr "Number 型"

#. Tag: para
#: Remoting.xml:327
#, no-c-format
msgid ""
"There is support for all number types supported by Java. On the client side, "
"number values are always serialized as their String representation and then "
"on the server side they are converted to the correct destination type. "
"Conversion into either a primitive or wrapper type is supported for "
"<literal>Byte</literal>, <literal>Double</literal>, <literal>Float</"
"literal>, <literal>Integer</literal>, <literal>Long</literal> and "
"<literal>Short</literal> types."
msgstr ""
"Java でサポートされているすべての数値タイプにサポートがあります。 クライアン"
"ト側では数値は常に String 表現としてシリアライズされ、 サーバ側で適切な目的と"
"するタイプに変換されます。 プリミティブまたはラッパーいずれかのタイプへの変換"
"は、 <literal>Byte</literal>、 <literal>Double</literal>、 <literal>Float</"
"literal>、 <literal>Integer</literal>、 <literal>Long</literal>、 "
"<literal>Short</literal> の各タイプに対してサポートされます。"

#. Tag: title
#: Remoting.xml:335
#, no-c-format
msgid "Boolean"
msgstr "Boolean 型"

#. Tag: para
#: Remoting.xml:337
#, no-c-format
msgid ""
"Booleans are represented client side by Javascript Boolean values, and "
"server side by a Java boolean."
msgstr ""
"Boolean は、クライアントサイドでは Javascriptの Boolean 値で表現され、サーバ"
"サイドでは Java boolean で表現されます。"

#. Tag: title
#: Remoting.xml:343
#, no-c-format
msgid "JavaBeans"
msgstr "JavaBeans"

#. Tag: para
#: Remoting.xml:345
#, no-c-format
msgid ""
"In general these will be either Seam entity or JavaBean components, or some "
"other non-component class. Use the appropriate method (either <literal>Seam."
"Component.newInstance()</literal> for Seam components or <literal>Seam."
"Remoting.createType()</literal> for everything else) to create a new "
"instance of the object."
msgstr ""
"一般的に JavaBeans は Seam エンティティ、 JavaBean コンポーネント、 または "
"non-component クラスのいずれかになります。 オブジェクトの新しいインスタンスの"
"生成には適切なメソッドを使用してください (Seam コンポーネントには "
"<literal>Seam.Component.newInstance()</literal>、 これ以外は <literal>Seam."
"Remoting.createType()</literal>)。"

#. Tag: para
#: Remoting.xml:349
#, no-c-format
msgid ""
"It is important to note that only objects that are created by either of "
"these two methods should be used as parameter values, where the parameter is "
"not one of the other valid types mentioned anywhere else in this section. In "
"some situations you may have a component method where the exact parameter "
"type cannot be determined, such as:"
msgstr ""
"パラメータが、このセクションの別の場所で記述されたその他の有効なタイプの一つ"
"ではない場合、 これら二つのメソッドのどちらかによって生成されるオブジェクトだ"
"けがパラメータ値として使用されるべきであることに気づくことが重要です。 いくつ"
"かの状況では、 以下のように厳密にパラメータタイプを決定できないコンポーネント"
"メソッドがあるかもしれません。"

#. Tag: programlisting
#: Remoting.xml:354
#, no-c-format
msgid ""
"@Name(\"myAction\")\n"
"public class MyAction implements MyActionLocal {\n"
"  public void doSomethingWithObject(Object obj) {\n"
"    // code\n"
"  }\n"
"}"
msgstr ""
"@Name(\"myAction\")\n"
"public class MyAction implements MyActionLocal {\n"
"  public void doSomethingWithObject(Object obj) {\n"
"    // code\n"
"  }\n"
"}"

#. Tag: para
#: Remoting.xml:356
#, no-c-format
msgid ""
"In this case you might want to pass in an instance of your "
"<literal>myWidget</literal> component, however the interface for "
"<literal>myAction</literal> won't include <literal>myWidget</literal> as it "
"is not directly referenced by any of its methods. To get around this, "
"<literal>MyWidget</literal> needs to be explicitly imported:"
msgstr ""
"この場合、 <literal>myWidget</literal> コンポーネントのインスタンスを渡したい"
"ところですが、 <literal>myAction</literal> のインタフェースはそのいずれのメ"
"ソッドからも直接参照されないため <literal>myWidget</literal> を含みません。 "
"これを回避するには、 <literal>MyWidget</literal> を明示的にインポートする必要"
"があります。"

#. Tag: programlisting
#: Remoting.xml:361
#, no-c-format
msgid "<![CDATA[<s:remote include=\"myAction,myWidget\"/>]]>"
msgstr "<![CDATA[<s:remote include=\"myAction,myWidget\"/>]]>"

#. Tag: para
#: Remoting.xml:363
#, no-c-format
msgid ""
"This will then allow a <literal>myWidget</literal> object to be created with "
"<literal>Seam.Component.newInstance(\"myWidget\")</literal>, which can then "
"be passed to <literal>myAction.doSomethingWithObject()</literal>."
msgstr ""
"これにより <literal>myWidget</literal> オブジェクトが <literal>Seam."
"Component.newInstance(\"myWidget\")</literal> で作成されるようになり、 "
"<literal>myAction.doSomethingWithObject()</literal> に渡されます。"

#. Tag: title
#: Remoting.xml:370
#, no-c-format
msgid "Dates and Times"
msgstr "日付と時刻"

#. Tag: para
#: Remoting.xml:372
#, no-c-format
msgid ""
"Date values are serialized into a String representation that is accurate to "
"the millisecond. On the client side, use a Javascript Date object to work "
"with date values. On the server side, use any <literal>java.util.Date</"
"literal> (or descendent, such as <literal>java.sql.Date</literal> or "
"<literal>java.sql.Timestamp</literal> class."
msgstr ""
"日付の値は、 ミリ秒単位まで正確な String 表示にシリアライズされます。 クライ"
"アント側では Javascript Date オブジェクトを使って日付値と動作させます。 サー"
"バ側では <literal>java.util.Date</literal> を使用します (または "
"<literal>java.sql.Date</literal> や <literal>java.sql.Timestamp</literal> な"
"どの下位クラス)。"

#. Tag: title
#: Remoting.xml:379
#, no-c-format
msgid "Enums"
msgstr "Enum"

#. Tag: para
#: Remoting.xml:381
#, no-c-format
msgid ""
"On the client side, enums are treated the same as Strings. When setting the "
"value for an enum parameter, simply use the String representation of the "
"enum. Take the following component as an example:"
msgstr ""
"クライアント側では、 Enum は String と同様に扱われます。 Enum パラメータの値"
"を設定する場合は単純に enum の String 表現を使います。 次のコンポーネントを例"
"として参照してください。"

#. Tag: programlisting
#: Remoting.xml:384
#, no-c-format
msgid ""
"@Name(\"paintAction\")\n"
"public class paintAction implements paintLocal {\n"
"  public enum Color {red, green, blue, yellow, orange, purple};\n"
"\n"
"  public void paint(Color color) {\n"
"    // code\n"
"  }    \n"
"}"
msgstr ""
"@Name(\"paintAction\")\n"
"public class paintAction implements paintLocal {\n"
"  public enum Color {red, green, blue, yellow, orange, purple};\n"
"\n"
"  public void paint(Color color) {\n"
"    // code\n"
"  }    \n"
"}"

#. Tag: para
#: Remoting.xml:386
#, no-c-format
msgid ""
"To call the <literal>paint()</literal> method with the color <literal>red</"
"literal>, pass the parameter value as a String literal:"
msgstr ""
"<literal>paint()</literal> メソッドを <literal>red</literal> の色を使って呼び"
"出すには、 String のままでパラメータ値を渡します。"

#. Tag: programlisting
#: Remoting.xml:389
#, no-c-format
msgid "Seam.Component.getInstance(\"paintAction\").paint(\"red\");"
msgstr "Seam.Component.getInstance(\"paintAction\").paint(\"red\");"

#. Tag: para
#: Remoting.xml:391
#, no-c-format
msgid ""
"The inverse is also true - that is, if a component method returns an enum "
"parameter (or contains an enum field anywhere in the returned object graph) "
"then on the client-side it will be represented as a String."
msgstr ""
"逆もまた同じことが言えます。 つまり、 コンポーネントメソッドが enum パラメー"
"タを返す場合 (または返されるオブジェクトグラフのどこかに enum フィールドを含"
"む場合)、 クライアント側では String として表示されます。"

#. Tag: title
#: Remoting.xml:396
#, no-c-format
msgid "Collections"
msgstr "集合"

#. Tag: title
#: Remoting.xml:399
#, no-c-format
msgid "Bags"
msgstr "Bag"

#. Tag: para
#: Remoting.xml:401
#, no-c-format
msgid ""
"Bags cover all collection types including arrays, collections, lists, sets, "
"(but excluding Maps - see the next section for those), and are implemented "
"client-side as a Javascript array. When calling a component method that "
"accepts one of these types as a parameter, your parameter should be a "
"Javascript array. If a component method returns one of these types, then the "
"return value will also be a Javascript array. The remoting framework is "
"clever enough on the server side to convert the bag to an appropriate type "
"for the component method call."
msgstr ""
"Bag は配列、 コレクション、 リスト、 セットなどすべての集合タイプを対象とし "
"(ただし Map は除く、 これについては次のセクションを参照)、 Javascript 配列と"
"してクライアント側で実装されます。 パラメータとしてこれらのタイプのいずれかを"
"受け取るコンポーネントメソッドを呼び出す場合、 使用するパラメータは "
"Javascript アレイにします。 コンポーネントメソッドがこれらのタイプのいずれか"
"を返す場合は、 戻り値も Javascript 配列になります。 このリモーティングフレー"
"ムワークは、 サーバ側で bag をコンポーネントメソッドコールに対して適切なタイ"
"プに変換することが可能です。"

#. Tag: title
#: Remoting.xml:410
#, no-c-format
msgid "Maps"
msgstr "Map"

#. Tag: para
#: Remoting.xml:412
#, no-c-format
msgid ""
"As there is no native support for Maps within Javascript, a simple Map "
"implementation is provided with the Seam Remoting framework. To create a Map "
"which can be used as a parameter to a remote call, create a new "
"<literal>Seam.Remoting.Map</literal> object:"
msgstr ""
"Javascript 内では Map に対するネイティブのサポートはないため、 シンプルな "
"Map 実装が Seam Remoting フレームワークで提供されます。 リモートコールに対す"
"るパラメータとして使用できる Map を作成するには、 新たに <literal>Seam."
"Remoting.Map</literal> オブジェクトを作成します。"

#. Tag: programlisting
#: Remoting.xml:416
#, no-c-format
msgid "var map = new Seam.Remoting.Map();"
msgstr "var map = new Seam.Remoting.Map();"

#. Tag: para
#: Remoting.xml:418
#, no-c-format
msgid ""
"This Javascript implementation provides basic methods for working with Maps: "
"<literal>size()</literal>, <literal>isEmpty()</literal>, <literal>keySet()</"
"literal>, <literal>values()</literal>, <literal>get(key)</literal>, "
"<literal>put(key, value)</literal>, <literal>remove(key)</literal> and "
"<literal>contains(key)</literal>. Each of these methods are equivalent to "
"their Java counterpart. Where the method returns a collection, such as "
"<literal>keySet()</literal> and <literal>values()</literal>, a Javascript "
"Array object will be returned that contains the key or value objects "
"(respectively)."
msgstr ""
"この Javascript 実装では Map と動作することを目的とした基本的なメソッド、 "
"<literal>size()</literal>、 <literal>isEmpty()</literal>、 <literal>keySet()"
"</literal>、 <literal>values()</literal>、 <literal>get(key)</literal>、 "
"<literal>put(key, value)</literal>、 <literal>remove(key)</literal>、 "
"<literal>contains(key)</literal> を提供します。 それぞれのメソッドは Java の"
"それと同等になります。 メソッドが <literal>keySet()</literal> および "
"<literal>values()</literal> などの一集合を返すと、 そのキーまたは値オブジェク"
"トを含む Javascript Array オブジェクトが返されます。"

#. Tag: title
#: Remoting.xml:429
#, no-c-format
msgid "Debugging"
msgstr "デバッグ機能"

#. Tag: para
#: Remoting.xml:431
#, no-c-format
msgid ""
"To aid in tracking down bugs, it is possible to enable a debug mode which "
"will display the contents of all the packets send back and forth between the "
"client and server in a popup window. To enable debug mode, either execute "
"the <literal>setDebug()</literal> method in Javascript:"
msgstr ""
"バグの追跡を支援する目的で、 ポップアップウィンドウ内でクライアントとサーバ間"
"を行ったり来たりするすべてのパケットの内容を表示するデバッグモードを有効にす"
"ることができます。 デバッグモードを有効にするには、 次のいずれかを行います。 "
"Javascript 内で <literal>setDebug()</literal> メソッドを実行する方法は次の通"
"りです。"

#. Tag: programlisting
#: Remoting.xml:435
#, no-c-format
msgid "Seam.Remoting.setDebug(true);"
msgstr "Seam.Remoting.setDebug(true);"

#. Tag: para
#: Remoting.xml:437
#, no-c-format
msgid "Or configure it via components.xml:"
msgstr "components.xml を使って設定を行う方法は次のようになります。"

#. Tag: programlisting
#: Remoting.xml:439
#, no-c-format
msgid "<![CDATA[<remoting:remoting debug=\"true\"/>]]>"
msgstr "<![CDATA[<remoting:remoting debug=\"true\"/>]]>"

#. Tag: para
#: Remoting.xml:441
#, no-c-format
msgid ""
"To turn off debugging, call <literal>setDebug(false)</literal>. If you want "
"to write your own messages to the debug log, call <literal>Seam.Remoting.log"
"(message)</literal>."
msgstr ""
"デバッグ機能をオフにするには、 <literal>setDebug(false)</literal> を呼び出し"
"ます。 独自のメッセージをデバッグログに書き込みたい場合は、 <literal>Seam."
"Remoting.log(message)</literal> を呼び出します。"

#. Tag: title
#: Remoting.xml:446
#, no-c-format
msgid "Handling Exceptions"
msgstr ""

#. Tag: para
#: Remoting.xml:448
#, no-c-format
msgid ""
"When invoking a remote component method, it is possible to specify an "
"exception handler which will process the response in the event of an "
"exception during component invocation. To specify an exception handler "
"function, include a reference to it after the callback parameter in your "
"JavaScript:"
msgstr ""

#. Tag: programlisting
#: Remoting.xml:454
#, no-c-format
msgid ""
"<![CDATA[var callback = function(result) { alert(result); };\n"
"var exceptionHandler = function(ex) { alert(\"An exception occurred: \" + ex."
"getMessage()); };\n"
"Seam.Component.getInstance(\"helloAction\").sayHello(name, callback, "
"exceptionHandler);]]>"
msgstr ""

#. Tag: para
#: Remoting.xml:456
#, no-c-format
msgid ""
"If you do not have a callback handler defined, you must specify "
"<literal>null</literal> in its place:"
msgstr ""

#. Tag: programlisting
#: Remoting.xml:460
#, no-c-format
msgid ""
"<![CDATA[var exceptionHandler = function(ex) { alert(\"An exception "
"occurred: \" + ex.getMessage()); };\n"
"Seam.Component.getInstance(\"helloAction\").sayHello(name, null, "
"exceptionHandler);]]>"
msgstr ""

#. Tag: para
#: Remoting.xml:462
#, no-c-format
msgid ""
"The exception object that is passed to the exception handler exposes one "
"method, <literal>getMessage()</literal> that returns the exception message "
"which is produced by the exception thrown by the <literal>@WebRemote</"
"literal> method."
msgstr ""

#. Tag: title
#: Remoting.xml:471
#, no-c-format
msgid "The Loading Message"
msgstr "メッセージをロードする"

#. Tag: para
#: Remoting.xml:473
#, no-c-format
msgid ""
"The default loading message that appears in the top right corner of the "
"screen can be modified, its rendering customised or even turned off "
"completely."
msgstr ""
"画面の上部右端にデフォルトで表示されるローディングメッセージは、 変更、 レン"
"ダリングのカスタマイズ、 完全にオフにするなどが可能です。"

#. Tag: title
#: Remoting.xml:477
#, no-c-format
msgid "Changing the message"
msgstr "メッセージを変更する"

#. Tag: para
#: Remoting.xml:479
#, no-c-format
msgid ""
"To change the message from the default \"Please Wait...\" to something "
"different, set the value of <literal>Seam.Remoting.loadingMessage</literal>:"
msgstr ""
"デフォルトの \"Please Wait...\" というメッセージを別のメッセージに変更するに"
"は、 <literal>Seam.Remoting.loadingMessage</literal> の値を設定します。"

#. Tag: programlisting
#: Remoting.xml:482
#, no-c-format
msgid "Seam.Remoting.loadingMessage = \"Loading...\";"
msgstr "Seam.Remoting.loadingMessage = \"Loading...\";"

#. Tag: title
#: Remoting.xml:486
#, no-c-format
msgid "Hiding the loading message"
msgstr "ローディングメッセージを隠す"

#. Tag: para
#: Remoting.xml:488
#, no-c-format
msgid ""
"To completely suppress the display of the loading message, override the "
"implementation of <literal>displayLoadingMessage()</literal> and "
"<literal>hideLoadingMessage()</literal> with functions that instead do "
"nothing:"
msgstr ""
"ローディングメッセージを完全に表示させないようにするには、 "
"<literal>displayLoadingMessage()</literal> および <literal>hideLoadingMessage"
"()</literal> を何も行わない機能で上書きします。"

#. Tag: programlisting
#: Remoting.xml:492
#, no-c-format
msgid ""
"// don't display the loading indicator\n"
"Seam.Remoting.displayLoadingMessage = function() {};\n"
"Seam.Remoting.hideLoadingMessage = function() {};"
msgstr ""
"// don't display the loading indicator\n"
"Seam.Remoting.displayLoadingMessage = function() {};\n"
"Seam.Remoting.hideLoadingMessage = function() {};"

#. Tag: title
#: Remoting.xml:496
#, no-c-format
msgid "A Custom Loading Indicator"
msgstr "カスタムのローディングインジケータ"

#. Tag: para
#: Remoting.xml:498
#, no-c-format
msgid ""
"It is also possible to override the loading indicator to display an animated "
"icon, or anything else that you want. To do this override the "
"<literal>displayLoadingMessage()</literal> and <literal>hideLoadingMessage()"
"</literal> messages with your own implementation:"
msgstr ""
"ローディングインジケータを上書きしてアニメのアイコンの他、 好きなものを表示さ"
"せることができます。 <literal>displayLoadingMessage()</literal> と "
"<literal>hideLoadingMessage()</literal> の各メッセージを独自の実装で上書きし"
"てこれを行います。"

#. Tag: programlisting
#: Remoting.xml:502
#, no-c-format
msgid ""
"Seam.Remoting.displayLoadingMessage = function() {\n"
"    // Write code here to display the indicator\n"
"  };\n"
"  \n"
"  Seam.Remoting.hideLoadingMessage = function() {\n"
"    // Write code here to hide the indicator\n"
"  };"
msgstr ""
"Seam.Remoting.displayLoadingMessage = function() {\n"
"    // Write code here to display the indicator\n"
"  };\n"
"  \n"
"  Seam.Remoting.hideLoadingMessage = function() {\n"
"    // Write code here to hide the indicator\n"
"  };"

#. Tag: title
#: Remoting.xml:507
#, no-c-format
msgid "Controlling what data is returned"
msgstr "戻り値の制御"

#. Tag: para
#: Remoting.xml:509
#, no-c-format
msgid ""
"When a remote method is executed, the result is serialized into an XML "
"response that is returned to the client. This response is then unmarshaled "
"by the client into a Javascript object. For complex types (i.e. Javabeans) "
"that include references to other objects, all of these referenced objects "
"are also serialized as part of the response. These objects may reference "
"other objects, which may reference other objects, and so forth. If left "
"unchecked, this object \"graph\" could potentially be enormous, depending on "
"what relationships exist between your objects. And as a side issue (besides "
"the potential verbosity of the response), you might also wish to prevent "
"sensitive information from being exposed to the client."
msgstr ""
"リモートメソッドが実行されると、 その結果はクライアントに返される XML レスポ"
"ンスにシリアライズされます。 この応答は次にクライアントにより Javascript オブ"
"ジェクトにアンマーシャルされます。 他のオブジェクトへの参照を含む複雑なタイプ"
"の場合 (Javabeans など)、 こうした参照されるオブジェクトもすべて応答の一部と"
"してシリアライズされます。 これらのオブジェクトは他のオブジェクトを参照するこ"
"とができ、 またこの他のオブジェクトはその他のオブジェクトを参照できるといった"
"具合になります。 チェックしないままにしておくと、 このオブジェクト「グラフ」"
"はオブジェクト間で存在する関係によっては非常に膨大なものになる可能性がありま"
"す。 派生的な問題として (応答が冗長となる問題とは別)、 クライアントに対して機"
"密情報が公開されてしまうのを防ぎたい場合もあるかもしれません。"

#. Tag: para
#: Remoting.xml:517
#, no-c-format
msgid ""
"Seam Remoting provides a simple means to \"constrain\" the object graph, by "
"specifying the <literal>exclude</literal> field of the remote method's "
"<literal>@WebRemote</literal> annotation. This field accepts a String array "
"containing one or more paths specified using dot notation. When invoking a "
"remote method, the objects in the result's object graph that match these "
"paths are excluded from the serialized result packet."
msgstr ""
"Seam Remoting は、 リモートメソッドの <literal>@WebRemote</literal> アノテー"
"ションの <literal>exclude</literal> フィールドを指定することでそのオブジェク"
"トグラフを「制約する」シンプルな方法を提供しています。 このフィールドはドッ"
"ト (「.」) 表記を使って指定されるパスまたは複数のパスを含む String 配列を受け"
"取ります。 リモートメソッドを呼び出すと、 これらのパスと一致する結果となるオ"
"ブジェクトグラフ内のオブジェクトがシリアライズされる結果パケットから除外され"
"ます。"

#. Tag: para
#: Remoting.xml:522
#, no-c-format
msgid ""
"For all our examples, we'll use the following <literal>Widget</literal> "
"class:"
msgstr "すべての例で次の <literal>Widget</literal> クラスを使用します。"

#. Tag: programlisting
#: Remoting.xml:524
#, no-c-format
msgid ""
"@Name(\"widget\")\n"
"public class Widget\n"
"{\n"
"  private String value;\n"
"  private String secret;\n"
"  private Widget child;\n"
"  private Map&lt;String,Widget&gt; widgetMap;\n"
"  private List&lt;Widget&gt; widgetList;\n"
"  \n"
"  // getters and setters for all fields\n"
"}"
msgstr ""
"@Name(\"widget\")\n"
"public class Widget\n"
"{\n"
"  private String value;\n"
"  private String secret;\n"
"  private Widget child;\n"
"  private Map&lt;String,Widget&gt; widgetMap;\n"
"  private List&lt;Widget&gt; widgetList;\n"
"  \n"
"  // getters and setters for all fields\n"
"}"

#. Tag: title
#: Remoting.xml:527
#, no-c-format
msgid "Constraining normal fields"
msgstr "フィールドの制約"

#. Tag: para
#: Remoting.xml:529
#, no-c-format
msgid ""
"If your remote method returns an instance of <literal>Widget</literal>, but "
"you don't want to expose the <literal>secret</literal> field because it "
"contains sensitive information, you would constrain it like this:"
msgstr ""
"リモートメソッドが <literal>Widget</literal> のインスタンスを返すけれど "
"<literal>secret</literal> フィールドには機密情報が含まれているため公開したく"
"ない場合、 次のように制約します。"

#. Tag: programlisting
#: Remoting.xml:532
#, no-c-format
msgid ""
"@WebRemote(exclude = {\"secret\"})\n"
"public Widget getWidget();"
msgstr ""
"@WebRemote(exclude = {\"secret\"})\n"
"public Widget getWidget();"

#. Tag: para
#: Remoting.xml:534
#, no-c-format
msgid ""
"The value \"secret\" refers to the <literal>secret</literal> field of the "
"returned object. Now, suppose that we don't care about exposing this "
"particular field to the client. Instead, notice that the <literal>Widget</"
"literal> value that is returned has a field <literal>child</literal> that is "
"also a <literal>Widget</literal>. What if we want to hide the "
"<literal>child</literal>'s <literal>secret</literal> value instead? We can "
"do this by using dot notation to specify this field's path within the "
"result's object graph:"
msgstr ""
"「secret」の値は返されるオブジェクトの <literal>secret</literal> フィールドを"
"参照します。 ここで、 クライアントに対してこの特定フィールドが公開されても構"
"わないと仮定します。 返される <literal>Widget</literal> 値には "
"<literal>child</literal> フィールドがあり、 これも <literal>Widget</literal> "
"になります。 代わりに <literal>child</literal> の <literal>secret</literal> "
"値を隠したい場合はどうしたらよいでしょうか。 ドット表記を使用して結果となるオ"
"ブジェクトグラフ内のこのフィールドのパスを指定することができます。"

#. Tag: programlisting
#: Remoting.xml:541
#, no-c-format
msgid ""
"@WebRemote(exclude = {\"child.secret\"})\n"
"public Widget getWidget();"
msgstr ""
"@WebRemote(exclude = {\"child.secret\"})\n"
"public Widget getWidget();"

#. Tag: title
#: Remoting.xml:546
#, no-c-format
msgid "Constraining Maps and Collections"
msgstr "Map とコレクションの制約"

#. Tag: para
#: Remoting.xml:548
#, no-c-format
msgid ""
"The other place that objects can exist within an object graph are within a "
"<literal>Map</literal> or some kind of collection (<literal>List</literal>, "
"<literal>Set</literal>, <literal>Array</literal>, etc). Collections are "
"easy, and are treated like any other field. For example, if our "
"<literal>Widget</literal> contained a list of other <literal>Widget</"
"literal>s in its <literal>widgetList</literal> field, to constrain the "
"<literal>secret</literal> field of the <literal>Widget</literal>s in this "
"list the annotation would look like this:"
msgstr ""
"オブジェクトグラフ内にオブジェクトが存在できるその他の場所は <literal>Map</"
"literal>、 あるいはなんらかの集合の種類内になります (<literal>List</"
"literal>、 <literal>Set</literal>、 <literal>Array</literal> など)。 集合は簡"
"単で、 その他のフィールドと同様に扱えます。 たとえば、 <literal>Widget</"
"literal> の <literal>widgetList</literal> フィールド内に他の "
"<literal>Widget</literal> 一覧が含まれていて、 この一覧の <literal>Widget</"
"literal> の <literal>secret</literal> フィールドを制約している場合、 アノテー"
"ションは次のようになります。"

#. Tag: programlisting
#: Remoting.xml:555
#, no-c-format
msgid ""
"@WebRemote(exclude = {\"widgetList.secret\"})\n"
"public Widget getWidget();"
msgstr ""
"@WebRemote(exclude = {\"widgetList.secret\"})\n"
"public Widget getWidget();"

#. Tag: para
#: Remoting.xml:557
#, no-c-format
msgid ""
"To constrain a <literal>Map</literal>'s key or value, the notation is "
"slightly different. Appending <literal>[key]</literal> after the "
"<literal>Map</literal>'s field name will constrain the <literal>Map</"
"literal>'s key object values, while <literal>[value]</literal> will "
"constrain the value object values. The following example demonstrates how "
"the values of the <literal>widgetMap</literal> field have their "
"<literal>secret</literal> field constrained:"
msgstr ""
"<literal>Map</literal> のキーまたは値を制約する場合の表記は少し異なります。 "
"<literal>Map</literal> のフィールド名の後ろに <literal>[key]</literal> を付け"
"加えると <literal>Map</literal> のキーオブジェクト値を制約し、 <literal>"
"[value]</literal> は値オブジェクトの値を制約します。 次の例では "
"<literal>widgetMap</literal> フィールドの値に制約された <literal>secret</"
"literal> フィールドを持たせる方法を示しています。"

#. Tag: programlisting
#: Remoting.xml:563
#, no-c-format
msgid ""
"@WebRemote(exclude = {\"widgetMap[value].secret\"})\n"
"public Widget getWidget();"
msgstr ""
"@WebRemote(exclude = {\"widgetMap[value].secret\"})\n"
"public Widget getWidget();"

#. Tag: title
#: Remoting.xml:567
#, no-c-format
msgid "Constraining objects of a specific type"
msgstr "特定タイプのオブジェクトを制約する"

#. Tag: para
#: Remoting.xml:569
#, no-c-format
msgid ""
"There is one last notation that can be used to constrain the fields of a "
"type of object no matter where in the result's object graph it appears. This "
"notation uses either the name of the component (if the object is a Seam "
"component) or the fully qualified class name (only if the object is not a "
"Seam component) and is expressed using square brackets:"
msgstr ""
"最後に、結果となるオブジェクトグラフ内のどこに出現するかに関係なくオブジェク"
"トタイプのフィールド制約に使用できる表記について説明します。 この表記はコン"
"ポーネント名 (オブジェクトが Seam コンポーネントである場合) または完全修飾ク"
"ラス名 (オブジェクトが Seam コンポーネントではない場合のみ) のいずれかを使用"
"し角括弧を使って表現されます。"

#. Tag: programlisting
#: Remoting.xml:574
#, no-c-format
msgid ""
"@WebRemote(exclude = {\"[widget].secret\"})\n"
"public Widget getWidget();"
msgstr ""
"@WebRemote(exclude = {\"[widget].secret\"})\n"
"public Widget getWidget();"

#. Tag: title
#: Remoting.xml:579
#, no-c-format
msgid "Combining Constraints"
msgstr "制約同士を組み合わせる"

#. Tag: para
#: Remoting.xml:581
#, no-c-format
msgid ""
"Constraints can also be combined, to filter objects from multiple paths "
"within the object graph:"
msgstr ""
"制約同士はオブジェクトグラフ内で複数のパスからオブジェクトをフィルタするため"
"に組み合わせることもできます。"

#. Tag: programlisting
#: Remoting.xml:583
#, no-c-format
msgid ""
"@WebRemote(exclude = {\"widgetList.secret\", \"widgetMap[value].secret\"})\n"
"public Widget getWidget();"
msgstr ""
"@WebRemote(exclude = {\"widgetList.secret\", \"widgetMap[value].secret\"})\n"
"public Widget getWidget();"

#. Tag: title
#: Remoting.xml:589
#, fuzzy, no-c-format
msgid "Transactional Requests"
msgstr "バッチ要求"

#. Tag: para
#: Remoting.xml:591
#, no-c-format
msgid ""
"By default there is no active transaction during a remoting request, so if "
"you wish to perform database updates during a remoting request, you need to "
"annotate the <literal>@WebRemote</literal> method with "
"<literal>@Transactional</literal>, like so:"
msgstr ""

#. Tag: programlisting
#: Remoting.xml:597
#, no-c-format
msgid ""
"<![CDATA[  @WebRemote @Transactional(TransactionPropagationType.REQUIRED)\n"
"  public void updateOrder(Order order) {\n"
"    entityManager.merge(order);\n"
"  }]]>"
msgstr ""

#. Tag: title
#: Remoting.xml:601
#, no-c-format
msgid "JMS Messaging"
msgstr "JMS メッセージング"

#. Tag: para
#: Remoting.xml:603
#, no-c-format
msgid ""
"Seam Remoting provides experimental support for JMS Messaging. This section "
"describes the JMS support that is currently implemented, but please note "
"that this may change in the future. It is currently not recommended that "
"this feature is used within a production environment."
msgstr ""
"Seam Remoting は JMS メッセージングに対して実験的にサポートを提供していま"
"す。 本セクションでは現在実装されている JMS サポートについて記載しています"
"が、 今後、 変更される可能性があるので注意してください。 現在、 この機能を実"
"稼働環境下で使用することは推奨されていません。"

#. Tag: para
#: Remoting.xml:610
#, no-c-format
msgid ""
"Before you can subscribe to a JMS topic, you must first configure a list of "
"the topics that can be subscribed to by Seam Remoting. List the topics under "
"<literal>org.jboss.seam.remoting.messaging.subscriptionRegistry."
"allowedTopics</literal> in <literal>seam.properties</literal>, <literal>web."
"xml</literal> or <literal>components.xml</literal>."
msgstr ""
"JMS トピックをサブスクライブする前に、 まず Seam Remoting でサブスクライブさ"
"せることができるトピック一覧を設定する必要があります。 <literal>seam."
"properties</literal>、 <literal>web.xml</literal> または <literal>components."
"xml</literal> の <literal>org.jboss.seam.remoting.messaging."
"subscriptionRegistry.allowedTopics</literal> 配下にあるトピックを一覧表示させ"
"ます。"

#. Tag: programlisting
#: Remoting.xml:615 Remoting.xml:670
#, no-c-format
msgid "<![CDATA[<remoting:remoting poll-timeout=\"5\" poll-interval=\"1\"/>]]>"
msgstr ""
"<![CDATA[<remoting:remoting poll-timeout=\"5\" poll-interval=\"1\"/>]]>"

#. Tag: title
#: Remoting.xml:620
#, no-c-format
msgid "Subscribing to a JMS Topic"
msgstr "JMS Topic のサブスクライブ"

#. Tag: para
#: Remoting.xml:622
#, no-c-format
msgid "The following example demonstrates how to subscribe to a JMS Topic:"
msgstr "次の例では JMS Topic へのサブスクライブ方法を示しています。"

#. Tag: programlisting
#: Remoting.xml:624
#, no-c-format
msgid ""
"function subscriptionCallback(message)\n"
"{\n"
"  if (message instanceof Seam.Remoting.TextMessage)\n"
"    alert(\"Received message: \" + message.getText());\n"
"}           \n"
"\n"
"Seam.Remoting.subscribe(\"topicName\", subscriptionCallback);"
msgstr ""
"function subscriptionCallback(message)\n"
"{\n"
"  if (message instanceof Seam.Remoting.TextMessage)\n"
"    alert(\"Received message: \" + message.getText());\n"
"}           \n"
"\n"
"Seam.Remoting.subscribe(\"topicName\", subscriptionCallback);"

#. Tag: para
#: Remoting.xml:626
#, no-c-format
msgid ""
"The <literal>Seam.Remoting.subscribe()</literal> method accepts two "
"parameters, the first being the name of the JMS Topic to subscribe to, the "
"second being the callback function to invoke when a message is received."
msgstr ""
"<literal>Seam.Remoting.subscribe()</literal> メソッドは二つのパラメータを受け"
"取ります。 一つ目はサブスクライブする JMS Topic 名になり、 二つ目はメッセージ"
"が受け取られると呼び出すコールバック機能になります。"

#. Tag: para
#: Remoting.xml:629
#, no-c-format
msgid ""
"There are two types of messages supported, Text messages and Object "
"messages. If you need to test for the type of message that is passed to your "
"callback function you can use the <literal>instanceof</literal> operator to "
"test whether the message is a <literal>Seam.Remoting.TextMessage</literal> "
"or <literal>Seam.Remoting.ObjectMessage</literal>. A <literal>TextMessage</"
"literal> contains the text value in its <literal>text</literal> field (or "
"alternatively call <literal>getText()</literal> on it), while an "
"<literal>ObjectMessage</literal> contains its object value in its "
"<literal>value</literal> field (or call its <literal>getValue()</literal> "
"method)."
msgstr ""
"サポートされているメッセージは二種類で、 テキストメッセージとオブジェクトメッ"
"セージです。 コールバック機能に渡されるメッセージタイプのテストを必要とする場"
"合は、 <literal>instanceof</literal> 演算子を使ってメッセージが "
"<literal>Seam.Remoting.TextMessage</literal> なのか <literal>Seam.Remoting."
"ObjectMessage</literal> であるのかをテストすることができます。 "
"<literal>TextMessage</literal> はその <literal>text</literal> フィールドにテ"
"キスト値を含み (または代わりに <literal>getText()</literal> を呼び出す)、 "
"<literal>ObjectMessage</literal> はその <literal>value</literal>  フィールド"
"にオブジェクト値を含みます (またはその <literal>getValue()</literal> メソッド"
"を呼び出す)。"

#. Tag: title
#: Remoting.xml:639
#, no-c-format
msgid "Unsubscribing from a Topic"
msgstr "トピックのサブスクライブを中止する"

#. Tag: para
#: Remoting.xml:641
#, no-c-format
msgid ""
"To unsubscribe from a topic, call <literal>Seam.Remoting.unsubscribe()</"
"literal> and pass in the topic name:"
msgstr ""
"トピックのサブスクライブを中止するには、 <literal>Seam.Remoting.unsubscribe()"
"</literal> を呼び出してトピック名で渡します。"

#. Tag: programlisting
#: Remoting.xml:644
#, no-c-format
msgid "Seam.Remoting.unsubscribe(\"topicName\");"
msgstr "Seam.Remoting.unsubscribe(\"topicName\");"

#. Tag: title
#: Remoting.xml:648
#, no-c-format
msgid "Tuning the Polling Process"
msgstr "ポーリングのプロセスの調整"

# <literal>Seam.Remoting.pollInterval</literal>: en.xml:759 (para)
#. Tag: para
#: Remoting.xml:650
#, no-c-format
msgid ""
"There are two parameters which you can modify to control how polling occurs. "
"The first one is <literal>Seam.Remoting.pollInterval</literal>, which "
"controls how long to wait between subsequent polls for new messages. This "
"parameter is expressed in seconds, and its default setting is 10."
msgstr ""
"ポーリングの発生方法を制御するために変更できるパラメータが二つあります。 一つ"
"目は <literal>Seam.Remoting.pollInterval</literal> で、 新しいメッセージに対"
"して後続ポールが発生する間隔を制御します。 秒単位で表現します、 デフォルト設"
"定は 10 になります。"

#. Tag: para
#: Remoting.xml:654
#, no-c-format
msgid ""
"The second parameter is <literal>Seam.Remoting.pollTimeout</literal>, and is "
"also expressed as seconds. It controls how long a request to the server "
"should wait for a new message before timing out and sending an empty "
"response. Its default is 0 seconds, which means that when the server is "
"polled, if there are no messages ready for delivery then an empty response "
"will be immediately returned."
msgstr ""
"二つ目のパラメータは <literal>Seam.Remoting.pollTimeout</literal> で、 このパ"
"ラメータも秒単位で表現されます。 サーバへの要求がタイムアウトして空白の応答を"
"送信するまでの新しいメッセージを待機する長さを制御します。 デフォルトは 0秒"
"で、 サーバがポールされると配信できるメッセージがない場合は空白の応答が直ちに"
"返されます。"

#. Tag: para
#: Remoting.xml:659
#, no-c-format
msgid ""
"Caution should be used when setting a high <literal>pollTimeout</literal> "
"value; each request that has to wait for a message means that a server "
"thread is tied up until a message is received, or until the request times "
"out. If many such requests are being served simultaneously, it could mean a "
"large number of threads become tied up because of this reason."
msgstr ""
"<literal>pollTimeout</literal> 値を高く設定する場合は注意が必要です。 各リク"
"エストがメッセージを待機する必要があるということは、 メッセージが受信されるま"
"でまたはその要求がタイムアウトするまでサーバスレッドが固定されるということに"
"なります。 こうした要求が同時に多数発生すると、 大量のスレッドが固定される結"
"果になります。"

#. Tag: para
#: Remoting.xml:664
#, no-c-format
msgid ""
"It is recommended that you set these options via components.xml, however "
"they can be overridden via Javascript if desired. The following example "
"demonstrates how to configure the polling to occur much more aggressively. "
"You should set these parameters to suitable values for your application:"
msgstr ""
"これらのオプションは components.xml 経由で設定することを推奨しますが、 必要に"
"応じて Javascript で上書きすることができます。 次の例ではポーリングがかなりア"
"グレッシブに発生するよう設定する方法を示しています。 これらのパラメータはご使"
"用のアプリケーションに適切な値を設定してください。"

#. Tag: para
#: Remoting.xml:668
#, no-c-format
msgid "Via components.xml:"
msgstr "components.xml:"

#. Tag: para
#: Remoting.xml:672
#, no-c-format
msgid "Via JavaScript:"
msgstr "JavaScript:"

#. Tag: programlisting
#: Remoting.xml:674
#, no-c-format
msgid ""
"// Only wait 1 second between receiving a poll response and sending the next "
"poll request.\n"
"Seam.Remoting.pollInterval = 1;\n"
"  \n"
"// Wait up to 5 seconds on the server for new messages\n"
"Seam.Remoting.pollTimeout = 5;"
msgstr ""
"// Only wait 1 second between receiving a poll response and sending the next "
"poll request.\n"
"Seam.Remoting.pollInterval = 1;\n"
"  \n"
"// Wait up to 5 seconds on the server for new messages\n"
"Seam.Remoting.pollTimeout = 5;"

#~ msgid "Evaluating EL Expressions"
#~ msgstr "EL 式を評価する"

#~ msgid ""
#~ "Seam Remoting also supports the evaluation of EL expressions, which "
#~ "provides another convenient method for retrieving data from the server. "
#~ "Using the <literal>Seam.Remoting.eval()</literal> function, an EL "
#~ "expression can be remotely evaluated on the server and the resulting "
#~ "value returned to a client-side callback method. This function accepts "
#~ "two parameters, the first being the EL expression to evaluate, and the "
#~ "second being the callback method to invoke with the value of the "
#~ "expression. Here's an example:"
#~ msgstr ""
#~ "Seam Remoting は EL 式の評価にも対応します。 サーバからのデータ取得にもう"
#~ "ひとつ便利なメソッドを提供します。 <literal>Seam.Remoting.eval()</"
#~ "literal> 関数を使用して、 EL 式をサーバ上で遠隔に評価してその結果値をクラ"
#~ "イアント側のコールバックメソッドに返すことができます。 この関数は二つのパ"
#~ "ラメータを受け取ります。 一番目のパラメータは 評価対象となる EL 式とな"
#~ "り、 二番目のパラメータはその式の値を付けて呼び出すコールバックメソッドに"
#~ "なります。 次に例を示します。"

#~ msgid ""
#~ "<![CDATA[  function customersCallback(customers) {\n"
#~ "    for (var i = 0; i < customers.length; i++) {\n"
#~ "      alert(\"Got customer: \" + customers[i].getName());\n"
#~ "    }    \n"
#~ "  }\n"
#~ "    \n"
#~ "  Seam.Remoting.eval(\"#{customers}\", customersCallback);  \n"
#~ "    ]]>"
#~ msgstr ""
#~ "<![CDATA[  function customersCallback(customers) {\n"
#~ "    for (var i = 0; i < customers.length; i++) {\n"
#~ "      alert(\"Got customer: \" + customers[i].getName());\n"
#~ "    }    \n"
#~ "  }\n"
#~ "    \n"
#~ "  Seam.Remoting.eval(\"#{customers}\", customersCallback);  \n"
#~ "    ]]>"

#~ msgid ""
#~ "In this example, the expression <literal>#{customers}</literal> is "
#~ "evaluated by Seam, and the value of the expression (in this case a list "
#~ "of Customer objects) is returned to the <literal>customersCallback()</"
#~ "literal> method. It is important to remember that the objects returned "
#~ "this way must have their types imported (via <literal>s:remote</literal>) "
#~ "to be able to work with them in Javascript. So to work with a list of "
#~ "<literal>customer</literal> objects, it is required to import the "
#~ "<literal>customer</literal> type:"
#~ msgstr ""
#~ "この例では、 <literal>#{customers}</literal> の式が Seam によって評価さ"
#~ "れ、 その式の値 (この場合 Customer オブジェクトの一覧) が"
#~ "<literal>customersCallback()</literal> メソッドに返されます。 このようにし"
#~ "て返されるオブジェクトは Javascript で動作できるようそれ自体のタイプがイン"
#~ "ポートされていなければなりません (<literal>s:remote</literal>)。 したがっ"
#~ "て、 <literal>customer</literal> オブジェクトの一覧と動作させるには、 "
#~ "<literal>customer</literal> タイプをインポートする必要があります。"

#~ msgid "<![CDATA[<s:remote include=\"customer\"/>]]>"
#~ msgstr "<![CDATA[<s:remote include=\"customer\"/>]]>"
