[jboss-cvs] JBossAS SVN: r78175 - projects/docs/enterprise/4.3/Cache/Cache_Pojo_Cache_Guide/ja-JP.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Sep 8 05:15:31 EDT 2008


Author: noriko
Date: 2008-09-08 05:15:31 -0400 (Mon, 08 Sep 2008)
New Revision: 78175

Modified:
   projects/docs/enterprise/4.3/Cache/Cache_Pojo_Cache_Guide/ja-JP/Architecture.po
   projects/docs/enterprise/4.3/Cache/Cache_Pojo_Cache_Guide/ja-JP/Jbossaop.po
Log:
translating...

Modified: projects/docs/enterprise/4.3/Cache/Cache_Pojo_Cache_Guide/ja-JP/Architecture.po
===================================================================
--- projects/docs/enterprise/4.3/Cache/Cache_Pojo_Cache_Guide/ja-JP/Architecture.po	2008-09-08 08:00:47 UTC (rev 78174)
+++ projects/docs/enterprise/4.3/Cache/Cache_Pojo_Cache_Guide/ja-JP/Architecture.po	2008-09-08 09:15:31 UTC (rev 78175)
@@ -1,36 +1,39 @@
+# translation of Architecture.po to Japanese
 # Language /tmp/mike/JBEAP420/Cache translations for JBEAP package.
-# Copyright (C) 2007 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+#
 # Automatically generated, 2007.
-#
+# Noriko Mizumoto <noriko at redhat.com>, 2008.
 msgid ""
 msgstr ""
-"Project-Id-Version: JBEAP 420\n"
+"Project-Id-Version: Architecture\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
 "POT-Creation-Date: 2008-05-30 04:01+0000\n"
-"PO-Revision-Date: 2001-02-09 01:25+0100\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2008-09-08 19:15+1000\n"
+"Last-Translator: Noriko Mizumoto <noriko at redhat.com>\n"
+"Language-Team: Japanese <fedora-trans-ja at 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
 #: Architecture.xml:10
 #, no-c-format
 msgid "Architecture"
-msgstr ""
+msgstr "アーキテクチャ"
 
 #. Tag: para
 #: Architecture.xml:11
 #, no-c-format
 msgid "Following explains the concepts and top-level design of PojoCache."
-msgstr ""
+msgstr "ここからは PojoCache のコンセプトとトップレベルのデザインについて説明していきます。"
 
 #. Tag: title
 #: Architecture.xml:14
 #, no-c-format
 msgid "Dynamic AOP interception"
-msgstr ""
+msgstr "動的な AOP インターセプト"
 
 #. Tag: para
 #: Architecture.xml:15
@@ -48,7 +51,7 @@
 "<literal>InstanceAdvisor</literal> object. Afterward, any POJO field "
 "modification will invoke the corresponding <literal>CacheInterceptor</"
 "literal> instance. Below is a schematic illustration of this process."
-msgstr ""
+msgstr "JBossAop ではランタイムにインターセプタを追加できる API (<literal>appendInterceptor</literal>) を提供しています。 PojoCache はこの機能を広範囲に使用してユーザー透過性を実現します。 「アスペクト化された」POJO クラスにはすべて関連づけられた <literal>org.jboss.aop.InstanceAdvisor</literal> インスタンスがあります。 <literal>putObject(FQN fqn, Object pojo)</literal> の動作中 (以下に記載される API)、 PojoCache はすでに <literal>org.jboss.cache.aop.CacheInterceptor</literal> が添付されたものがあるかどうかを確認します。 (<literal>CacheInterceptor</literal> はキャッシュの内容を動的に管理する PojoCache の入口になります。) ない場合、 <literal>InstanceAdvisor</literal> オブジェクトに追加されます。 以後、 POJO フィールドの変更により該当する <literal>CacheInterceptor</literal> インã‚!
 ¹ã‚¿ãƒ³ã‚¹ãŒå‘¼ã³å‡ºã•ã‚Œã¾ã™ã€‚ 以下にこのプロセスの図式を示します。"
 
 #. Tag: para
 #: Architecture.xml:18
@@ -58,7 +61,7 @@
 "level read write. From the perspective of PojoCache, field level "
 "interception is the appropriate mechanism to synchronize with the backend "
 "cache store. Please note that,"
-msgstr ""
+msgstr "JBossAop にはメソッドレベルの呼び出しとフィールドレベルの読み取り書き込みの両方をインターセプトする機能があります。 PojoCache の観点からは、 フィールドレベルのインターセプトがバックエンドのキャッシュストアとの同期に適するメカニズムとなります。 次の点に注意してください。"
 
 #. Tag: para
 #: Architecture.xml:21
@@ -67,7 +70,7 @@
 "the filed level interception applies to all access qualifiers. That is, "
 "regardless whether it is <literal>public</literal>, <literal>protected</"
 "literal>, or <literal>private</literal>"
-msgstr ""
+msgstr "フィールドレベルのインターセプトはすべてのアクセス修飾子に適用されます。 つまり、 <literal>public</literal>、 <literal>protected</literal>、 <literal>private</literal> に関係なく適用されるということになります。"
 
 #. Tag: para
 #: Architecture.xml:24
@@ -77,7 +80,7 @@
 "<literal>static</literal>, and <literal>transient</literal> qualifiers. As a "
 "result, any field with these 3 qualifiers will not be replicated or "
 "persisted."
-msgstr ""
+msgstr "<literal>final</literal>、 <literal>static</literal>、 および <literal>transient</literal> の修飾子がついたフィールドに対してはインターセプトを省略します。 結果、 これらの 3 種類の修飾子が付くフィールドはすべて複製されないまたは永続化されません。"
 
 #. Tag: para
 #: Architecture.xml:28
@@ -93,24 +96,26 @@
 "because the value in cache and memory should have been synchronized during "
 "write operation. As a result, the field value from the cache is returned."
 msgstr ""
+"以下の図ではフィールドの読み取りと書き込みの実行動作について示しています。 POJO がキャッシュで管理されると (つまり、 <literal>putObject</literal> メソッドが呼び出された後)、 Aop はフィールドの読み取りまたは書き込みがある度に自動的に <literal>CacheInterceptor</"
+"literal> を呼び出します。 ただし、 次の違いについて理解しておく必要があります。 フィールドの書き込み動作はまずキャッシュに行ってからメモリ内の更新を呼び出しますが、 フィールドの読み取り呼び出しはメモリ内参照とはまったく関係ありません。 キャッシュとメモリ内の値は書き込み動作中に同期されているためです。 結果、 キャッシュからのフィールド値が返されます。"
 
 #. Tag: title
 #: Architecture.xml:32
 #, no-c-format
 msgid "Dynamic AOP interception for field write"
-msgstr ""
+msgstr "フィールド書き込みの動的 AOP インターセプタ"
 
 #. Tag: title
 #: Architecture.xml:40
 #, no-c-format
 msgid "Dynamic AOP Interception for field read"
-msgstr ""
+msgstr "フィールド読み取りの動的 AOP インターセプタ"
 
 #. Tag: title
 #: Architecture.xml:47 Architecture.xml:90
 #, no-c-format
 msgid "Object mapping by reachability"
-msgstr ""
+msgstr "到達可能性によるオブジェクトのマッピング"
 
 #. Tag: para
 #: Architecture.xml:48
@@ -124,19 +129,19 @@
 "<literal>InstanceAdvisor</literal> associated with that object, as we have "
 "discussed above. In addition, the cache will map recursively the primitive "
 "object fields into the corresponding cache nodes."
-msgstr ""
+msgstr "定義による複雑なオブジェクトは複合オブジェクトの参照から構成される可能性があるオブジェクトになります。 複雑なオブジェクトが「prepare」されたと宣言されると (<literal>Person</literal> オブジェクトなど)、 上述のように <literal>putObject(Fqn fqn, Object pojo)</literal> の動作中に PojoCache は <literal>CacheInterceptor</literal> インスタンスをそのオブジェクトに関連づけられる <literal>InstanceAdvisor</literal> に追加します。 また、 キャッシュは基本のオブジェクトフィールドを該当するキャッシュノードに再帰的にマッピングします。"
 
 #. Tag: para
 #: Architecture.xml:51
 #, no-c-format
 msgid "The mapping rule is as follows:"
-msgstr ""
+msgstr "マッピングのルールは次の通りです。"
 
 #. Tag: para
 #: Architecture.xml:56
 #, no-c-format
 msgid "Create a tree node using <literal>fqn</literal>, if not yet existed."
-msgstr ""
+msgstr "ツリーノードが存在しない場合は <literal>fqn</literal> を使ってツリーノードを作成する"
 
 #. Tag: para
 #: Architecture.xml:61
@@ -144,7 +149,7 @@
 msgid ""
 "Go through all the fields (say, with an association <literal>java.lang."
 "reflect.Field</literal> type field) in POJO,"
-msgstr ""
+msgstr "POJO 内の全フィールドを確認する (例、 <literal>java.lang.reflect.Field</literal> タイプフィールドとの関連) "
 
 #. Tag: para
 #: Architecture.xml:66
@@ -156,6 +161,8 @@
 "types supported now: <literal>String, Boolean, Double, Float, Integer, Long, "
 "Short, Character.</literal>"
 msgstr ""
+"基本タイプの場合、 フィールド値は <literal>"
+"(field.getName(), field.getValue()).</literal> の <literal>(key, value)</literal> 組み合わせで <literal>fqn</literal>  に格納される。 現在サポートされている基本タイプは、 <literal>String、 Boolean、 Double、 Float、 Integer、 Long、 Short、 Character</literal>。"
 
 #. Tag: para
 #: Architecture.xml:71
@@ -164,13 +171,13 @@
 "If it is a non-primitive type, creates a child <literal>FQN</literal> and "
 "then recursively executes another <literal>pubObject</literal> until it "
 "reaches all primitive types."
-msgstr ""
+msgstr "基本タイプではない場合、 子 <literal>FQN</literal> を作成しすべての基本タイプに到達するまで別の <literal>pubObject</literal> を再帰的に実行する"
 
 #. Tag: para
 #: Architecture.xml:78
 #, no-c-format
 msgid "Following is a code snippet that illustrates this mapping process"
-msgstr ""
+msgstr "このマッピングのプロセスを示すコードの一部を以下に示します。"
 
 #. Tag: programlisting
 #: Architecture.xml:81
@@ -186,6 +193,15 @@
 "   putObject(new Fqn(fqn, field.getName()), value);\n"
 "}"
 msgstr ""
+"for (Iterator i = type.getFields().iterator(); i.hasNext();) {\n"
+"   Field field = (Field) i.next();\n"
+"   Object value = field.get(obj);\n"
+"   CachedType fieldType = getCachedType(field.getType());\n"
+"   if (fieldType.isImmediate()) {\n"
+"    immediates.put(field.getName(), value);\n"
+"} else {\n"
+"   putObject(new Fqn(fqn, field.getName()), value);\n"
+"}"
 
 #. Tag: para
 #: Architecture.xml:82
@@ -197,6 +213,8 @@
 "literal> call, the resulting tree node will schematically look like the "
 "cache node in the following figures:"
 msgstr ""
+"の基本タイプではないタイプ (List および Address) の複合を持つ <literal>Person</literal> オブジェクトがある付録セクションのサンプルの POJO クラス定義を見てみます。 <literal>putObject</"
+"literal> コールを実行すると、 結果となるツリーノードは次のように図式的なキャッシュノードになります。"
 
 #. Tag: programlisting
 #: Architecture.xml:85
@@ -207,6 +225,10 @@
 "\n"
 "cache.putObject(\"/aop/joe\", joe);"
 msgstr ""
+"Person joe = new Person();\n"
+"joe.setAddress(new Address());\n"
+"\n"
+"cache.putObject(\"/aop/joe\", joe);"
 
 #. Tag: para
 #: Architecture.xml:86
@@ -228,7 +250,7 @@
 "stored inside the respective node's HashMap (e.g., <literal>addr</literal> "
 "will have <literal>Zip</literal> , <literal>Street</literal> , etc. stored "
 "there)."
-msgstr ""
+msgstr "PojoCache API の詳細については後半で説明することにします。 ただし、 到達可能性によるオブジェクトのマッピングについては次の図をご覧ください。 fqn <literal>/aop/joe</literal> はPOJO <literal>joe</literal> に関連づけられます。 その fqn には、 <literal>addr、</literal> <literal>skills、</literal> <literal>language</literal> という 3 つの子ノードがあります。 <literal>Person</literal> クラスの宣言を確認してみると、 <literal>addr</literal> は <literal>Address</literal> クラス、 <literal>skills</literal> は <literal>Set</literal>、 <literal>language</literal> は <literal>List</literal> のタイプであることがわかります。 これらは基本ではないため、 すべての基本タイプに到達するまで親オブジェクト (<literal>joe</literal>) の下に再帰的に挿入されます。 このようにして、 オブジェクトグラã!
 ƒ•ã‚’内部構造にうまく合うようなツリー表示に分割しています。 また、 基本タイプはすべてそれぞれのノードの HashMap 内に格納されるので注意してください (<literal>addr</literal> はそこに <literal>Zip</literal> 、 <literal>Street</literal> などを格納する)。"
 
 #. Tag: para
 #: Architecture.xml:97
@@ -238,7 +260,7 @@
 "feature that we just explained. Notice how a <literal>Person</literal> "
 "object (e.g., <literal>joe</literal>) that has complex object references "
 "will be mapped into the underlying cache store as explained above."
-msgstr ""
+msgstr "ここまで説明してきた到達可能性によるオブジェクトのマッピング機能を行うコードの一部を以下に示します。 複雑なオブジェクト参照を持つ <literal>Person</literal> オブジェクト (<literal>joe</literal>) がどのように基礎となるキャッシュストアにマッピングされるのがわかります。"
 
 #. Tag: programlisting
 #: Architecture.xml:100
@@ -271,6 +293,32 @@
 "// of cache contents automatically.\n"
 "joe.setAge(41);"
 msgstr ""
+"import org.jboss.cache.PropertyConfigurator;\n"
+"import org.jboss.cache.aop.PojoCache;\n"
+"import org.jboss.test.cache.test.standAloneAop.Person;\n"
+"import org.jboss.test.cache.test.standAloneAop.Address;\n"
+"\n"
+"PojoCache tree = new PojoCache();\n"
+"PropertyConfigurator config = new PropertyConfigurator(); // configure tree "
+"cache.\n"
+"config.configure(tree, \"META-INF/replSync-service.xml\");\n"
+"\n"
+"Person joe = new Person(); // instantiate a Person object named joe\n"
+"joe.setName(\"Joe Black\");\n"
+"joe.setAge(31);\n"
+"\n"
+"Address addr = new Address(); // instantiate a Address object named addr\n"
+"addr.setCity(\"Sunnyvale\");\n"
+"addr.setStreet(\"123 Albert Ave\");\n"
+"addr.setZip(94086);\n"
+"joe.setAddress(addr); // set the address reference\n"
+"\n"
+"tree.startService(); // kick start tree cache\n"
+"tree.putObject(\"/aop/joe\", joe); // add aop sanctioned object (and sub-"
+"objects) into cache.\n"
+"// since it is aspectized, use of plain get/set methods will take care\n"
+"// of cache contents automatically.\n"
+"joe.setAge(41);"
 
 #. Tag: para
 #: Architecture.xml:101
@@ -280,7 +328,7 @@
 "instantiating the <literal>PojoCache</literal> , configuring, and starting "
 "the cache instance. Then, a user creates the aspectized POJO that will be "
 "put into the cache using <literal>putObject()</literal> API."
-msgstr ""
+msgstr "典型的な <literal>PojoCache</literal> の使用用途は <literal>PojoCache</literal> のインスタンス化、 設定、 キャッシュインスタンスの起動に関連してくるので注意してください。 次に、 ユーザーは <literal>putObject()</literal> API を使ってキャッシュ内に置かれるアスペクト化 POJO を作成します。"
 
 #. Tag: para
 #: Architecture.xml:104
@@ -295,6 +343,8 @@
 "replicated GUI point of view. Details of Collection class support will be "
 "given later."
 msgstr ""
+"また、 PojoCache もいくつかの <literal>Collection</literal> クラス (<literal>List</literal> 、 "
+"<literal>Map</literal>、 および <literal>Set</literal>) のパラメータタイプで自動的に get/set をサポートします。 たとえば、 次のコード (一部) は上記の例に加えて PojoCache が <literal>Languages</literal> 一覧の状態も管理できるようにします。 図の方では複製された GUI 側から見たノード構成を示します。 Collection クラスサポートの詳細は後半で説明します。"
 
 #. Tag: programlisting
 #: Architecture.xml:107
@@ -305,18 +355,22 @@
 "lang.add(\"Mandarin\");\n"
 "joe.setLanguages(lang);"
 msgstr ""
+"ArrayList lang = new ArrayList();\n"
+"lang.add(\"Ensligh\");\n"
+"lang.add(\"Mandarin\");\n"
+"joe.setLanguages(lang);"
 
 #. Tag: title
 #: Architecture.xml:109
 #, no-c-format
 msgid "Schematic illustration of List class mapping"
-msgstr ""
+msgstr "クラスマッピング一覧の図式"
 
 #. Tag: title
 #: Architecture.xml:116
 #, no-c-format
 msgid "Object relationship management"
-msgstr ""
+msgstr "オブジェクト関係の管理"
 
 #. Tag: para
 #: Architecture.xml:117
@@ -331,7 +385,7 @@
 "mapping will be needed outside of the cache system to express the object "
 "relationship. PojoCache, in contrast, can manage object relationship "
 "transparently for users."
-msgstr ""
+msgstr "説明してきたように、 従来のキャッシュシステムはシリアライズ中 (永続データストアとなるまたは他のメモリ内ノードに複製される) のオブジェクト関係の管理についてはサポートしていません。 オブジェクトの関係の例としては、 家族で共有されるアドレスオブジェクトや親子関係などになります。 こうした関係はすべてオブジェクトが複製もしくは永続化されるとなくなります。 結果、 オブジェクトの関係を表現するために明示的なマッピングがキャッシュシステムの外側に必要となります。 対照的に、 PojoCache はユーザーに対して透過的にオブジェクトの関係を管理することが可能となります。"
 
 #. Tag: para
 #: Architecture.xml:120
@@ -343,7 +397,7 @@
 "literal>. If a new object created in the cache referenced to another POJO, a "
 "referenced <literal>fqn</literal> will be stored there to redirect any query "
 "and update to the original node."
-msgstr ""
+msgstr "マッピングのプロセス中、 その関連オブジェクトのいずれかが複数参照であるか循環参照であるかを確認します。 メカニズムをカウントする参照が <literal>CacheInterceptor</literal> に関連づけられて実装されています。 別の POJO に対して参照されるキャッシュ内に新しいオブジェクトが作成されると、 参照 <literal>fqn</literal> はそこに格納されオリジナルのノードに対するクエリや更新をリダイレクトします。"
 
 #. Tag: para
 #: Architecture.xml:123
@@ -357,13 +411,13 @@
 "detect a multiple reference (in this case, the <literal>Address</literal>), "
 "we will keep track of the reference counting for the sub-object "
 "<literal>addr.</literal>"
-msgstr ""
+msgstr "例をひとつあげると、 複数の <literal>Person</literal> (\"joe\" and \"mary\") オブジェクトが同じ <literal>Address</literal> を所有できるとします (家族)。 ツリーノード内を図で示すと以下のようになります。 到達可能性によるマッピングについて前のセクションで説明したように、 POJO はキャッシュに再帰的にマッピングを行います。 ただし、 複数の参照を検出した場合 (この場合 <literal>Address</literal>)、 サブオブジェクト <literal>addr</literal> に対して参照カウントの追跡を行います。"
 
 #. Tag: title
 #: Architecture.xml:127
 #, no-c-format
 msgid "Schematic illustration of object relationship mapping"
-msgstr ""
+msgstr "オブジェクトの関係マッピングの図式"
 
 #. Tag: para
 #: Architecture.xml:134
@@ -371,7 +425,7 @@
 msgid ""
 "In the following code snippet, we show programmatically the object sharing "
 "example."
-msgstr ""
+msgstr "次のコードの一部では、 プログラム的なオブジェクト共有の例を示します。"
 
 #. Tag: programlisting
 #: Architecture.xml:137
@@ -416,6 +470,44 @@
 "tree.removeObject(\"/aop/joe\");\n"
 "maryAddr = mary.getAddress(); // Should still have the address."
 msgstr ""
+"import org.jboss.cache.PropertyConfigurator;\n"
+"import org.jboss.cache.aop.PojoCache;\n"
+"import org.jboss.test.cache.test.standAloneAop.Person;\n"
+"import org.jboss.test.cache.test.standAloneAop.Address;\n"
+"\n"
+"PojoCache tree = new PojoCache();\n"
+"PropertyConfigurator config = new PropertyConfigurator(); // configure tree "
+"cache.\n"
+"config.configure(tree, \"META-INF/replSync-service.xml\");\n"
+"\n"
+"Person joe = new Person(); // instantiate a Person object named joe\n"
+"joe.setName(\"Joe Black\");\n"
+"joe.setAge(31);\n"
+"\n"
+"Person mary = new Person(); // instantiate a Person object named mary\n"
+"mary.setName(\"Mary White\");\n"
+"mary.setAge(30);\n"
+"\n"
+"Address addr = new Address(); // instantiate a Address object named addr\n"
+"addr.setCity(\"Sunnyvale\");\n"
+"addr.setStreet(\"123 Albert Ave\");\n"
+"addr.setZip(94086);\n"
+"\n"
+"joe.setAddress(addr); // set the address reference\n"
+"mary.setAddress(addr); // set the address reference\n"
+"\n"
+"tree.startService(); // kick start tree\n"
+"tree.putObject(\"/aop/joe\", joe); // add aop sanctioned object (and sub-"
+"objects) into cache.\n"
+"tree.putObject(\"/aop/mary\", mary); // add aop sanctioned object (and sub-"
+"objects) into cache.\n"
+"\n"
+"Address joeAddr = joe.getAddress();\n"
+"Address maryAddr = mary.getAddress(); // joeAddr and maryAddr should be the "
+"same instance\n"
+"\n"
+"tree.removeObject(\"/aop/joe\");\n"
+"maryAddr = mary.getAddress(); // Should still have the address."
 
 #. Tag: para
 #: Architecture.xml:138
@@ -424,7 +516,7 @@
 "Notice that after we remove <literal>joe</literal> instance from the cache, "
 "<literal>mary</literal> should still have reference the same "
 "<literal>Address</literal> object in the cache store."
-msgstr ""
+msgstr "<literal>joe</literal> インスタンスをキャッシュから削除した後も、 <literal>mary</literal> はキャッシュストア内に同じ <literal>Address</literal> オブジェクトとなる参照を持っているはずです。"
 
 #. Tag: para
 #: Architecture.xml:141
@@ -436,7 +528,7 @@
 "literal>). Let's say, on the first cache instance, we put both <literal>joe</"
 "literal> and <literal>mary</literal> under cache management as above. Then, "
 "we failover to <literal>cache2.</literal> Here is the code snippet:"
-msgstr ""
+msgstr "さらに詳しくこの関係管理を説明するため、 複製された環境下の Java コードを見てみることにします。 クラスタに 2 つの異なるキャッシュインスタンスがあるとします (<literal>cache1</literal> と <literal>cache2</literal>)。 最初のキャッシュインスタンスに上述の通りキャッシュ管理下に <literal>joe</literal> と <literal>mary</literal> の両方を置きます。 次に <literal>cache2</literal> にフェールオーバーします。 次にコードの一部を示します。"
 
 #. Tag: programlisting
 #: Architecture.xml:144
@@ -468,12 +560,37 @@
 "int zip = joeAddr.getAddress().getZip(); // Should be 95123 as well instead "
 "of 94086!"
 msgstr ""
+"/**\n"
+" * Code snippet on cache2 during fail-over\n"
+" */\n"
+"import org.jboss.cache.PropertyConfigurator;\n"
+"import org.jboss.cache.aop.PojoCache;\n"
+"import org.jboss.test.cache.test.standAloneAop.Person;\n"
+"import org.jboss.test.cache.test.standAloneAop.Address;\n"
+"\n"
+"PojoCache tree = new PojoCache();\n"
+"PropertyConfigurator config = new PropertyConfigurator(); // configure tree "
+"cache.\n"
+"config.configure(tree, \"META-INF/replSync-service.xml\");\n"
+"\n"
+"tree.startService(); // kick start tree\n"
+"Person joe = tree.getObject(\"/aop/joe\"); // retrieve the POJO reference.\n"
+"Person mary = tree.getObject(\"/aop/mary\"); // retrieve the POJO "
+"reference.\n"
+"\n"
+"Address joeAddr = joe.getAddress();\n"
+"Address maryAddr = mary.getAddress(); // joeAddr and maryAddr should be the "
+"same instance!!!\n"
+"\n"
+"maryAddr = mary.getAddress().setZip(95123);\n"
+"int zip = joeAddr.getAddress().getZip(); // Should be 95123 as well instead "
+"of 94086!"
 
 #. Tag: title
 #: Architecture.xml:145
 #, no-c-format
 msgid "Object inheritance hierarchy"
-msgstr ""
+msgstr "オブジェクトの継承階層"
 
 #. Tag: para
 #: Architecture.xml:146
@@ -485,7 +602,7 @@
 "Appendix section), then once <literal>Student</literal> is put into the "
 "cache, all the class attributes of <literal>Person</literal> can be managed "
 "as well."
-msgstr ""
+msgstr "PojoCache は POJO オブジェクト継承階層を自動的に維持します。 たとえば、 <literal>Student</literal> が <literal>Person</literal> を追加フィールドの <literal>year</literal> を付けて拡張する場合 (付録セクションで POJO 定義を参照)、 <literal>Student</literal> がキャッシュに置かれると <literal>Person</literal> のクラス属性もすべて管理できるようになります。"
 
 #. Tag: para
 #: Architecture.xml:149
@@ -493,7 +610,7 @@
 msgid ""
 "Following is a code snippet that illustrates how the inheritance behavior of "
 "a POJO is maintained. Again, no special configuration is needed."
-msgstr ""
+msgstr "POJO の継承動作がどのように管理されるかを示すコードの一部を示します。 ここでも特殊な設定は必要ありません。"
 
 #. Tag: programlisting
 #: Architecture.xml:152
@@ -515,12 +632,27 @@
 "joe.setYear(\"Junior\"); // will be intercepted by the cache\n"
 "joe.setName(\"Joe Black II\"); // also intercepted by the cache"
 msgstr ""
+"import org.jboss.test.cache.test.standAloneAop.Student;\n"
+"\n"
+"Student joe = new Student(); // Student extends Person class\n"
+"joe.setName(\"Joe Black\"); // This is base class attributes\n"
+"joe.setAge(22); // This is also base class attributes\n"
+"joe.setYear(\"Senior\"); // This is Student class attribute\n"
+"\n"
+"tree.putObject(\"/aop/student/joe\", joe);\n"
+"\n"
+"//...\n"
+"\n"
+"joe = (Student)tree.putObject(\"/aop/student/joe\");\n"
+"Person person = (Person)joe; // it will be correct here\n"
+"joe.setYear(\"Junior\"); // will be intercepted by the cache\n"
+"joe.setName(\"Joe Black II\"); // also intercepted by the cache"
 
 #. Tag: title
 #: Architecture.xml:153
 #, no-c-format
 msgid "Collection class proxy"
-msgstr ""
+msgstr "Collection クラスのプロキシ"
 
 #. Tag: para
 #: Architecture.xml:154
@@ -542,6 +674,8 @@
 "retrieve this proxy reference and use this reference to perform POJO "
 "operations."
 msgstr ""
+"<literal>Set</literal>、 <literal>List</literal>、 および <literal>Map</literal> から継承する POJO クラスは自動的に「アスペクト化」として処理されます。 つまり、 ユーザーは xml ファイル内やアノテーションで「prepare」されたことを宣言する必要がないということです。 Java システムライブラリのインストールメントは許可されていないため、 代理手段を使用します。 つまり、 Collection インスタンスに遭遇したら、 <itemizedlist> <listitem><para> Collection の代理インスタンスを作成してキャッシュに配置します (オリジナルの参照ではなく)。 Collection エレメントのマッピングは予期される通り行われます。 .</para> </listitem> <listitem> "
+"<para> Collection インスタンスが別の POJO 内などサブオブジェクトである場合、 オリジナルの参照を新しい代理参照とスワップして透過的使用を促進します。 </para> </listitem> </itemizedlist> 代理参照を取得するには、 ユーザーは別の <literal>getObject</literal> を使ってこの代理参照を検索し POJO 動作の実行に使用します。"
 
 #. Tag: para
 #: Architecture.xml:165
@@ -549,7 +683,7 @@
 msgid ""
 "Here is a code snippet that illustrates the usage of a Collection proxy "
 "reference:"
-msgstr ""
+msgstr "Collection 代理参照の使用例を示すコードの一部を以下に記します。"
 
 #. Tag: programlisting
 #: Architecture.xml:168
@@ -566,6 +700,16 @@
 "reference\n"
 "proxyList.add(\"FOUR\"); // This will be intercepted by the cache"
 msgstr ""
+"List list = new ArrayList();\n"
+"list.add(\"ONE\");\n"
+"list.add(\"TWO\");\n"
+"\n"
+"tree.putObject(\"/aop/list\", list);\n"
+"list.add(\"THREE\"); // This won't intercept by the cache!\n"
+"\n"
+"List proxyList = tree.getObject(\"/aop/list\"; // Note that list is a proxy "
+"reference\n"
+"proxyList.add(\"FOUR\"); // This will be intercepted by the cache"
 
 #. Tag: para
 #: Architecture.xml:169
@@ -573,7 +717,7 @@
 msgid ""
 "Here is another snippet to illustrate the dynamic swapping of the Collection "
 "reference when it is embedded inside another object:"
-msgstr ""
+msgstr "別のオブジェクトの内側に組み込まれている場合の Collection 参照の動的なスワップを示すコードの例も以下に記しておきます。"
 
 #. Tag: programlisting
 #: Architecture.xml:172
@@ -591,6 +735,17 @@
 "ArrayList lang = joe.getLanguages(); // Note that lang is a proxy reference\n"
 "lang.add(\"French\"); // This will be intercepted by the cache"
 msgstr ""
+"Person joe = new Person();\n"
+"joe.setName(\"Joe Black\"); // This is base class attributes\n"
+"ArrayList lang = new ArrayList();\n"
+"lang.add(\"English\");\n"
+"lang.add(\"Mandarin\");\n"
+"joe.setLanguages(lang);\n"
+"// This will map the languages List automatically and swap it out with the "
+"proxy reference.\n"
+"tree.putObject(\"/aop/student/joe\", joe);\n"
+"ArrayList lang = joe.getLanguages(); // Note that lang is a proxy reference\n"
+"lang.add(\"French\"); // This will be intercepted by the cache"
 
 #. Tag: para
 #: Architecture.xml:173
@@ -598,7 +753,7 @@
 msgid ""
 "As you can see, <literal>getLanguages</literal> simply returns the field "
 "reference that has been swapped out for the proxy reference counterpart."
-msgstr ""
+msgstr "見てわかる通り、 <literal>getLanguages</literal> は単純に代理参照にスワップされているフィールド参照を返します。"
 
 #. Tag: para
 #: Architecture.xml:176
@@ -608,7 +763,7 @@
 "<literal>removeObject</literal>), you still can use the proxy reference "
 "since we will update the in-memory copy of that reference during detachment. "
 "Below is a code snippet illustrating this:"
-msgstr ""
+msgstr "最後に、 Collection 参照をキャッシュから削除した場合も (<literal>removeObject</literal> を使って)、 分離中にその参照のメモリ内コピーを更新するため代理参照を使用し続けることができます。 以下のコード (一部) でこれを示します。"
 
 #. Tag: programlisting
 #: Architecture.xml:179
@@ -626,12 +781,23 @@
 "tree.removeObject(\"/aop/list\"); // detach from the cache\n"
 "proxyList.add(\"FOUR\"); // proxyList has 4 elements still."
 msgstr ""
+"List list = new ArrayList();\n"
+"list.add(\"ONE\");\n"
+"list.add(\"TWO\");\n"
+"\n"
+"tree.putObject(\"/aop/list\", list);\n"
+"List proxyList = tree.getObject(\"/aop/list\"); // Note that list is a proxy "
+"reference\n"
+"proxyList.add(\"THREE\"); // This will be intercepted by the cache\n"
+"\n"
+"tree.removeObject(\"/aop/list\"); // detach from the cache\n"
+"proxyList.add(\"FOUR\"); // proxyList has 4 elements still."
 
 #. Tag: title
 #: Architecture.xml:180
 #, no-c-format
 msgid "Limitation"
-msgstr ""
+msgstr "制限"
 
 #. Tag: para
 #: Architecture.xml:181
@@ -640,7 +806,7 @@
 "Use of Collection class in PojoCache helps you to track fine-grained changes "
 "in your collection fields automatically. However, current implementation has "
 "the follow limitation that we plan to address soon."
-msgstr ""
+msgstr "PojoCache で Collection クラスを使用すると collection フィールドでの微細な変更を自動的に追跡するのに役立ちます。 ただし、 現在の実装は次の制限があります。 これらについては至急に対処する予定です。"
 
 #. Tag: para
 #: Architecture.xml:184
@@ -654,7 +820,7 @@
 "java.util.HashSet implementation. The List interface maps to java.util."
 "ArrayList implementation. The Map interface maps to java.util.HashMap "
 "implementation."
-msgstr ""
+msgstr "現在、 制限のある Collection クラスの実装のみをサポートしています。 つまり、 List、 Set、 および Map で API をサポートします。 ただし、 API は NULL キーや値のような制限について規定していないため、 ユーザーインスタンスを代理にマッピングする上で注意が必要になります。 たとえば、 ArrayList は NULL 値を許可しますが、 他の実装のいくつかは許可していません。 Set インターフェースは java.util.HashSet実装にマッピングを行います。 List インターフェースは java.util.ArrayList 実装にマッピングを行います。 Map インターフェースは java.util.HashMap 実装にマッピングを行います。"
 
 #. Tag: para
 #: Architecture.xml:187
@@ -665,4 +831,5 @@
 "slow. Performance between Set, Map and List collections also vary. Adding "
 "items to a Set is slower than a List or Map, since Set does not allow "
 "duplicate entries."
-msgstr ""
+msgstr "もうひとつの関連問題として予期されるパフォーマンスがあります。 たとえば、 現在の実装は順序づけられているため、 Collection への挿入や削除が遅くなります。 Set、 Map、 List コレクション間のパフォーマンスも異なります。 Set は二重エントリを許可しないため、 Set へのアイテムの追加は List や Map と比べると遅くなります。"
+

Modified: projects/docs/enterprise/4.3/Cache/Cache_Pojo_Cache_Guide/ja-JP/Jbossaop.po
===================================================================
--- projects/docs/enterprise/4.3/Cache/Cache_Pojo_Cache_Guide/ja-JP/Jbossaop.po	2008-09-08 08:00:47 UTC (rev 78174)
+++ projects/docs/enterprise/4.3/Cache/Cache_Pojo_Cache_Guide/ja-JP/Jbossaop.po	2008-09-08 09:15:31 UTC (rev 78175)
@@ -9,7 +9,7 @@
 "Project-Id-Version: Jbossaop\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
 "POT-Creation-Date: 2008-05-30 04:01+0000\n"
-"PO-Revision-Date: 2008-09-05 17:21+1000\n"
+"PO-Revision-Date: 2008-09-08 15:34+1000\n"
 "Last-Translator: Noriko Mizumoto <noriko at redhat.com>\n"
 "Language-Team: Japanese <fedora-trans-ja at redhat.com>\n"
 "MIME-Version: 1.0\n"
@@ -244,7 +244,7 @@
 "and encapsulates those parts into an Invocation object. The framework then "
 "calls any aspects that sit between the calling code and the actual method "
 "body."
-msgstr ""
+msgstr "JBoss AOP ではメトリクスクラスは withdraw() をラップします。 呼び出しコードが withdraw() を呼び出すと、 AOP フレームワークはそのメソッドコールをパーツに分割して呼び出しオブジェクトにカプセル化します。 次にフレームワークは呼び出しコードと実際のメソッドボディ間にあるアスペクトを呼び出します。"
 
 #. Tag: para
 #: Jbossaop.xml:51
@@ -255,7 +255,7 @@
 "uses an enclosing try/finally block to perform the timings. Line 13 obtains "
 "contextual information about the method call from the Invocation object, "
 "while line 14 displays the method name and the calculated metrics."
-msgstr ""
+msgstr "AOP フレームワークがメソッドコールの解離を終了すると、 3 行目でメトリックの呼び出しメソッドを呼び出します。 8行目は実際のメソッドをラップして委任し、 try/finally で囲われたブロックを使ってタイミングを実行します。 13 行目は呼び出しオブジェクトからのメソッドコールに関する文脈情報を取得し、 14 行目はメソッド名と計算されたメトリクスを表示します。"
 
 #. Tag: para
 #: Jbossaop.xml:54
@@ -264,13 +264,13 @@
 "Having the metrics code within its own object allows us to easily expand and "
 "capture additional measurements later on. Now that metrics are encapsulated "
 "into an aspect, let's see how to apply it."
-msgstr ""
+msgstr "メトリクスコードをそれ自体のオブジェクト内に持たせることであとで他の測定の拡張取得が容易になります。 これでこのメトリクスはアスペクトにカプセル化されます。 今度は適用方法について見てみます。"
 
 #. Tag: title
 #: Jbossaop.xml:57
 #, no-c-format
 msgid "Applying Aspects in JBoss AOP"
-msgstr ""
+msgstr "JBoss AOP でアスペクトを適用する"
 
 #. Tag: para
 #: Jbossaop.xml:58
@@ -282,7 +282,7 @@
 "expression matches events/points within your application. For example, a "
 "valid pointcut definition would be \"for all calls to the JDBC method "
 "executeQuery(), call the aspect that verifies SQL syntax.\""
-msgstr ""
+msgstr "アスペクトを適用するには、 アスペクトコード実行のタイミングを定義します。 実行におけるこうしたポイントはポイントカットと呼ばれます。 ポイントカットの例えとして正規表現を見てみます。 正規表現が文字列に一致するとすると、 ポイントカット表現はアプリケーション内のイベントやポイントに一致します。 たとえば、 有効なポイントカット定義とは、 「JDBOC メソッド executeQuery() に対するすべての呼び出しには、SQL 構文を検証するアスペクトを呼び出す」 のようになります。"
 
 #. Tag: para
 #: Jbossaop.xml:61
@@ -293,13 +293,13 @@
 "languages akin to queries to specify pointcuts. Others use tags. JBoss AOP "
 "uses both. Listing Three shows how to define a pointcut for the metrics "
 "example."
-msgstr ""
+msgstr "エントリポイントとは、 フィールドアクセス、 またはメソッドかコンストラクタの呼び出しになります。 イベントとは、 送出される例外になります。 AOP 実装のなかにはクエリーと同種の言語を使用してポイントカットを指定するものがあります。 これ以外はタグを使用します。 JBoss AOP は両方とも使用します。 リスト 3 ではメトリクスの例に対してポイントカットを定義する方法を示します。"
 
 #. Tag: para
 #: Jbossaop.xml:64
 #, no-c-format
 msgid "Listing Three: Defining a pointcut in JBoss AOP"
-msgstr ""
+msgstr "リスト 3: JBoss AOP でポイントカットを定義する"
 
 #. Tag: programlisting
 #: Jbossaop.xml:67
@@ -314,6 +314,14 @@
 "5.       &lt;interceptor class=\"com.mc.Metrics\"/&gt;\n"
 "6. &lt;/bind &gt;"
 msgstr ""
+"1. &lt;bind pointcut=\"public void com.mc.BankAccountDAO-&gt;withdraw(double "
+"amount)\"&gt;\n"
+"2.       &lt;interceptor class=\"com.mc.Metrics\"/&gt;\n"
+"3. &lt;/bind &gt;\n"
+"\n"
+"4. &lt;bind pointcut=\"* com.mc.billing.*-&gt;*(..)\"&gt;\n"
+"5.       &lt;interceptor class=\"com.mc.Metrics\"/&gt;\n"
+"6. &lt;/bind &gt;"
 
 #. Tag: para
 #: Jbossaop.xml:68
@@ -323,7 +331,7 @@
 "method BankAccountDAO.withdraw(). Lines 4-6 define a general pointcut that "
 "applies the metrics aspect to all methods in all classes in the com.mc."
 "billing package."
-msgstr ""
+msgstr "1 から 3 行目ではメトリクスアスペクトを特定のメソッド BankAccountDAO.withdraw() に適用するポイントカットを定義しています。 4 から 6 行目ではメトリクスアスペクトを com.mc.billing パッケージ内にある全クラスの全メソッドに適用する汎用ポイントカットを定義しています。"
 
 #. Tag: para
 #: Jbossaop.xml:71
@@ -331,7 +339,7 @@
 msgid ""
 "There is also an optional annotation mapping if you do not like XML. See "
 "JBossAop Reference Guide for more information."
-msgstr ""
+msgstr "XML を使用したくない場合はオプションでアノテーションマッピングもあります。 詳細については JBossAop リファレンスガイドを参照してください。"
 
 #. Tag: para
 #: Jbossaop.xml:74
@@ -342,13 +350,13 @@
 "aspects. You can attach your aspects to a specific Java class in your "
 "application or you can use more complex compositional pointcuts to specify a "
 "wide range of classes within one expression."
-msgstr ""
+msgstr "JBoss AOP には Java アプリケーションで各種のポイントやイベントの定義に使用できる豊富なポイントカット表現セットがあるので使用するアスペクトを適用することが可能です。 アプリケーション内の特定の Java クラスにアスペクトを添付する、 またはより複雑な複合ポイントカットを使って 1 つの表現内で幅広いクラスを指定することができます。"
 
 #. Tag: title
 #: Jbossaop.xml:77
 #, no-c-format
 msgid "Dynamic Aop"
-msgstr ""
+msgstr "動的な AOP"
 
 #. Tag: para
 #: Jbossaop.xml:78
@@ -360,6 +368,8 @@
 "advice bindings at runtime. Getting an instance of <literal>org.jboss.aop."
 "AspectManager.instance()</literal>, you can add your binding."
 msgstr ""
+"JBoss AOP ではランタイムにアドバイスやインターセプタのバインディングを変更することが可能です。 既存のバインディングの登録を取消し、 特定のポイントがインストールメント去れている場合は新しいバインディングをホットデプロイすることができます。 また、 ランタイムにアドバイスのバインディングを追加するランタイム API もあります。 <literal>org.jboss.aop."
+"AspectManager.instance()</literal> のインスタンスを取得する場合、 バインディングを追加することができます。"
 
 #. Tag: programlisting
 #: Jbossaop.xml:81
@@ -370,6 +380,10 @@
 "binding.addInterceptor(SimpleInterceptor.class);\n"
 "AspectManager.instance().addBinding(binding);"
 msgstr ""
+"AdviceBinding binding = new AdviceBinding(\"execution(POJO-&gt;new(..))\", "
+"null);\n"
+"binding.addInterceptor(SimpleInterceptor.class);\n"
+"AspectManager.instance().addBinding(binding);"
 
 #. Tag: para
 #: Jbossaop.xml:82
@@ -380,13 +394,14 @@
 "the binding through the AspectManager. When the binding is added the "
 "AspectManager will iterate through ever loaded class to see if the pointcut "
 "expression matches any of the joinpoints within those classes."
-msgstr ""
+msgstr "まず、 <literal>AdviceBinding</literal> の通過をポイントカット表現に割り当てました。 つぎにこのクラス経由でインターセプタを追加してから AspectManager でバインディングを追加します。 バインディングが追加されると AspectManager はポイントカット表現がそのクラス群内でいずれかのジョインポイントに一致するかどうかロードされたクラスを反復します。"
 
 #. Tag: title
 #: Jbossaop.xml:85
 #, no-c-format
+#, fuzzy
 msgid "Per Instance AOP"
-msgstr ""
+msgstr "インスタンスごとの AOP"
 
 #. Tag: para
 #: Jbossaop.xml:86
@@ -394,7 +409,7 @@
 msgid ""
 "Any class that is instrumented by JBoss AOP, is forced to implement the "
 "<literal>org.jboss.aop.Advised</literal> interface."
-msgstr ""
+msgstr "JBoss AOP でインストールメントされるクラスはすべて <literal>org.jboss.aop.Advised</literal> インターフェースの実装が強制されます。"
 
 #. Tag: programlisting
 #: Jbossaop.xml:89
@@ -411,6 +426,16 @@
 "   public Advisor _getAdvisor();\n"
 "}"
 msgstr ""
+"public interface InstanceAdvised\n"
+"{\n"
+"   public InstanceAdvisor _getInstanceAdvisor();\n"
+"   public void _setInstanceAdvisor(InstanceAdvisor newAdvisor);\n"
+"}\n"
+"\n"
+"public interface Advised extends InstanceAdvised\n"
+"{\n"
+"   public Advisor _getAdvisor();\n"
+"}"
 
 #. Tag: para
 #: Jbossaop.xml:90
@@ -419,7 +444,7 @@
 "The InstanceAdvisor is the interesting interface here. InstanceAdvisor "
 "allows you to insert Interceptors at the beginning or the end of the class's "
 "advice chain."
-msgstr ""
+msgstr "InstanceAdvisor インターフェースに注目してください。 InstanceAdvisor によりクラスのアドバイスチェーンの冒頭または末尾でインターセプタを挿入できるようになります。"
 
 #. Tag: programlisting
 #: Jbossaop.xml:93
@@ -439,6 +464,19 @@
 "\n"
 "}"
 msgstr ""
+"public interface InstanceAdvisor\n"
+"{\n"
+"   public void insertInterceptor(Interceptor interceptor);\n"
+"   public void removeInterceptor(String name);\n"
+"   public void appendInterceptor(Interceptor interceptor);\n"
+"\n"
+"   public void insertInterceptorStack(String stackName);\n"
+"   public void removeInterceptorStack(String name);\n"
+"   public void appendInterceptorStack(String stackName);\n"
+"\n"
+"   public SimpleMetaData getMetaData();\n"
+"\n"
+"}"
 
 #. Tag: para
 #: Jbossaop.xml:94
@@ -452,13 +490,13 @@
 "the <literal>appendInterceptor()</literal> method to the object instance are "
 "executed. You can also reference <literal>stack</literal>s and insert/append "
 "full stacks into the pre/post chains."
-msgstr ""
+msgstr "このように、 同じ Java コールスタック内で連続して実行されるアドバイスチェーンが 3 つあります。 特定のオブジェクトインスタンスに対して <literal>insertInterceptor()</literal> メソッドで追加されるインターセプタが最初に実行されます。 次に、 普通の <literal>bind</literal> を使ってバインドされたアドバイスやインターセプタが実行され、 最後にオブジェクトインスタンスに <literal>appendInterceptor()</literal> メソッドで追加されたインターセプタが実行されます。 また、 <literal>stack</literal> を参照して完全なスタックをチェーンの前または後ろに挿入、 追加することができます。"
 
 #. Tag: title
 #: Jbossaop.xml:97
 #, no-c-format
 msgid "Preparation"
-msgstr ""
+msgstr "準備"
 
 #. Tag: para
 #: Jbossaop.xml:98
@@ -467,13 +505,13 @@
 "Dynamic AOP cannot be used unless the particular joinpoint has been "
 "instrumented. You can force instrumentation with the <literal>prepare</"
 "literal> functionality that declares in an xml file."
-msgstr ""
+msgstr "動的な AOP は特定のジョイントポイントがインストールメントされていない限り使用できません。 xml ファイル内で宣言する <literal>prepare</literal> 機能でインストールメントの強制が可能です。"
 
 #. Tag: title
 #: Jbossaop.xml:101
 #, no-c-format
 msgid "Annotations"
-msgstr ""
+msgstr "アノテーション"
 
 #. Tag: para
 #: Jbossaop.xml:102
@@ -481,7 +519,7 @@
 msgid ""
 "Annotations are only available in JDK 5.0, but using our annotation compiler "
 "you can acheive similar functionality with JDK 1.4.2 as well."
-msgstr ""
+msgstr "アノテーションは JDK 5.0 でしか使用できませんが、 アノテーションコンパイラを使用すると JDK 1.4.2 でも同様の機能を使用することができます。"
 
 #. Tag: para
 #: Jbossaop.xml:105
@@ -502,6 +540,18 @@
 "that '@interface' is replaced by 'interface'. i.e. the similar annotation "
 "type is a normal Java interface:"
 msgstr ""
+"アノテーションはアノテーションタイプにマッピングを行わなければなりません。 JDK 5.0 では次のように定義されます。 "
+"<programlisting>\n"
+"   package com.mypackage;\n"
+"\n"
+"   public @interface MyAnnotation\n"
+"   {\n"
+"      String myString();\n"
+"      int myInteger();\n"
+"   }\n"
+"         \n"
+"</programlisting> "
+"アノテーションコンパイラで使用するアノテーションタイプは JDK 1.4.2 とまったく同じ方法で定義されますが、 重要な違いは '@interface' を 'interface' で置き換えます。 同様のアノテーションタイプは標準の Java インターフェースになります。"
 
 #. Tag: programlisting
 #: Jbossaop.xml:107
@@ -515,6 +565,13 @@
 "      int myInteger();\n"
 "   }"
 msgstr ""
+"package com.mypackage;\n"
+"\n"
+"   public interface MyAnnotation\n"
+"   {\n"
+"      String myString();\n"
+"      int myInteger();\n"
+"   }"
 
 #. Tag: para
 #: Jbossaop.xml:109
@@ -522,28 +579,29 @@
 msgid ""
 "The syntax for using annotations in JDK 1.4.2 is almost exactly the same as "
 "JDK 5.0 annotations except for these subtle differences:"
-msgstr ""
+msgstr "JDK 1.4.2 でアノテーションを使用するための構文は以下の微妙な違いを除いてほぼ JDK 5.0 と同様です。"
 
 #. Tag: para
 #: Jbossaop.xml:112
 #, no-c-format
 msgid "they are embedded as doclet tags"
-msgstr ""
+msgstr "doclet タグとして組み込まれる"
 
 #. Tag: para
 #: Jbossaop.xml:115
 #, no-c-format
 msgid "You use a double at sign, i.e. '@@'"
-msgstr ""
+msgstr "二重記号を使用する、 例: 「@@」"
 
 #. Tag: para
 #: Jbossaop.xml:118
 #, no-c-format
+#, fuzzy
 msgid ""
 "You MUST have a space after the tag name otherwise you will get a "
 "compilation error. (This is the quirkiness of the QDox doclet compiler used "
 "to compile the annotations.')"
-msgstr ""
+msgstr "タグ名の後に空白を入れる必要があり、 これがないとコンパイルエラーとなる。 (これがアノテーションのコンパイルに使用される QDox doclet コンパイラの quirkiness になる)"
 
 #. Tag: para
 #: Jbossaop.xml:121
@@ -551,19 +609,19 @@
 msgid ""
 "You cannot import the annotation type, you must use the fully qualified name "
 "of the interface."
-msgstr ""
+msgstr "アノテーションタイプのインポートはできない、 インターフェースの完全修飾名を使用する必要がある"
 
 #. Tag: para
 #: Jbossaop.xml:124
 #, no-c-format
 msgid "You cannot specify default values for an annotation's value"
-msgstr ""
+msgstr "アノテーションの値にデフォルトの値を指定することはできない"
 
 #. Tag: para
 #: Jbossaop.xml:128
 #, no-c-format
 msgid "This example shows an annotated class in JDK 1.4.2:"
-msgstr ""
+msgstr "次の例では JDK 1.4.2 でアノテーションが付けられたクラスを示します。"
 
 #. Tag: programlisting
 #: Jbossaop.xml:129
@@ -597,4 +655,31 @@
 "      }\n"
 "   }"
 msgstr ""
+"package com.mypackage;\n"
+"\n"
+"   /**\n"
+"    * @@com.mypackage.MyAnnotation (myString=\"class\", myInteger=5)\n"
+"    */\n"
+"   public class MyClass\n"
+"   {\n"
+"      /**\n"
+"       * @@com.mypackage.MyAnnotation (myString=\"field\", myInteger=4)\n"
+"       */\n"
+"      private String myField;\n"
+"\n"
+"      /**\n"
+"       * @@com.mypackage.MyAnnotation (myString=\"constructor\", "
+"myInteger=3)\n"
+"       */\n"
+"      public MyClass()\n"
+"      {\n"
+"      }\n"
+"\n"
+"      /**\n"
+"       * @@com.mypackage.MyAnnotation (myString=\"method\", myInteger=3)\n"
+"       */\n"
+"      public int myMethod()\n"
+"      {\n"
+"      }\n"
+"   }"
 




More information about the jboss-cvs-commits mailing list