[webbeans-commits] Webbeans SVN: r1252 - doc/trunk/reference/de-DE.
by webbeans-commits@lists.jboss.org
Author: jdimanos
Date: 2009-01-27 15:53:27 -0500 (Tue, 27 Jan 2009)
New Revision: 1252
Modified:
doc/trunk/reference/de-DE/example.po
Log:
update
Modified: doc/trunk/reference/de-DE/example.po
===================================================================
--- doc/trunk/reference/de-DE/example.po 2009-01-27 20:35:14 UTC (rev 1251)
+++ doc/trunk/reference/de-DE/example.po 2009-01-27 20:53:27 UTC (rev 1252)
@@ -1,3 +1,4 @@
+# translation of example.po to
# Language de-DE translations for Introduction_to_Web_Beans package.
# Automatically generated, 2009.
#
@@ -3,19 +4,20 @@
msgid ""
msgstr ""
-"Project-Id-Version: Introduction_to_Web_Beans VERSION\n"
+"Project-Id-Version: example\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-10 14:18+0000\n"
-"PO-Revision-Date: 2009-01-10 14:18+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-28 07:53+1100\n"
+"Last-Translator: \n"
+"Language-Team: <en(a)li.org>\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
#: example.xml:4
#, no-c-format
msgid "JSF web application example"
-msgstr ""
+msgstr "Beispiel einer JSF-Webanwendung"
#. Tag: para
@@ -27,6 +29,9 @@
"user login/logout for an application that uses JSF. First, we'll define a "
"Web Bean to hold the username and password entered during login:"
msgstr ""
+"Illustrieren wir diese Ideen an einem vollständigen Beispiel. Wir werden einen Benutzer "
+"Login/Logout für eine JSF verwendende Anwendung implementieren. Zunächst definieren wir ein "
+"Web Bean das den während des Logins eingegebenen Benutzernamen und das Passwort verwahrt:"
#. Tag: programlisting
#: example.xml:11
@@ -46,12 +51,25 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[@Named @RequestScoped\n"
+"public class Credentials {\n"
+" \n"
+" private String username;\n"
+" private String password;\n"
+" \n"
+" public String getUsername() { return username; }\n"
+" public void setUsername(String username) { this.username = username; }\n"
+" \n"
+" public String getPassword() { return password; }\n"
+" public void setPassword(String password) { this.password = password; }\n"
+" \n"
+"}]]>"
#. Tag: para
#: example.xml:13
#, no-c-format
msgid "This Web Bean is bound to the login prompt in the following JSF form:"
-msgstr ""
+msgstr "Dieses Web Bean ist an den Login-Prompt in folgendem JSF-Formular gebunden:"
#. Tag: programlisting
#: example.xml:15
@@ -70,6 +88,18 @@
"{login.loggedIn}\"/>\n"
"</h:form>]]>"
msgstr ""
+"<![CDATA[<h:form>\n"
+" <h:panelGrid columns=\"2\" rendered=\"#{!login.loggedIn}\">\n"
+" <h:outputLabel for=\"username\">Username:</h:outputLabel>\n"
+" <h:inputText id=\"username\" value=\"#{credentials.username}\"/>\n"
+" <h:outputLabel for=\"password\">Password:</h:outputLabel>\n"
+" <h:inputText id=\"password\" value=\"#{credentials.password}\"/>\n"
+" </h:panelGrid>\n"
+" <h:commandButton value=\"Login\" action=\"#{login.login}\" rendered=\"#{!"
+"login.loggedIn}\"/>\n"
+" <h:commandButton value=\"Logout\" acion=\"#{login.logout}\" rendered=\"#"
+"{login.loggedIn}\"/>\n"
+"</h:form>]]>"
#. Tag: para
#: example.xml:17
@@ -79,6 +109,8 @@
"information about the currently logged-in user and exposes the "
"<literal>User</literal> entity to other Web Beans:"
msgstr ""
+"Die eigentliche Arbeit wird durch ein Session-begrenztes Web Bean übernommen, dass Informationen zum aktuell eingeloggten Benutzer verwahrt und anderen Web Beans die "
+"<literal>User</literal>-Entity offenlegt:"
#. Tag: programlisting
#: example.xml:21
@@ -121,12 +153,48 @@
"\n"
"}]]>"
msgstr ""
+"<![CDATA[@SessionScoped @Named\n"
+"public class Login {\n"
+"\n"
+" @Current Credentials credentials;\n"
+" @PersistenceContext EntityManager userDatabase;\n"
+"\n"
+" private User user;\n"
+" \n"
+" public void login() {\n"
+" \n"
+" List<User> results = userDatabase.createQuery(\n"
+" \"select u from User u where u.username=:username and u.password=:"
+"password\")\n"
+" .setParameter(\"username\", credentials.getUsername())\n"
+" .setParameter(\"password\", credentials.getPassword())\n"
+" .getResultList();\n"
+" \n"
+" if ( !results.isEmpty() ) {\n"
+" user = results.get(0);\n"
+" }\n"
+" \n"
+" }\n"
+" \n"
+" public void logout() {\n"
+" user = null;\n"
+" }\n"
+" \n"
+" public boolean isLoggedIn() {\n"
+" return user!=null;\n"
+" }\n"
+" \n"
+" @Produces @LoggedIn User getCurrentUser() {\n"
+" return user;\n"
+" }\n"
+"\n"
+"}]]>"
#. Tag: para
#: example.xml:23
#, no-c-format
msgid "Of course, <literal>@LoggedIn</literal> is a binding annotation:"
-msgstr ""
+msgstr "Natürlich handelt es sich bei <literal>@LoggedIn</literal> um eine \"Binding\"-Annotation:"
#. Tag: programlisting
#: example.xml:25
@@ -137,12 +205,16 @@
"@BindingType\n"
"public @interface LoggedIn {}]]>"
msgstr ""
+"<![CDATA[@Retention(RUNTIME)\n"
+"@Target({TYPE, METHOD, FIELD})\n"
+"@BindingType\n"
+"public @interface LoggedIn {}]]>"
#. Tag: para
#: example.xml:27
#, no-c-format
msgid "Now, any other Web Bean can easily inject the current user:"
-msgstr ""
+msgstr "Jetzt kann jedes andere Web Bean den aktuellen Benutzer auf leichte Weise einspeisen:"
#. Tag: programlisting
#: example.xml:29
@@ -161,6 +233,18 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[public class DocumentEditor {\n"
+"\n"
+" @Current Document document;\n"
+" @LoggedIn User currentUser;\n"
+" @PersistenceContext EntityManager docDatabase;\n"
+" \n"
+" public void save() {\n"
+" document.setCreatedBy(currentUser);\n"
+" docDatabase.persist(document);\n"
+" }\n"
+" \n"
+"}]]>"
#. Tag: para
#: example.xml:31
@@ -169,4 +253,5 @@
"Hopefully, this example gives a flavor of the Web Bean programming model. In "
"the next chapter, we'll explore Web Beans dependency injection in greater "
"depth."
-msgstr ""
+msgstr "Wir hoffen, dass Ihnen dieses Beispiel einen Vorgeschmack auf das Web Bean Programmiermodell gegeben hat. Im nächsten Kapitel sehen wir uns die Web Beans Dependency-Einspeisung näher an."
+
15 years, 3 months
[webbeans-commits] Webbeans SVN: r1251 - doc/trunk/reference/de-DE.
by webbeans-commits@lists.jboss.org
Author: jdimanos
Date: 2009-01-27 15:35:14 -0500 (Tue, 27 Jan 2009)
New Revision: 1251
Modified:
doc/trunk/reference/de-DE/part2.po
Log:
update
Modified: doc/trunk/reference/de-DE/part2.po
===================================================================
--- doc/trunk/reference/de-DE/part2.po 2009-01-27 19:56:34 UTC (rev 1250)
+++ doc/trunk/reference/de-DE/part2.po 2009-01-27 20:35:14 UTC (rev 1251)
@@ -1,3 +1,4 @@
+# translation of part2.po to
# Language de-DE translations for Introduction_to_Web_Beans package.
# Automatically generated, 2009.
#
@@ -3,13 +4,14 @@
msgid ""
msgstr ""
-"Project-Id-Version: Introduction_to_Web_Beans VERSION\n"
+"Project-Id-Version: part2\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-10 14:18+0000\n"
-"PO-Revision-Date: 2009-01-10 14:18+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-28 07:35+1100\n"
+"Last-Translator: \n"
+"Language-Team: <en(a)li.org>\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: para
@@ -20,19 +22,20 @@
"The first major theme of Web Beans is <emphasis>loose coupling</emphasis>. "
"We've already seen three means of achieving loose coupling:"
msgstr ""
+"Das erste wichtige Thema von Web Beans ist <emphasis>Loose Coupling</emphasis> (lose Paarung). "
+"Wir haben bereits drei Wege gesehen, diese lose Paarung zu erreichen:"
#. Tag: para
#: part2.xml:10
#, no-c-format
-msgid ""
-"<emphasis>deployment types</emphasis> enable deployment time polymorphism,"
-msgstr ""
+msgid "<emphasis>deployment types</emphasis> enable deployment time polymorphism,"
+msgstr "<emphasis>Deployment-Typen</emphasis> aktivieren Polymorphie zum Zeitpunkt des Deployment, "
#. Tag: para
#: part2.xml:14
#, no-c-format
msgid "<emphasis>producer methods</emphasis> enable runtime polymorphism, and"
-msgstr ""
+msgstr "<emphasis>Producer Methoden</emphasis> aktivieren Polymorphie zur Runtime, und "
#. Tag: para
#: part2.xml:18
@@ -41,6 +44,8 @@
"<emphasis>contextual lifecycle management</emphasis> decouples Web Bean "
"lifecycles."
msgstr ""
+"<emphasis>kontextuelles Lebenszyklus-Management</emphasis> entkoppelt Web Bean "
+"Lebenszyklen."
#. Tag: para
#: part2.xml:23
@@ -50,7 +55,7 @@
"client is no longer tightly bound to an implementation of an API, nor is it "
"required to manage the lifecycle of the server object. This approach lets "
"<emphasis>stateful objects interact as if they were services</emphasis>."
-msgstr ""
+msgstr "Diese Techniken dienen der Aktivierung der losen Paarung (\"Loose Coupling\") von Client und Server. Der Client ist nicht mehr eng an eine API-Implementierung gebunden und muss den Lebenszyklus des Server-Objekts nicht mehr verwalten. Dadurch können <emphasis>Objekte, die \"stateful\" sind, interagieren als seien Sie Dienste </emphasis>."
#. Tag: para
#: part2.xml:28
@@ -61,7 +66,7 @@
"attempted to provide the facilities listed above invariably did it by "
"sacrificing type safety. Web Beans is the first technology that achieves "
"this level of loose coupling in a typesafe way."
-msgstr ""
+msgstr "Lose Paarung macht ein System <emphasis>dynamischer</emphasis>. Das System kann auf gut definierte Weise auf Änderungen reagieren. In der Vergangenheit war es der Fall, dass Frameworks die versuchten die obigen Facilities bereitzustellen, dies auf Kosten der Typensicherheit taten. Bei Web Beans handelt es sich um die erste Technologie, die diese Ebene der losen Paarung auf typensichere Weise ermöglicht."
#. Tag: para
#: part2.xml:34
@@ -69,7 +74,7 @@
msgid ""
"Web Beans provides three extra important facilities that further the goal of "
"loose coupling:"
-msgstr ""
+msgstr "Web Beans bieten drei weitere wichtige Facilities, die das Ziel loser Paarung weiterbringen:"
#. Tag: para
#: part2.xml:39
@@ -78,6 +83,8 @@
"<emphasis>interceptors</emphasis> decouple technical concerns from business "
"logic,"
msgstr ""
+"<emphasis>Interzeptoren</emphasis> entkoppeln technische Probleme von Business "
+"Logik,"
#. Tag: para
#: part2.xml:43
@@ -85,7 +92,7 @@
msgid ""
"<emphasis>decorators</emphasis> may be used to decouple some business "
"concerns, and"
-msgstr ""
+msgstr "<emphasis>Dekoratoren</emphasis> (\"Decorators\") können eingesetzt werden, um einige Business Probleme zu entkoppeln und"
#. Tag: para
#: part2.xml:47
@@ -93,10 +100,11 @@
msgid ""
"<emphasis>event notifications</emphasis> decouple event producers from event "
"consumers."
-msgstr ""
+msgstr "<emphasis>Ereignis Benachrichtigungen</emphasis> (\"Event Notifications\") entkoppeln Ereignis-Producer von Ereignis-Konsument."
#. Tag: para
#: part2.xml:52
#, no-c-format
msgid "Let's explore interceptors first."
-msgstr ""
+msgstr "Sehen wir uns zunächst die Interzeptoren an."
+
15 years, 3 months
[webbeans-commits] Webbeans SVN: r1250 - doc/trunk/reference/de-DE.
by webbeans-commits@lists.jboss.org
Author: jdimanos
Date: 2009-01-27 14:56:34 -0500 (Tue, 27 Jan 2009)
New Revision: 1250
Modified:
doc/trunk/reference/de-DE/Author_Group.po
Log:
update
Modified: doc/trunk/reference/de-DE/Author_Group.po
===================================================================
--- doc/trunk/reference/de-DE/Author_Group.po 2009-01-27 19:53:27 UTC (rev 1249)
+++ doc/trunk/reference/de-DE/Author_Group.po 2009-01-27 19:56:34 UTC (rev 1250)
@@ -1,3 +1,4 @@
+# translation of Author_Group.po to
# Language de-DE translations for Introduction_to_Web_Beans package.
# Automatically generated, 2009.
#
@@ -3,19 +4,20 @@
msgid ""
msgstr ""
-"Project-Id-Version: Introduction_to_Web_Beans VERSION\n"
+"Project-Id-Version: Author_Group\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-10 14:18+0000\n"
-"PO-Revision-Date: 2009-01-10 14:18+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-28 06:56+1100\n"
+"Last-Translator: \n"
+"Language-Team: <en(a)li.org>\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: author
#: Author_Group.xml:4
#, no-c-format
msgid "<firstname>Gavin</firstname> <surname>King</surname>"
-msgstr ""
+msgstr "<firstname>Gavin</firstname> <surname>King</surname>"
#. Tag: affiliation
@@ -26,12 +28,14 @@
"<jobtitle>Web Beans (JSR-299) specification lead</jobtitle> <orgname>Red Hat "
"Middleware LLC</orgname>"
msgstr ""
+"<jobtitle>Web Beans (JSR-299) Spezifikations-Lead</jobtitle> <orgname>Red Hat "
+"Middleware LLC</orgname>"
#. Tag: author
#: Author_Group.xml:12
#, no-c-format
msgid "<firstname>Pete</firstname> <surname>Muir</surname>"
-msgstr ""
+msgstr "<firstname>Pete</firstname> <surname>Muir</surname>"
#. Tag: affiliation
#: Author_Group.xml:15
@@ -40,21 +44,24 @@
"<jobtitle>Web Beans (JSR-299) Reference Implementation lead </jobtitle> "
"<orgname>Red Hat Middleware LLC</orgname>"
msgstr ""
+"<jobtitle>Web Beans (JSR-299) Referenz Implementations-Lead </jobtitle> "
+"<orgname>Red Hat Middleware LLC</orgname>"
#. Tag: othercredit
#: Author_Group.xml:21
#, no-c-format
msgid "<firstname>Nicola</firstname> <surname>Benaglia</surname>"
-msgstr ""
+msgstr "<firstname>Nicola</firstname> <surname>Benaglia</surname>"
#. Tag: contrib
#: Author_Group.xml:24 Author_Group.xml:29
#, no-c-format
msgid "Italian Translation"
-msgstr ""
+msgstr "Italienische Übersetzung"
#. Tag: othercredit
#: Author_Group.xml:26
#, no-c-format
msgid "<firstname>Francesco</firstname> <surname>Milesi</surname>"
-msgstr ""
+msgstr "<firstname>Francesco</firstname> <surname>Milesi</surname>"
+
15 years, 3 months
[webbeans-commits] Webbeans SVN: r1249 - doc/trunk/reference/de-DE.
by webbeans-commits@lists.jboss.org
Author: jdimanos
Date: 2009-01-27 14:53:27 -0500 (Tue, 27 Jan 2009)
New Revision: 1249
Modified:
doc/trunk/reference/de-DE/Book_Info.po
Log:
update
Modified: doc/trunk/reference/de-DE/Book_Info.po
===================================================================
--- doc/trunk/reference/de-DE/Book_Info.po 2009-01-27 19:47:31 UTC (rev 1248)
+++ doc/trunk/reference/de-DE/Book_Info.po 2009-01-27 19:53:27 UTC (rev 1249)
@@ -1,3 +1,4 @@
+# translation of Book_Info.po to
# Language de-DE translations for Introduction_to_Web_Beans package.
# Automatically generated, 2009.
#
@@ -3,19 +4,20 @@
msgid ""
msgstr ""
-"Project-Id-Version: Introduction_to_Web_Beans VERSION\n"
+"Project-Id-Version: Book_Info\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-10 14:18+0000\n"
-"PO-Revision-Date: 2009-01-10 14:18+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-28 06:53+1100\n"
+"Last-Translator: \n"
+"Language-Team: <en(a)li.org>\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
#: Book_Info.xml:4
#, no-c-format
msgid "Introduction to Web Beans"
-msgstr ""
+msgstr "Einführung in Web Beans"
#. Tag: subtitle
@@ -25,4 +27,5 @@
msgid ""
"The new Java standard for dependency injection and contextual state "
"management"
-msgstr ""
+msgstr "Der neue Java Standard für \"Dependency-Injection\" und kontextuellem Status-Management"
+
15 years, 3 months
[webbeans-commits] Webbeans SVN: r1248 - doc/trunk/reference/de-DE.
by webbeans-commits@lists.jboss.org
Author: jdimanos
Date: 2009-01-27 14:47:31 -0500 (Tue, 27 Jan 2009)
New Revision: 1248
Modified:
doc/trunk/reference/de-DE/part4.po
Log:
update
Modified: doc/trunk/reference/de-DE/part4.po
===================================================================
--- doc/trunk/reference/de-DE/part4.po 2009-01-27 19:27:53 UTC (rev 1247)
+++ doc/trunk/reference/de-DE/part4.po 2009-01-27 19:47:31 UTC (rev 1248)
@@ -1,3 +1,4 @@
+# translation of part4.po to
# Language de-DE translations for Introduction_to_Web_Beans package.
# Automatically generated, 2009.
#
@@ -3,13 +4,14 @@
msgid ""
msgstr ""
-"Project-Id-Version: Introduction_to_Web_Beans VERSION\n"
+"Project-Id-Version: part4\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-10 14:18+0000\n"
-"PO-Revision-Date: 2009-01-10 14:18+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-28 06:47+1100\n"
+"Last-Translator: \n"
+"Language-Team: <en(a)li.org>\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: para
@@ -24,6 +26,8 @@
"foundation for a new ecosystem of portable extensions and integration with "
"existing frameworks and technologies."
msgstr ""
+"Das dritte Thema von Web Beans ist die <emphasis>Integration</emphasis>. Web Beans "
+"wurden derart entwickelt, dass sie mit anderer Technologie zusammenarbeiten und dem Anwendungsentwickler dabei helfen, diese andere Technologie zusammenzufügen. Bei Web Beans handelt es sich um offene Technologie. Sie bilden einen Teil des Java EE Ökosystems und sind selbst die Grundlage für ein neues Ökosystem portabler Erweiterungen und Integration mit bestehenden Frameworks und bestehender Technologie."
#. Tag: para
#: part4.xml:12
@@ -38,6 +42,9 @@
"development, but Web Beans makes it easier to use the technologies which are "
"not yet part of the platform seamlessly within the Java EE environment."
msgstr ""
+"Wir haben bereits gesehen, wie Web Beans bei der Integration von EJB und JSF helfen, indem sie gestatten, dass EJBs direkt an JSF-Seiten gebunden werden. Das ist nur der Anfang. Web Beans "
+"bieten dasselbe Potential zur Diversifizierung anderer Technologien, wie etwa Business "
+"Process Management Engines, anderer Web Frameworks und Komponentenmodellen Dritter. Die Java EE Plattform wird nie zur Standardisierung aller interessanter Technologien in der Lage sein, die bei der Entwicklung von Java-Anwendungen verwendet werden, aber Web Beans vereinfachen die nahtlose Verwendung solcher Technologien, die noch nicht Teil der Plattform sind, innerhalb einer Java EE Umgebung."
#. Tag: para
#: part4.xml:21
@@ -49,4 +56,5 @@
"need to use these SPIs directly, but it's nice to know they are there if you "
"need them. Most importantly, you'll take advantage of them indirectly, every "
"time you use a third-party extension."
-msgstr ""
+msgstr "Wir wollen Ihnen jetzt zeigen, wie Sie die Java EE platform in einer Web Beans verwendenden Anwendung am besten nutzen. Wir sehen uns auch kurz einen Satz von SPIs an, die portable Erweiterungen zu Web Beans unterstützen sollen. Sie werden diese SPIs vielleicht nie direkt benutzen müssen, aber es ist hilfreich diese zu kennen, falls Sie sie einmal brauchen. Primär ist wichtig, dass Sie diese bei jeder Verwendung von Erweiterungen Dritter indirekt nutzen können."
+
15 years, 3 months
[webbeans-commits] Webbeans SVN: r1247 - doc/trunk/reference/de-DE.
by webbeans-commits@lists.jboss.org
Author: jdimanos
Date: 2009-01-27 14:27:53 -0500 (Tue, 27 Jan 2009)
New Revision: 1247
Modified:
doc/trunk/reference/de-DE/next.po
Log:
update
Modified: doc/trunk/reference/de-DE/next.po
===================================================================
--- doc/trunk/reference/de-DE/next.po 2009-01-27 15:25:32 UTC (rev 1246)
+++ doc/trunk/reference/de-DE/next.po 2009-01-27 19:27:53 UTC (rev 1247)
@@ -1,3 +1,4 @@
+# translation of next.po to
# Language de-DE translations for Introduction_to_Web_Beans package.
# Automatically generated, 2009.
#
@@ -3,19 +4,20 @@
msgid ""
msgstr ""
-"Project-Id-Version: Introduction_to_Web_Beans VERSION\n"
+"Project-Id-Version: next\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-10 14:18+0000\n"
-"PO-Revision-Date: 2009-01-10 14:18+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-28 06:27+1100\n"
+"Last-Translator: \n"
+"Language-Team: <en(a)li.org>\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
#: next.xml:4
#, no-c-format
msgid "Next steps"
-msgstr ""
+msgstr "Die nächsten Schritte"
#. Tag: para
@@ -25,7 +27,7 @@
msgid ""
"Because Web Beans is so new, there's not yet a lot of information available "
"online."
-msgstr ""
+msgstr "Da Web Beans so neu sind, existieren noch nicht so viele Informationen online."
#. Tag: para
#: next.xml:9
@@ -36,7 +38,7 @@
"the length of this article, and almost as readable. But, of course, it "
"covers many details that we've skipped over. The spec is available from "
"<literal>http://jcp.org/en/jsr/detail?id=299</literal>."
-msgstr ""
+msgstr "Natürlich ist die Web Beans Spezifikation die beste Quelle für weitere Information zu Web Beans. Die Spezifikation umfasst rund 100 Seiten, ist also nur etwa doppelt so lang wie dieser Artikel, aber nahezu so einfach verständlich wie dieser. Sie enthält aber zahlreiche Einzelheiten, auf die hier nicht eingegangen wird. Die Spezifikation ist unter <literal>http://jcp.org/en/jsr/detail?id=299</literal> verfügbar."
#. Tag: para
#: next.xml:15
@@ -47,3 +49,7 @@
"Beans spec lead blog at <literal>http://in.relation.to</literal>. This "
"article is substantially based upon a series of blog entries published there."
msgstr ""
+"Die Web Beans Referenzimplementierung wird unter <literal>http://"
+"seamframework.org/WebBeans</literal> entwickelt. Das RI Entwicklungsteam und die Web "
+"Beans Spezifikation führen unter <literal>http://in.relation.to</literal> einen Blog. Dieser Artikel basiert im Wesentlichen auf eine dort veröffentlichte Reihe von Blog-Einträgen."
+
15 years, 3 months
[webbeans-commits] Webbeans SVN: r1246 - in ri/trunk: webbeans-api/src/main/java/javax/context and 6 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-01-27 10:25:32 -0500 (Tue, 27 Jan 2009)
New Revision: 1246
Modified:
ri/trunk/webbeans-api/src/main/java/javax/annotation/Named.java
ri/trunk/webbeans-api/src/main/java/javax/annotation/Stereotype.java
ri/trunk/webbeans-api/src/main/java/javax/context/ApplicationScoped.java
ri/trunk/webbeans-api/src/main/java/javax/context/Context.java
ri/trunk/webbeans-api/src/main/java/javax/context/ContextNotActiveException.java
ri/trunk/webbeans-api/src/main/java/javax/context/Contextual.java
ri/trunk/webbeans-api/src/main/java/javax/context/Conversation.java
ri/trunk/webbeans-api/src/main/java/javax/context/ConversationScoped.java
ri/trunk/webbeans-api/src/main/java/javax/context/Dependent.java
ri/trunk/webbeans-api/src/main/java/javax/context/RequestScoped.java
ri/trunk/webbeans-api/src/main/java/javax/context/ScopeType.java
ri/trunk/webbeans-api/src/main/java/javax/context/SessionScoped.java
ri/trunk/webbeans-api/src/main/java/javax/decorator/Decorates.java
ri/trunk/webbeans-api/src/main/java/javax/decorator/Decorator.java
ri/trunk/webbeans-api/src/main/java/javax/event/AfterTransactionCompletion.java
ri/trunk/webbeans-api/src/main/java/javax/event/AfterTransactionFailure.java
ri/trunk/webbeans-api/src/main/java/javax/event/AfterTransactionSuccess.java
ri/trunk/webbeans-api/src/main/java/javax/event/BeforeTransactionCompletion.java
ri/trunk/webbeans-api/src/main/java/javax/event/Event.java
ri/trunk/webbeans-api/src/main/java/javax/event/IfExists.java
ri/trunk/webbeans-api/src/main/java/javax/event/Observer.java
ri/trunk/webbeans-api/src/main/java/javax/event/ObserverException.java
ri/trunk/webbeans-api/src/main/java/javax/event/Observes.java
ri/trunk/webbeans-api/src/main/java/javax/inject/AmbiguousDependencyException.java
ri/trunk/webbeans-api/src/main/java/javax/inject/AnnotationLiteral.java
ri/trunk/webbeans-api/src/main/java/javax/inject/BindingType.java
ri/trunk/webbeans-api/src/main/java/javax/inject/CreationException.java
ri/trunk/webbeans-api/src/main/java/javax/inject/DefinitionException.java
ri/trunk/webbeans-api/src/main/java/javax/inject/DeploymentException.java
ri/trunk/webbeans-api/src/main/java/javax/inject/DeploymentType.java
ri/trunk/webbeans-api/src/main/java/javax/inject/Disposes.java
ri/trunk/webbeans-api/src/main/java/javax/inject/ExecutionException.java
ri/trunk/webbeans-api/src/main/java/javax/inject/IllegalProductException.java
ri/trunk/webbeans-api/src/main/java/javax/inject/InconsistentSpecializationException.java
ri/trunk/webbeans-api/src/main/java/javax/inject/Initializer.java
ri/trunk/webbeans-api/src/main/java/javax/inject/Instance.java
ri/trunk/webbeans-api/src/main/java/javax/inject/NullableDependencyException.java
ri/trunk/webbeans-api/src/main/java/javax/inject/Produces.java
ri/trunk/webbeans-api/src/main/java/javax/inject/Standard.java
ri/trunk/webbeans-api/src/main/java/javax/inject/TypeLiteral.java
ri/trunk/webbeans-api/src/main/java/javax/inject/UnproxyableDependencyException.java
ri/trunk/webbeans-api/src/main/java/javax/inject/UnsatisfiedDependencyException.java
ri/trunk/webbeans-api/src/main/java/javax/inject/UnserializableDependencyException.java
ri/trunk/webbeans-api/src/main/java/javax/inject/manager/Bean.java
ri/trunk/webbeans-api/src/main/java/javax/inject/manager/Decorator.java
ri/trunk/webbeans-api/src/main/java/javax/inject/manager/Deployed.java
ri/trunk/webbeans-api/src/main/java/javax/inject/manager/Initialized.java
ri/trunk/webbeans-api/src/main/java/javax/inject/manager/InterceptionType.java
ri/trunk/webbeans-api/src/main/java/javax/inject/manager/Interceptor.java
ri/trunk/webbeans-api/src/main/java/javax/inject/manager/Manager.java
ri/trunk/webbeans-api/src/main/java/javax/interceptor/Interceptor.java
ri/trunk/webbeans-api/src/main/java/javax/interceptor/InterceptorBindingType.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
Log:
javadoc
Modified: ri/trunk/webbeans-api/src/main/java/javax/annotation/Named.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/annotation/Named.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/annotation/Named.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -27,7 +27,7 @@
import java.lang.annotation.Target;
/**
- * Specifies the name of a Web Bean.
+ * Specifies the name of a bean.
*
* @author Gavin King
* @author Pete Muir
@@ -42,9 +42,16 @@
/**
* If no name is explicitly specified, the default name is used.
*
- * @return the component name
+ * For simple beans and session beans the default name is the unqualified
+ * class name of the bean class, after converting the first character to
+ * lower case.
+ *
+ * For producer methods the default name is the method name, unless the
+ * method follows the JavaBeans property getter naming convention, in which
+ * case the default name is the JavaBeans property name.
+ *
+ * @return the bean name
*/
-
public String value() default "";
}
Modified: ri/trunk/webbeans-api/src/main/java/javax/annotation/Stereotype.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/annotation/Stereotype.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/annotation/Stereotype.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -26,7 +26,7 @@
import java.lang.annotation.Target;
/**
- * Specifies that an annotation type is a Web Beans stereotype.
+ * Specifies that an annotation type is a stereotype.
*
* @author Pete Muir
* @author Gavin King
@@ -38,8 +38,18 @@
public @interface Stereotype
{
+ /**
+ * Restrict the scope of the stereotyped bean
+ *
+ * @return the allowed scopes
+ */
public Class<? extends Annotation>[] supportedScopes() default {};
+ /**
+ * Require that stereotype beans have certain API types
+ *
+ * @return the required types
+ */
public Class<?>[] requiredTypes() default {};
}
Modified: ri/trunk/webbeans-api/src/main/java/javax/context/ApplicationScoped.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/context/ApplicationScoped.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/context/ApplicationScoped.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -28,10 +28,9 @@
import java.lang.annotation.Target;
/**
- * Specifies that a Web Bean is application scoped.
+ * Specifies that a bean is application scoped.
*
* @author Gavin King
- *
* @author Pete Muir
*/
Modified: ri/trunk/webbeans-api/src/main/java/javax/context/Context.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/context/Context.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/context/Context.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -20,7 +20,7 @@
import java.lang.annotation.Annotation;
/**
- * The contract between the Web Bean manager and a Web Beans context object.
+ * The contract between the manager and a contextual object.
* This interface should not be called directly by the application.
*
* @author Gavin King
@@ -30,12 +30,44 @@
public interface Context
{
+ /**
+ * The scope which this context implements
+ *
+ * @return the scope
+ */
public Class<? extends Annotation> getScopeType();
+ /**
+ * Return an existing instance of a contextual type or create a new instance
+ * of a contextual type
+ *
+ * @param <T> the type of contextual type
+ * @param contextual the contextual type
+ * @param creationalContext the creational context in which incompletely
+ * initialized may be placed
+ * @return the contextual instance, or null if no creational context is given
+ * and an instance does not exist in the context
+ * @throws ContextNotActiveException if the context is not active
+ */
public <T> T get(Contextual<T> contextual, CreationalContext<T> creationalContext);
+ /**
+ * Return an existing instance of a contextual type or create a new instance
+ * of a contextual type
+ *
+ * @param <T> the type of the contextual type
+ * @param contextual the contextual type
+ * @return the contextual instance, or null if an instance does not exist in
+ * the context
+ * @throws ContextNotActiveException if the context is not active
+ */
public <T> T get(Contextual<T> contextual);
+ /**
+ * The context is only active at certain points in the application lifecycle
+ *
+ * @return true if the context is active
+ */
boolean isActive();
}
Modified: ri/trunk/webbeans-api/src/main/java/javax/context/ContextNotActiveException.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/context/ContextNotActiveException.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/context/ContextNotActiveException.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -33,6 +33,8 @@
public class ContextNotActiveException extends ExecutionException
{
+ private static final long serialVersionUID = -3599813072560026919L;
+
public ContextNotActiveException()
{
super();
Modified: ri/trunk/webbeans-api/src/main/java/javax/context/Contextual.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/context/Contextual.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/context/Contextual.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -17,15 +17,31 @@
package javax.context;
+import javax.inject.CreationException;
+
/**
- * The contract between a Context and an object that has its lifecycle managed
- * by the context
+ * The contract between a context and a contextual type
+ * This interface should not be implemented directly by the application.
*
* @author Nicklas Karlsson
+ * @author Pete Muir
*/
public interface Contextual<T>
{
+ /**
+ * Create a new instance of the contextual type
+ *
+ * @param creationalContext the creational context in which incompletely
+ * initialized contexts may be placed
+ * @return the contextual instance
+ * @throws CreationException if a checked exception occurs whilst creating
+ * the instance
+ */
public T create(CreationalContext<T> creationalContext);
+ /**
+ * Destroys an instance of the contexual type
+ * @param instance the insance to destroy
+ */
public void destroy(T instance);
}
Modified: ri/trunk/webbeans-api/src/main/java/javax/context/Conversation.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/context/Conversation.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/context/Conversation.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -1,11 +1,76 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2008, Red Hat Middleware LLC, and individual contributors
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+* http://www.apache.org/licenses/LICENSE-2.0
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
package javax.context;
-public interface Conversation {
+/**
+ * Provides conversation management operations
+ *
+ * @author Pete Muir
+ *
+ */
+public interface Conversation
+{
+
+ /**
+ * Mark a transient conversation long running. The container will generate an
+ * id
+ */
public void begin();
+
+ /**
+ * Mark a transient conversation long running.
+ *
+ * @param id the id of the conversation
+ */
public void begin(String id);
+
+ /**
+ * Mark a long running conversation transient
+ */
public void end();
+
+ /**
+ * Determine if a conversation is long running or transient
+ *
+ * @return true if the conversation is long running
+ */
public boolean isLongRunning();
+
+ /**
+ * Get the id associated with the current long running conversation
+ *
+ * @return the id of the current long running conversation
+ */
public String getId();
+
+ /**
+ * Get the timeout for the current long running conversation.
+ *
+ * The conversation will destroy the conversation if it has not been accessed
+ * within this time period.
+ *
+ * @return the current timeout in milliseconds
+ */
public long getTimeout();
+
+ /**
+ * Set the timeout for the current long running conversation
+ *
+ * @param milliseconds the new timeout in milliseconds
+ */
public void setTimeout(long milliseconds);
}
\ No newline at end of file
Modified: ri/trunk/webbeans-api/src/main/java/javax/context/ConversationScoped.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/context/ConversationScoped.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/context/ConversationScoped.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -27,7 +27,7 @@
import java.lang.annotation.Target;
/**
- * Specifies that a Web Bean is conversation scoped.
+ * Specifies that a bean is conversation scoped.
*
* @author Gavin King
* @author Pete Muir
Modified: ri/trunk/webbeans-api/src/main/java/javax/context/Dependent.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/context/Dependent.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/context/Dependent.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -28,7 +28,7 @@
import java.lang.annotation.Target;
/**
- * Specifies that a Web Bean is dependent scoped.
+ * Specifies that a bean is dependent scoped.
*
* @author Gavin King
* @author Pete Muir
Modified: ri/trunk/webbeans-api/src/main/java/javax/context/RequestScoped.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/context/RequestScoped.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/context/RequestScoped.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -28,7 +28,7 @@
import java.lang.annotation.Target;
/**
- * Specifies that a Web Bean is request scoped.
+ * Specifies that a bean is request scoped.
*
* @author Gavin King
* @author Pete Muir
Modified: ri/trunk/webbeans-api/src/main/java/javax/context/ScopeType.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/context/ScopeType.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/context/ScopeType.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -25,7 +25,7 @@
import java.lang.annotation.Target;
/**
- * Specifies that an annotation type is a Web Beans scope type.
+ * Specifies that an annotation type is a scope type.
*
* @author Gavin King
* @author Pete Muir
@@ -43,7 +43,7 @@
boolean normal() default true;
/**
- * @return true if this is a passivating scope (Web Beans with this scope
+ * @return true if this is a passivating scope (beans with this scope
* type must be serializable)
*/
boolean passivating() default false;
Modified: ri/trunk/webbeans-api/src/main/java/javax/context/SessionScoped.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/context/SessionScoped.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/context/SessionScoped.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -28,7 +28,7 @@
import java.lang.annotation.Target;
/**
- * Specifies that a Web Bean is session scoped.
+ * Specifies that a bean is session scoped.
*
* @author Gavin King
* @author Pete Muir
Modified: ri/trunk/webbeans-api/src/main/java/javax/decorator/Decorates.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/decorator/Decorates.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/decorator/Decorates.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -30,7 +30,6 @@
* @author Gavin King
* @author Pete Muir
*/
-
@Target(FIELD)
@Retention(RUNTIME)
@Documented
Modified: ri/trunk/webbeans-api/src/main/java/javax/decorator/Decorator.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/decorator/Decorator.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/decorator/Decorator.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -27,12 +27,11 @@
import javax.annotation.Stereotype;
/**
- * Specifies that a class is a Web Beans decorator.
+ * Specifies that a class is a decorator.
*
* @author Gavin King
* @author Pete Muir
*/
-
@Target(TYPE)
@Retention(RUNTIME)
@Documented
Modified: ri/trunk/webbeans-api/src/main/java/javax/event/AfterTransactionCompletion.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/event/AfterTransactionCompletion.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/event/AfterTransactionCompletion.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -24,7 +24,7 @@
import java.lang.annotation.Target;
/**
- * Specifies that an observer method is a transactional observer.
+ * Specifies that an observer method is an after transaction completion observer.
*
* @author Gavin King
*
Modified: ri/trunk/webbeans-api/src/main/java/javax/event/AfterTransactionFailure.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/event/AfterTransactionFailure.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/event/AfterTransactionFailure.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -24,7 +24,7 @@
import java.lang.annotation.Target;
/**
- * Specifies that an observer method is a transactional observer.
+ * Specifies that an observer method is an after transaction failure observer.
*
* @author Gavin King
*
Modified: ri/trunk/webbeans-api/src/main/java/javax/event/AfterTransactionSuccess.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/event/AfterTransactionSuccess.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/event/AfterTransactionSuccess.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -24,7 +24,7 @@
import java.lang.annotation.Target;
/**
- * Specifies that an observer method is a transactional observer.
+ * Specifies that an observer method is an transaction failure observer.
*
* @author Gavin King
*
Modified: ri/trunk/webbeans-api/src/main/java/javax/event/BeforeTransactionCompletion.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/event/BeforeTransactionCompletion.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/event/BeforeTransactionCompletion.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -24,7 +24,8 @@
import java.lang.annotation.Target;
/**
- * Specifies that an observer method is a transactional observer.
+ * Specifies that an observer method is an after transaction completion
+ * observer.
*
* @author Gavin King
*
Modified: ri/trunk/webbeans-api/src/main/java/javax/event/Event.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/event/Event.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/event/Event.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -27,14 +27,26 @@
* @author Pete Muir
*
* @param <T>
-* the type of the event object
+ * the type of the event object
*/
public interface Event<T>
{
+ /**
+ * Fire an event
+ *
+ * @param event the event type
+ * @param bindings the event bindings
+ */
public void fire(T event, Annotation... bindings);
+ /**
+ * Register an observer for a specific type
+ *
+ * @param observer the observer to register
+ * @param bindings the bindings to observe the event for
+ */
public void observe(Observer<T> observer, Annotation... bindings);
}
Modified: ri/trunk/webbeans-api/src/main/java/javax/event/IfExists.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/event/IfExists.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/event/IfExists.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -26,7 +26,7 @@
/**
* Specifies that an observer method is only called if the current instance of
- * the Web Bean declaring the observer method already exists.
+ * the bean declaring the observer method already exists.
*
* @author Gavin King
* @author Pete Muir
Modified: ri/trunk/webbeans-api/src/main/java/javax/event/Observer.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/event/Observer.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/event/Observer.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -1,7 +1,7 @@
package javax.event;
/**
- * The contract between the Web Bean manager and a Web Beans observer object.
+ * The contract between the manager and an observer object.
* This interface should not be called directly by the application.
*
* @author Gavin King
Modified: ri/trunk/webbeans-api/src/main/java/javax/event/ObserverException.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/event/ObserverException.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/event/ObserverException.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -20,6 +20,8 @@
import javax.inject.ExecutionException;
/**
+ * Wraps any checked exceptions which occur during the notification of an
+ * observer
*
* @author Pete Muir
*/
@@ -27,6 +29,8 @@
public class ObserverException extends ExecutionException
{
+ private static final long serialVersionUID = -801836224808304381L;
+
public ObserverException()
{
Modified: ri/trunk/webbeans-api/src/main/java/javax/event/Observes.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/event/Observes.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/event/Observes.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -25,7 +25,7 @@
import java.lang.annotation.Target;
/**
- * Specifies that a parameter of a method of a Web Bean
+ * Specifies that a parameter of a method of a bean
* implementation class is the event parameter
* of an observer method.
*
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/AmbiguousDependencyException.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/AmbiguousDependencyException.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/AmbiguousDependencyException.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -18,16 +18,18 @@
package javax.inject;
/**
- * An AmbiguousDependencyException is thrown when within the set of enabled Web
- * Beans with the API type and bind- ing types declared there exists no unique
- * Web Bean with a higher precedence than all other Web Beans in the set.
+ * An AmbiguousDependencyException is thrown when within the set of enabled
+ * beans with the API type and bind- ing types declared there exists no unique
+ * Web Bean with a higher precedence than all other beans in the set.
*
*
* @author Pete Muir
*/
public class AmbiguousDependencyException extends DeploymentException
{
-
+
+ private static final long serialVersionUID = -2132733164534544788L;
+
public AmbiguousDependencyException()
{
}
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/AnnotationLiteral.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/AnnotationLiteral.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/AnnotationLiteral.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -17,8 +17,15 @@
package javax.inject;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+
+
/**
- * Supports inline instantiation of annotation types.
+ * Supports inline instantiation of annotation type instances.
*
* @author Pete Muir
* @author Gavin King
@@ -26,13 +33,6 @@
* @param <T>
* the annotation type
*/
-import java.lang.annotation.Annotation;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-
-
public abstract class AnnotationLiteral<T extends Annotation> implements
Annotation
{
@@ -91,11 +91,21 @@
return null;
}
+ /**
+ * {@inheritDoc}
+ *
+ * @return {@inheritDoc}
+ */
public Class<? extends Annotation> annotationType()
{
return annotationType;
}
+ /**
+ * {@inheritDoc}
+ *
+ * @return {@inheritDoc}
+ */
@Override
public String toString()
{
@@ -112,6 +122,12 @@
return string + ")";
}
+ /**
+ * {@inheritDoc}
+ *
+ * @param other {@inheritDoc}
+ * @return {@inheritDoc}
+ */
@Override
public boolean equals(Object other)
{
@@ -136,10 +152,10 @@
}
@Override
- /*
- * The hash code of a primitive value v is equal to WrapperType.valueOf(v).hashCode(), where WrapperType is the wrapper type corresponding to the primitive type of v (Byte, Character, Double, Float, Integer, Long, Short, or Boolean).
- * The hash code of a string, enum, class, or annotation member-value I v is computed as by calling v.hashCode(). (In the case of annotation member values, this is a recursive definition.)
- * The hash code of an array member-value is computed by calling the appropriate overloading of Arrays.hashCode on the value. (There is one overloading for each primitive type, and one for object reference types.)
+ /**
+ * {@inheritDoc}
+ *
+ * @return {@inheritDoc}
*/
public int hashCode()
{
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/BindingType.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/BindingType.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/BindingType.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -26,7 +26,7 @@
/**
*
- * Specifies that an annotation type is a Web Beans binding type.
+ * Specifies that an annotation type is a binding type.
*
* @author Pete Muir
* @author Gavin King
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/CreationException.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/CreationException.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/CreationException.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -18,13 +18,15 @@
package javax.inject;
/**
+ * Wraps any checked exceptions which occur during creation of an bean
*
* @author Pete Muir
*/
-
public class CreationException extends ExecutionException
{
+ private static final long serialVersionUID = 1002854668862145298L;
+
public CreationException()
{
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/DefinitionException.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/DefinitionException.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/DefinitionException.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -18,12 +18,15 @@
package javax.inject;
/**
+ * Thrown if the definition of a bean is incorrect
*
* @author Pete Muir
*/
public class DefinitionException extends RuntimeException
{
+ private static final long serialVersionUID = 8014646336322875707L;
+
public DefinitionException()
{
super();
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/DeploymentException.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/DeploymentException.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/DeploymentException.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -18,12 +18,15 @@
package javax.inject;
/**
+ * Thrown if an error occurs during bean deployment
*
* @author Pete Muir
*/
public class DeploymentException extends RuntimeException
{
+ private static final long serialVersionUID = -332013557319725211L;
+
public DeploymentException()
{
super();
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/DeploymentType.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/DeploymentType.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/DeploymentType.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -25,7 +25,7 @@
import java.lang.annotation.Target;
/**
- * Specifies that an annotation type is a Web Beans deployment type.
+ * Specifies that an annotation type is a deployment type.
*
* @author Gavin King
* @author Pete Muir
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/Disposes.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/Disposes.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/Disposes.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -25,8 +25,8 @@
import java.lang.annotation.Target;
/**
- * Specifies that a parameter of a method of a Web Bean implementation class
- * class is the disposed parameter of a disposal method.
+ * Specifies that a parameter of a method of bean is the disposed parameter
+ * of a disposal method.
*
* @author Gavin King
* @author Pete Muir
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/ExecutionException.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/ExecutionException.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/ExecutionException.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -19,12 +19,15 @@
package javax.inject;
/**
+ * Thrown if an exception occurs during execution
*
* @author Pete Muir
*/
public class ExecutionException extends RuntimeException
{
+ private static final long serialVersionUID = -4418792077313780514L;
+
public ExecutionException()
{
super();
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/IllegalProductException.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/IllegalProductException.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/IllegalProductException.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -17,10 +17,14 @@
package javax.inject;
/**
+ * Thrown if a producer method returns a null value or a producer field contains
+ * a null value, and the scope of the method or field is not @Dependent
*/
public class IllegalProductException extends ExecutionException
{
+ private static final long serialVersionUID = -6280627846071966243L;
+
public IllegalProductException()
{
super();
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/InconsistentSpecializationException.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/InconsistentSpecializationException.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/InconsistentSpecializationException.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -25,6 +25,8 @@
public class InconsistentSpecializationException extends DeploymentException
{
+ private static final long serialVersionUID = 4359656880524913555L;
+
public InconsistentSpecializationException()
{
super();
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/Initializer.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/Initializer.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/Initializer.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -17,8 +17,8 @@
package javax.inject;
+import static java.lang.annotation.ElementType.CONSTRUCTOR;
import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.CONSTRUCTOR;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Documented;
@@ -26,8 +26,8 @@
import java.lang.annotation.Target;
/**
- * Specifies that a method of a Web Bean implementation class is a Web Beans
- * initializer method, or that a constructor is the Web Bean constructor.
+ * Specifies that a method of a bean is a bean initializer method, or that a
+ * constructor is the bean constructor.
*
* @author Gavin King
* @author Pete Muir
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/Instance.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/Instance.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/Instance.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -21,7 +21,7 @@
/**
- * An interface for looking up web beans of a particular type.
+ * An interface for looking up beans of a particular type.
*
* @author Gavin King
*
@@ -32,13 +32,13 @@
public interface Instance<T>
{
/**
- * Get an instance of a Web Bean of the specified type.
+ * Get an instance of a bean of the specified type.
*
* Additional binding annotations may be specified at the injection point.
*
* @param bindings
* Additional binding types
- * @return an instance of a Web Bean of the specified type
+ * @return an instance of a bean of the specified type
* @throws DuplicateBindingTypeException
* if two instances of the same binding type are passed
* @throws IllegalArgumentException
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/NullableDependencyException.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/NullableDependencyException.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/NullableDependencyException.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -19,12 +19,16 @@
package javax.inject;
/**
+ * Thrown if an injection point of primitive type resolves to a bean which may
+ * be null
*
* @author Pete Muir
*/
public class NullableDependencyException extends DeploymentException
{
+ private static final long serialVersionUID = 6877485218767005761L;
+
public NullableDependencyException()
{
super();
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/Produces.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/Produces.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/Produces.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -17,8 +17,8 @@
package javax.inject;
-import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Documented;
@@ -27,8 +27,7 @@
/**
*
- * Specifies that a method of a Web Bean implementation class is a producer
- * method.
+ * Specifies that a method of a bean is a producer method.
*
* @author Gavin King
* @author Pete Muir
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/Standard.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/Standard.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/Standard.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -27,8 +27,7 @@
import java.lang.annotation.Target;
/**
- * Deployment type for standard components defined by the Web Beans
- * specification.
+ * Deployment type for standard components defined by the JSR-299 specification.
*
* @author Gavin King
* @author Pete Muir
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/TypeLiteral.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/TypeLiteral.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/TypeLiteral.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -50,11 +50,21 @@
}
}
+ /**
+ * Get the actual type represented by type literal
+ *
+ * @return
+ */
public final Type getType()
{
return actualType;
}
+ /**
+ * Get the raw type represented by the type literal
+ *
+ * @return
+ */
@SuppressWarnings("unchecked")
public final Class<T> getRawType() {
Type type = getType();
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/UnproxyableDependencyException.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/UnproxyableDependencyException.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/UnproxyableDependencyException.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -19,12 +19,16 @@
package javax.inject;
/**
+ * Thrown if a bean has normal scope and the type cannot be proxied by the
+ * container
*
* @author Pete Muir
*/
public class UnproxyableDependencyException extends DeploymentException
{
+ private static final long serialVersionUID = 1667539354548135465L;
+
public UnproxyableDependencyException()
{
super();
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/UnsatisfiedDependencyException.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/UnsatisfiedDependencyException.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/UnsatisfiedDependencyException.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -19,12 +19,15 @@
package javax.inject;
/**
+ * Thrown if no beans can be resolved
*
* @author Pete Muir
*/
public class UnsatisfiedDependencyException extends DeploymentException
{
+ private static final long serialVersionUID = 5350603312442756709L;
+
public UnsatisfiedDependencyException()
{
super();
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/UnserializableDependencyException.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/UnserializableDependencyException.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/UnserializableDependencyException.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -19,12 +19,18 @@
package javax.inject;
/**
+ * Thrown if a simple bean is dependent scoped and injected into a stateful
+ * session bean, into a non-transient field, bean constructor parameter or
+ * initializer method parameter of a bean which declares a passivating scope, or
+ * into a parameter of a producer method which declares a passivating scope
*
* @author Pete Muir
*/
public class UnserializableDependencyException extends DeploymentException
{
+ private static final long serialVersionUID = -6287506607413810688L;
+
public UnserializableDependencyException()
{
super();
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/manager/Bean.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/manager/Bean.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/manager/Bean.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -24,41 +24,91 @@
import javax.context.Contextual;
/**
- * The contract between the Web Bean manager and a Web Bean. This interface
+ * The contract between the manager and a bean. This interface
* should not be called directly by the application.
*
* @author Gavin King
*
- * @param <T> an API type of the Web Bean
+ * @param <T> an API type of the bean
*/
public abstract class Bean<T> implements Contextual<T>
{
private final Manager manager;
+ /**
+ * Create an instance of a bean
+ *
+ * @param manager
+ */
protected Bean(Manager manager)
{
this.manager = manager;
}
+ /**
+ * Get the manager used to create this bean
+ *
+ * @return an instance of the manager
+ */
protected Manager getManager()
{
return manager;
}
+ /**
+ * The client-visible types of a bean
+ *
+ * @return the bean types
+ */
public abstract Set<Type> getTypes();
+ /**
+ * The bindings of a bean
+ *
+ * @return the bindings
+ */
public abstract Set<Annotation> getBindings();
+ /**
+ * The scope of a bean
+ *
+ * @return the scope
+ */
public abstract Class<? extends Annotation> getScopeType();
+ /**
+ * The deployment type of a bean
+ *
+ * @return the deployment type
+ */
public abstract Class<? extends Annotation> getDeploymentType();
+ /**
+ * The name of a bean
+ *
+ * @return the name
+ */
public abstract String getName();
+ /**
+ * The serializability of a bean
+ *
+ * @return true if the bean is serializable
+ */
public abstract boolean isSerializable();
+ /**
+ * The nullability of a bean
+ *
+ * @return true if the bean is nullable
+ */
public abstract boolean isNullable();
+ /**
+ * The injection points of a bean
+ *
+ * @return the injection points of a bean
+ */
public abstract Set<? extends InjectionPoint> getInjectionPoints();
}
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/manager/Decorator.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/manager/Decorator.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/manager/Decorator.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -20,18 +20,48 @@
import java.lang.annotation.Annotation;
import java.util.Set;
+/**
+ * The Bean object for a a decorator
+ *
+ * This interface should not be called directly by the application.
+ *
+ * @author Pete Muir
+ *
+ */
public abstract class Decorator extends Bean<Object>
{
+ /**
+ * Create an interceptor bean
+ *
+ * @param manager
+ * the manager to create the interceptor for
+ */
protected Decorator(Manager manager)
{
super(manager);
}
+ /**
+ * Obtains the type of the decorated bean
+ *
+ * @return
+ */
public abstract Class<?> getDelegateType();
+ /**
+ * Obtains the bindings of the decorated bean
+ *
+ * @return
+ */
public abstract Set<Annotation> getDelegateBindings();
+ /**
+ * Injects the delegate
+ *
+ * @param instance the instance to inject the delegate into
+ * @param delegate the delegate to inject
+ */
public abstract void setDelegate(Object instance, Object delegate);
}
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/manager/Deployed.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/manager/Deployed.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/manager/Deployed.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -27,8 +27,10 @@
import javax.inject.BindingType;
/**
- * Event binding type for the event that is raised by the Web Bean manager when
+ * Event binding type for the event that is raised by the manager when
* it has completed resolving and validation
+ *
+ * @author Pete Muir
*/
@BindingType
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/manager/Initialized.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/manager/Initialized.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/manager/Initialized.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -27,8 +27,10 @@
import javax.inject.BindingType;
/**
- * Event binding type for the event that is raised by the Web Bean manager when
+ * Event binding type for the event that is raised by the manager when
* it has completed discovery and bean creation
+ *
+ * @author Pete Muir
*/
@BindingType
@Retention(RUNTIME)
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/manager/InterceptionType.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/manager/InterceptionType.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/manager/InterceptionType.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -17,7 +17,37 @@
package javax.inject.manager;
+/**
+ * Identifies the kind of lifecycle callback or business method
+ *
+ * @author Pete Muir
+ *
+ */
public enum InterceptionType
{
- AROUND_INVOKE, POST_CONSTRUCT, PRE_DESTROY, PRE_PASSIVATE, POST_ACTIVATE
+
+ /**
+ * Intercepts method invocation
+ */
+ AROUND_INVOKE,
+
+ /**
+ * Intercepts bean construction
+ */
+ POST_CONSTRUCT,
+
+ /**
+ * Intercepts bean destruction
+ */
+ PRE_DESTROY,
+
+ /**
+ * Intercepts bean passivation
+ */
+ PRE_PASSIVATE,
+
+ /**
+ * Intercepts bean activation
+ */
+ POST_ACTIVATE
}
\ No newline at end of file
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/manager/Interceptor.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/manager/Interceptor.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/manager/Interceptor.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -21,16 +21,44 @@
import java.lang.reflect.Method;
import java.util.Set;
+/**
+ * The contract between the manager and a interceptor.
+ *
+ * This interface should not be called directly by the application.
+ *
+ * @author Pete Muir
+ *
+ */
public abstract class Interceptor extends Bean<Object>
{
-
+
+ /**
+ * Create an interceptor bean
+ *
+ * @param manager
+ * the manager to create the interceptor for
+ */
protected Interceptor(Manager manager)
{
super(manager);
}
-
+
+ /**
+ * The interceptor bindings used to bind an interceptor to a bean
+ *
+ * @return the interceptor bindings
+ */
public abstract Set<Annotation> getInterceptorBindingTypes();
-
+
+ /**
+ * The interceptor method for the specified lifecycle callback or business
+ * method
+ *
+ * @param type
+ * the interception type
+ * @return the method, or null if the interceptor does not intercept
+ * lifecycle callbacks or business methods
+ */
public abstract Method getMethod(InterceptionType type);
-
+
}
Modified: ri/trunk/webbeans-api/src/main/java/javax/inject/manager/Manager.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/inject/manager/Manager.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/inject/manager/Manager.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -24,68 +24,448 @@
import java.util.Set;
import javax.context.Context;
+import javax.context.ContextNotActiveException;
import javax.context.CreationalContext;
import javax.event.Observer;
+import javax.inject.AmbiguousDependencyException;
+import javax.inject.DuplicateBindingTypeException;
import javax.inject.TypeLiteral;
+import javax.inject.UnsatisfiedDependencyException;
/**
- * The contract between the application and the Web Bean manager. Also the
- * contract between the Web Bean manager and Bean, Context and Observer objects.
+ * The contract between the application and the manager. Also the contract
+ * between the manager and Bean, Context and Observer objects.
*
+ * The application should not normally need to call this interface.
+ *
* @author Gavin King
+ * @author Pete Muir
*
*/
public interface Manager
{
-
- public <T> Set<Bean<T>> resolveByType(Class<T> apiType, Annotation... bindings);
-
- public <T> Set<Bean<T>> resolveByType(TypeLiteral<T> apiType, Annotation... bindings);
-
+
+ /**
+ * Allows beans to be matched to injection point by considering bean type,
+ * bindings, and deployment precedence.
+ *
+ * Typesafe resolution usually occurs at container deployment time.
+ *
+ * @param <T>
+ * the type of the beans to be resolved
+ * @param type
+ * the type of the beans to be resolved
+ * @param bindings
+ * the bindings used to restrict the matched beans
+ * @return the matched beans
+ * @throws IllegalArgumentException
+ * if a parameterized type with a type parameter or a wildcard is
+ * passed
+ * @throws IllegalArgumentException
+ * if an annotation which is not a binding type is passed
+ * @throws DuplicateBindingTypeException
+ * if two instances of the same binding type are passed
+ */
+ public <T> Set<Bean<T>> resolveByType(Class<T> type, Annotation... bindings);
+
+ /**
+ * Allows beans to be matched to injection point by considering bean type,
+ * bindings, and deployment precedence.
+ *
+ * Typesafe resolution usually occurs at container deployment time.
+ *
+ * @param <T>
+ * the type of the beans to be resolved
+ * @param type
+ * the type of the beans to be resolved
+ * @param bindings
+ * the bindings used to restrict the matched beans
+ * @return the matched beans
+ * @throws IllegalArgumentException
+ * if a parameterized type with a type parameter or a wildcard is
+ * passed
+ * @throws IllegalArgumentException
+ * if an annotation which is not a binding type is passed
+ * @throws DuplicateBindingTypeException
+ * if two instances of the same binding type are passed
+ */
+ public <T> Set<Bean<T>> resolveByType(TypeLiteral<T> type, Annotation... bindings);
+
+ /**
+ * Obtains an instance of a bean by considering bean type, bindings, and
+ * deployment precedence.
+ *
+ * @param <T>
+ * the type of the bean to obtain
+ * @param type
+ * the type of the bean to obtain
+ * @param bindings
+ * the bindings used to restrict the matched beans
+ * @return an instance of the bean
+ * @throws IllegalArgumentException
+ * if a parameterized type with a type parameter or a wildcard is
+ * passed
+ * @throws IllegalArgumentException
+ * if an annotation which is not a binding type is passed
+ * @throws DuplicateBindingTypeException
+ * if two instances of the same binding type are passed
+ * @throws UnsatisfiedDependencyException
+ * if no bean can be resolved for the given type and bindings
+ * @throws AmbiguousDependencyException
+ * if more than one bean is resolved for the given type and
+ * bindings
+ */
public <T> T getInstanceByType(Class<T> type, Annotation... bindings);
-
+
+ /**
+ * Obtains an instance of a bean by considering bean type, bindings, and
+ * deployment precedence.
+ *
+ * @param <T>
+ * the type of the bean to obtain
+ * @param type
+ * the type of the bean to obtain
+ * @param bindings
+ * the bindings used to restrict the matched beans
+ * @return an instance of the bean
+ * @throws IllegalArgumentException
+ * if a parameterized type with a type parameter or a wildcard is
+ * passed
+ * @throws IllegalArgumentException
+ * if an annotation which is not a binding type is passed
+ * @throws DuplicateBindingTypeException
+ * if two instances of the same binding type are passed
+ * @throws UnsatisfiedDependencyException
+ * if no bean can be resolved for the given type and bindings
+ * @throws AmbiguousDependencyException
+ * if more than one bean is resolved for the given type and
+ * bindings
+ */
public <T> T getInstanceByType(TypeLiteral<T> type, Annotation... bindings);
-
+
+ /**
+ * Allows beans to be matched by considering the bean name and deployment
+ * precedence.
+ *
+ * Used in an environment that doesn't support typing such EL.
+ *
+ * @param name
+ * the name used to restrict the beans matched
+ * @return the matched beans
+ */
public Set<Bean<?>> resolveByName(String name);
-
+
+ /**
+ * Obtains an instance of a bean by considering the bean name and deployment
+ * precedence.
+ *
+ * Used in an environment that doesn't support typing such EL.
+ *
+ * @param name
+ * the name used to restrict the beans matched
+ * @return an instance of the bean or null if no beans matched
+ * @throws AmbiguousDependencyException
+ * if more than one bean matches
+ */
public Object getInstanceByName(String name);
-
+
+ /**
+ * Obtains an instance of a bean
+ *
+ * @param <T>
+ * the type of the bean
+ * @param bean
+ * the bean to obtain an instance of
+ * @return an instance of the bean
+ */
public <T> T getInstance(Bean<T> bean);
+ /**
+ * Obtains an instance of bean for a given injection point.
+ *
+ * This method should not be called by an application.
+ *
+ * @param <T>
+ * the type of the bean
+ * @param injectionPoint
+ * the injection point the instance is needed for
+ * @param creationalContext
+ * the context in which the injection is occurring
+ * @return an instance of the bean
+ * @throws UnsatisfiedDependencyException
+ * if no bean can be resolved for the given type and bindings
+ * @throws AmbiguousDependencyException
+ * if more than one bean is resolved for the given type and
+ * bindings
+ */
public <T> T getInstanceToInject(InjectionPoint injectionPoint, CreationalContext<?> creationalContext);
+ /**
+ * Obtains an instance of bean for a given injection point.
+ *
+ * This method should not be called by an application.
+ *
+ * @param <T>
+ * the type of the bean
+ * @param injectionPoint
+ * the injection point the instance is needed for
+ * @return an instance of the bean
+ * @throws UnsatisfiedDependencyException
+ * if no bean can be resolved for the given type and bindings
+ * @throws AmbiguousDependencyException
+ * if more than one bean is resolved for the given type and
+ * bindings
+ */
public <T> T getInstanceToInject(InjectionPoint injectionPoint);
-
+
+ /**
+ * Fire an event
+ *
+ * @param event
+ * the event object
+ * @param bindings
+ * the event bindings used to restrict the observers matched
+ * @throws IllegalArgumentException
+ * if a parameterized type with a type parameter or a wildcard is
+ * passed
+ */
public void fireEvent(Object event, Annotation... bindings);
-
+
+ /**
+ * Obtain an active context instance for the given scope type.
+ *
+ * @param scopeType
+ * the scope to get the context instance for
+ * @return the context instance
+ * @throws ContextNotActiveException
+ * if no active contexts exist for the given scope type
+ * @throws IllegalArgumentException
+ * if more than one active context exists for the given scope type
+ */
public Context getContext(Class<? extends Annotation> scopeType);
-
+
+ /**
+ * Associate a custom Context with a scope.
+ *
+ * This method may be called at any time in the applications lifecycle.
+ *
+ * @param context
+ * the context to register
+ * @return the manager the context was registered with
+ */
public Manager addContext(Context context);
-
+
+ /**
+ * Allows a new bean to be registered.
+ *
+ * This method may be called at any time in the applications lifecycle.
+ *
+ * @param bean
+ * the bean to register
+ * @return the manager the bean was registered with
+ */
public Manager addBean(Bean<?> bean);
-
+
+ /**
+ * Allows a new interceptor to be registered.
+ *
+ * This method may be called at any time in the applications lifecycle.
+ *
+ * @param interceptor
+ * the interceptor to register
+ * @return the manager the interceptor was registered with
+ */
public Manager addInterceptor(Interceptor interceptor);
-
+
+ /**
+ * Allows a new decorator to be registered.
+ *
+ * This method may be called at any time in the applications lifecycle.
+ *
+ * @param decorator
+ * the decorator to register
+ * @return the manager the decorator was registered with
+ */
public Manager addDecorator(Decorator decorator);
+ /**
+ * Allows additional XML based to be provided.
+ *
+ * This method may be called at any time in the applications lifecycle.
+ *
+ * @param xmlStream
+ * the XML metadata
+ * @return the manager the XML metadata was registered with
+ */
public Manager parse(InputStream xmlStream);
- public Manager createChildManager();
-
- public Manager setCurrent();
+ /**
+ * Create a new child activity. A child activity inherits all beans,
+ * interceptors, decorators, observers, and contexts defined by its direct
+ * and indirect parent activities.
+ *
+ * This method should not be called by the application.
+ *
+ * @return the child activity
+ */
+ public Manager createActivity();
+ /**
+ * Associate an activity with the current context for a normal scope
+ *
+ * @param scopeType
+ * the scope to associate the activity with
+ * @return the activity
+ * @throws ContextNotActiveException
+ * if the given scope is inactive
+ * @throws IllegalArgumentException
+ * if the given scope is not a normal scope
+ */
+ public Manager setCurrent(Class<? extends Annotation> scopeType);
+
+ /**
+ * Register an observer with the container
+ *
+ * @param <T>
+ * the type of the observer
+ * @param observer
+ * the observer to register
+ * @param eventType
+ * the event type the observer observes
+ * @param bindings
+ * event bindings to further restrict the events observed
+ * @return the manager the observer was registered with
+ * @throws IllegalArgumentException
+ * if a parameterized type with a type parameter or a wildcard is
+ * passed
+ * @throws IllegalArgumentException
+ * if an annotation which is not a binding type is passed
+ * @throws DuplicateBindingTypeException
+ * if two instances of the same binding type are passed
+ */
public <T> Manager addObserver(Observer<T> observer, Class<T> eventType, Annotation... bindings);
-
+
+ /**
+ * Register an observer with the container
+ *
+ * @param <T>
+ * the type of the observer
+ * @param observer
+ * the observer to register
+ * @param eventType
+ * the event type the observer observes
+ * @param bindings
+ * event bindings to further restrict the events observed
+ * @return the manager the observer was registered with
+ * @throws IllegalArgumentException
+ * if a parameterized type with a type parameter or a wildcard is
+ * passed
+ * @throws IllegalArgumentException
+ * if an annotation which is not a event binding type is passed
+ * @throws DuplicateBindingTypeException
+ * if two instances of the same binding type are passed
+ */
public <T> Manager addObserver(Observer<T> observer, TypeLiteral<T> eventType, Annotation... bindings);
-
+
+ /**
+ * Remove an observer registration
+ *
+ * @param <T>
+ * the type of the observer
+ * @param observer
+ * the observer to register
+ * @param eventType
+ * the event type the observer obseres
+ * @param bindings
+ * event bindings to further restrict the events observed
+ * @return the manager the observer was registered with
+ * @throws IllegalArgumentException
+ * if a parameterized type with a type parameter or a wildcard is
+ * passed
+ * @throws IllegalArgumentException
+ * if an annotation which is not a event binding type is passed
+ * @throws DuplicateBindingTypeException
+ * if two instances of the same binding type are passed
+ */
public <T> Manager removeObserver(Observer<T> observer, Class<T> eventType, Annotation... bindings);
-
+
+ /**
+ * Remove an observer registration
+ *
+ * @param <T>
+ * the type of the observer
+ * @param observer
+ * the observer to register
+ * @param eventType
+ * the event type the observer obseres
+ * @param bindings
+ * event bindings to further restrict the events observed
+ * @return the manager the observer was registered with
+ * @throws IllegalArgumentException
+ * if a parameterized type with a type parameter or a wildcard is
+ * passed
+ * @throws IllegalArgumentException
+ * if an annotation which is not a event binding type is passed
+ * @throws DuplicateBindingTypeException
+ * if two instances of the same binding type are passed
+ */
public <T> Manager removeObserver(Observer<T> observer, TypeLiteral<T> eventType, Annotation... bindings);
-
+
+ /**
+ * Obtains observers for an event by considering event type and bindings.
+ *
+ * @param <T>
+ * the type of the event to obtain
+ * @param event
+ * the event object
+ * @param bindings
+ * the bindings used to restrict the matched observers
+ * @return the resolved observers
+ * @throws IllegalArgumentException
+ * if a parameterized type with a type parameter or a wildcard is
+ * passed
+ * @throws IllegalArgumentException
+ * if an annotation which is not a event binding type is passed
+ * @throws DuplicateBindingTypeException
+ * if two instances of the same binding type are passed
+ */
public <T> Set<Observer<T>> resolveObservers(T event, Annotation... bindings);
-
+
+ /**
+ * Obtains an ordered list of enabled interceptors for a set interceptor
+ * bindings
+ *
+ * @param type
+ * the type of the interception
+ * @param bindings
+ * the bindings used to restrict the matched interceptors
+ * @return the resolved interceptors
+ * @throws IllegalArgumentException
+ * if no interceptor binding type is passed
+ * @throws IllegalArgumentException
+ * if an annotation which is not a interceptor binding type is
+ * passed
+ * @throws DuplicateBindingTypeException
+ * if two instances of the same binding type are passed
+ */
public List<Interceptor> resolveInterceptors(InterceptionType type, Annotation... interceptorBindings);
-
+
+ /**
+ * Obtains an ordered list of enabled decorators for a set of bean types and
+ * a set of bindings
+ *
+ * @param types
+ * the set of bean types of the decorated bean
+ * @param bindings
+ * the bindings declared by the decorated bean
+ * @return the resolved decorators
+ * @throws IllegalArgumentException
+ * if the set of bean types is empty
+ * @throws IllegalArgumentException
+ * if an annotation which is not a binding type is passed
+ * @throws DuplicateBindingTypeException
+ * if two instances of the same binding type are passed
+ */
public List<Decorator> resolveDecorators(Set<Type> types, Annotation... bindings);
-
+
}
Modified: ri/trunk/webbeans-api/src/main/java/javax/interceptor/Interceptor.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/interceptor/Interceptor.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/interceptor/Interceptor.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -26,7 +26,7 @@
import javax.annotation.Stereotype;
/**
- * Specifies that a class is a Web Beans interceptor.
+ * Specifies that a class is an interceptor.
*
* @author Gavin King
*
Modified: ri/trunk/webbeans-api/src/main/java/javax/interceptor/InterceptorBindingType.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/interceptor/InterceptorBindingType.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-api/src/main/java/javax/interceptor/InterceptorBindingType.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -25,8 +25,7 @@
import java.lang.annotation.Target;
/**
- * Specifies that an annotation type is a Web Beans
- * interceptor binding type.
+ * Specifies that an annotation type is an interceptor binding type.
*
* @author Gavin King
* @author Pete Muir
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2009-01-27 09:12:17 UTC (rev 1245)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2009-01-27 15:25:32 UTC (rev 1246)
@@ -800,13 +800,13 @@
return this;
}
- public Manager createChildManager()
+ public Manager createActivity()
{
// TODO Implement hierarchical managers
return this;
}
- public Manager setCurrent()
+ public Manager setCurrent(Class<? extends Annotation> scopeType)
{
// TODO Implement hierarchical managers
return this;
15 years, 3 months
[webbeans-commits] Webbeans SVN: r1245 - tck/trunk/impl.
by webbeans-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2009-01-27 04:12:17 -0500 (Tue, 27 Jan 2009)
New Revision: 1245
Modified:
tck/trunk/impl/tck-audit.xml
Log:
Completed chapter 3 assertions
Modified: tck/trunk/impl/tck-audit.xml
===================================================================
--- tck/trunk/impl/tck-audit.xml 2009-01-27 06:29:21 UTC (rev 1244)
+++ tck/trunk/impl/tck-audit.xml 2009-01-27 09:12:17 UTC (rev 1245)
@@ -1,6 +1,38 @@
<specification xmlns="http://jboss.com/products/webbeans/tck/audit"
name="JSR-299: Java Contexts and Dependency Injection"
version="Revised Public Review Draft">
+
+ <section id="3" title="Bean implementation">
+ <assertion code="a">
+ <text>The container provides built-in support for simple beans (Java classes)</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>The container provides built-in support for session beans</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>The container provides built-in support for producer methods and fields</text>
+ </assertion>
+
+ <assertion code="d">
+ <text>The container provides built-in support for Resources (Java EE resources, persistence contexts, persistence units, remote EJBs and web services)</text>
+ </assertion>
+
+ <assertion code="e">
+ <text>The container provides built-in support for JMS resources (topics and queues)</text>
+ </assertion>
+ </section>
+
+ <section id="3.1" title="Restriction upon bean instantiation">
+ <assertion code="a">
+ <text>The bean class is a concrete class and is not required to implement any special interface or extend any special superclass</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>If the application calls a producer method directly, instead of letting the container call it, the returned object is not a contextual instance and the capabilities listed in Section 2.1, "Functionality provided by the container to the bean" will not be available to the returned object.</text>
+ </assertion>
+ </section>
<section id="3.2" title="Simple beans">
<assertion code="a">
@@ -575,5 +607,420 @@
</assertion>
</section>
+ <section id="3.4.8" title="Declaring a disposal method using annotations">
+
+ <assertion code="a">
+ <text>A disposal method may be declared using annotations by annotating a parameter @javax.inject.Disposes. That parameter is the disposed parameter</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>If a method has more than one parameter annotated @Disposes, a DefinitionException is thrown by the container</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>If a disposal method is annotated @Produces, or @Initializer or has a parameter annotated @Observes, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+
+ <assertion code="d">
+ <text>If a non-static method of a session bean class has a parameter annotated @Disposes, and the method is not a business method of the EJB, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+ </section>
+
+ <section id="3.4.9" title="Declaring a disposal method using XML">
+
+ <assertion code="a">
+ <text>For a bean defined in XML, a disposal method may be declared using the method name, the <Disposes> element, and the parameter types of the method</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>When a disposal method is declared in XML, the container ignores binding annotations applied to the Java method parameter</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>If the bean class of a bean declared in XML does not have a method with the name and parameter types declared in XML, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+ </section>
+
+ <section id="3.4.10" title="Disposal method parameters">
+
+ <assertion code="a">
+ <text>In addition to the disposed parameter, a disposal method may declare additional parameters, which may also specify bindings. The container calls Manager.getInstanceToInject() to determine a value for each parameter of a disposal method and calls the disposal method with those parameter values</text>
+ </assertion>
+ </section>
+
+ <section id="3.4.11" title="Disposal method resolution">
+
+ <assertion code="a">
+ <text>When searching for disposal methods for a producer method, the container searches for disposal methods which are declared by an enabled bean, and for which the disposed parameter must resolve to the producer method, according to the typesafe resolution algorithm</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>If there are multiple disposal methods for a producer method, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+ </section>
+
+ <section id="3.4.12" title="Default name for a producer method">
+
+ <assertion code="a">
+ <text>The default name for a producer method is the method name, unless the method follows the JavaBeans property getter naming convention, in which case the default name is the JavaBeans property name</text>
+ </assertion>
+ </section>
+
+ <section id="3.5" title="Producer fields">
+
+ <assertion code="a">
+ <text>A producer field must be a field of a simple bean class or session bean class</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>A producer field may be either static or nonstatic</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>If a producer field sometimes contains a null value when accessed, then the producer field must have scope @Dependent</text>
+ </assertion>
+
+ <assertion code="d">
+ <text>If a producer method contains a null value at runtime, and the producer field declares any other scope, an IllegalProductException is thrown by the container. This restriction allows the container to use a client proxy, as defined in Section 5.4, "Client proxies"</text>
+ </assertion>
+
+ <assertion code="e">
+ <text>If the producer field return type is a parameterized type, it must specify actual type parameters for each type parameter</text>
+ </assertion>
+
+ <assertion code="f">
+ <text>If a producer field return type contains a wildcard type parameter or type variable, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+
+ <assertion code="g">
+ <text>The application may access producer fields directly. However, if the application accesses a producer field directly, the returned object is not bound to any context; and its lifecycle is not managed by the container</text>
+ </assertion>
+
+ <assertion code="h">
+ <text>A bean may declare multiple producer fields</text>
+ </assertion>
+ </section>
+
+ <section id="3.5.1" title="Bean types of a producer field">
+
+ <assertion code="a">
+ <text>The bean types of a producer field depend upon the field type. If the field type is an interface, the set of bean types contains the field type, all interfaces it extends directly or indirectly and java.lang.Object</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>The bean types of a producer field depend upon the field type. If a field type is primitive or is a Java array type, the set of bean types contains exactly two types: the field type and java.lang.Object</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>The bean types of a producer field depend upon the field type. If the field type is a class, the set of bean types contains the field type, every superclass and all interfaces it implements directly or indirectly</text>
+ </assertion>
+ </section>
+
+ <section id="3.5.2" title="Declaring a producer field using annotations">
+
+ <assertion code="a">
+ <text>A producer field may be declared by annotating a field with the @javax.inject.Produces annotation</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>A producer field may also specify scope, name, deployment type, stereotypes and/or bindings</text>
+ </assertion>
+ </section>
+
+ <section id="3.5.3" title="Declaring a producer field using XML">
+
+ <assertion code="a">
+ <text>For a bean defined in XML, a producer field may be declared using the field name, the <Produces> element, and the type</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>When a producer field is declared in XML, the container ignores binding annotations applied to the Java field</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>If the bean class of a bean declared in XML does not have a field with the name and type declared in XML, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+
+ </section>
+
+ <section id="3.5.4" title="Default name for a producer field">
+ <assertion code="a">
+ <text>The default name for a producer field is the field name</text>
+ </assertion>
+ </section>
+
+ <section id="3.6" title="Resources">
+ <assertion code="a">
+ <text>Resources may be declared in beans.xml, allowing direct injection of an EE resource, entity manager, entity manager factory, EJB remote object or web service reference</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>The lifecycle of an injected reference is identical to the semantics of Java EE injection using @Resource, @PersistenceContext, @PersistenceUnit, @EJB or @WebServiceRef</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>A resource always has scope @Dependent</text>
+ </assertion>
+
+ <assertion code="d">
+ <text>A resource may not declare a bean name</text>
+ </assertion>
+
+ <assertion code="e">
+ <text>Resources are always declared using XML</text>
+ </assertion>
+ </section>
+
+ <section id="3.6.1" title="Declaring a resource using XML">
+
+ <assertion code="a">
+ <text>A resource may be declared in beans.xml using an element that represents the Java type of the resource. For a Java EE resource, the EE resource type must be specified�for example javax.sql.Datasource for a JDBC datasource. The bean type of the resource is this specified type</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>A resource may be declared in beans.xml using an element that represents the Java type of the resource. For a persistence context, javax.persistence.EntityManager must be specified. The bean type of the resource is this specified type</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>A resource may be declared in beans.xml using an element that represents the Java type of the resource. For a persistence unit, javax.persistence.EntityManagerFactory must be specified. The bean type of the resource is this specified type</text>
+ </assertion>
+
+ <assertion code="d">
+ <text>A resource may be declared in beans.xml using an element that represents the Java type of the resource. For a remote EJB, an EJB remote interface type must be specified. The bean type of the resource is this specified type</text>
+ </assertion>
+
+ <assertion code="e">
+ <text>A resource may be declared in beans.xml using an element that represents the Java type of the resource. For a web service, a web service type must be specified. The bean type of the resource is this specified type</text>
+ </assertion>
+
+ <assertion code="f">
+ <text>Each resource declaration must contain a child <Resource>, <PersistenceContext>, <PersistenceUnit>, <EJB> or
+<WebServiceRef> element. For a Java EE resource, a JNDI name or mapped name must be specified using the <name> or <mappedName> child elements
+of the <Resource> element</text>
+ </assertion>
+
+ <assertion code="g">
+ <text>Each resource declaration must contain a child <Resource>, <PersistenceContext>, <PersistenceUnit>, <EJB> or
+<WebServiceRef> element. For a persistence context, a persistence unit name must be specified using the <unitName> child element of the <PersistenceContext> element</text>
+ </assertion>
+
+ <assertion code="h">
+ <text>Each resource declaration must contain a child <Resource>, <PersistenceContext>, <PersistenceUnit>, <EJB> or
+<WebServiceRef> element. For a persistence unit, a persistence unit name must be specified using the <unitName> child element of the <PersistenceUnit> element</text>
+ </assertion>
+
+ <assertion code="i">
+ <text>Each resource declaration must contain a child <Resource>, <PersistenceContext>, <PersistenceUnit>, <EJB> or
+<WebServiceRef> element. For a remote EJB, a JNDI name, mapped name or EJB link must be specified using the <name>, <mappedName> or <ejbLink> child elements of the <EJB> element</text>
+ </assertion>
+
+ <assertion code="j">
+ <text>Each resource declaration must contain a child <Resource>, <PersistenceContext>, <PersistenceUnit>, <EJB> or
+<WebServiceRef> element. For a web service, a JNDI name or mapped name must be specified using the <name> or <mappedName> child elements of the <WebServiceRef> element. Optionally, a URL pointing to a WSDL document may be specified using the <wsdlLocation> child element</text>
+ </assertion>
+
+ <assertion name="k">
+ <text>The JNDI name specified by the <name> element must be a name in the global java:global or application java:app naming context</text>
+ </assertion>
+
+ <assertion name="l">
+ <text>Optionally, one or more bindings may be specified for resources in XML. If no binding is explicitly specified, the default binding @Current is assumed.</text>
+ </assertion>
+
+ </section>
+
+ <section id="3.7" title="JMS resources">
+ <assertion code="a">
+ <text>JMS resources may be declared in beans.xml</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>JMS queue resources must allow the direct injection of the Queue, QueueConnection, QueueSession, QueueReceiver and/or QueueSender</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>JMS topic resources must allow the direct injection of the Topic, TopicConnection, TopicSession, TopicSubscriber and/or TopicPublisher</text>
+ </assertion>
+
+ <assertion code="d">
+ <text>The lifecycles of the injected objects are managed by the container, and therefore the application need not explicitly close() any injected JMS object. If the application calls close() on an instance of a JMS resource, an UnsupportedOperationException is thrown by the container.</text>
+ </assertion>
+
+ <assertion code="e">
+ <text>A JMS resource always has scope @Dependent</text>
+ </assertion>
+
+ <assertion code="f">
+ <text>A JMS resource may not declare a bean name</text>
+ </assertion>
+
+ <assertion code="g">
+ <text>JMS resources are always declared using XML</text>
+ </assertion>
+ </section>
+
+ <section id="3.7.1" title="Bean types of a JMS resource">
+
+ <assertion code="a">
+ <text>For JMS resources that represent a queue, the bean types are Queue, QueueConnection, QueueSession and QueueSender</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>For JMS resources that represent a topic, the bean types are Topic, TopicConnection, TopicSession and TopicPublisher</text>
+ </assertion>
+ </section>
+
+ <section id="3.7.2" title="Declaring a JMS resource using XML">
+
+ <assertion code="a">
+ <text>A JMS resource may be declared using the <Topic> or <Queue> elements in beans.xml</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>Each JMS resource declaration must contain a child <Resource> element. A JNDI name or mapped name must be specified using the <name> or <mappedName> child elements of the <Resource> element</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>One or more bindings may be specified. If no binding is explicitly specified, the default binding @Current is assumed</text>
+ </assertion>
+ </section>
+
+ <section id="3.8" title="Injected fields">
+
+ <assertion code="a">
+ <text>An injected field is a non-static, non-final field of a bean class, of a servlet, or of any EJB session or message driven bean class.</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>Injected fields are initialized by the container immediately after instantiation and before any methods of the instance are invoked. The container calls the method Manager.getInstanceToInject() defined in Section 5.7.1, "Resolving dependencies" to determine a value for each injected field</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>Any EJB session or message driven bean may declare injected fields and have those fields injected by the container</text>
+ </assertion>
+
+ <assertion code="d">
+ <text>If a field is a producer field or a decorator delegate attribute, it is not an injected field</text>
+ </assertion>
+ </section>
+
+ <section id="3.8.1" title="Declaring an injected field using annotations">
+
+ <assertion code="a">
+ <text>An injected field may be declared by annotating the field with any binding type</text>
+ </assertion>
+ </section>
+
+ <section id="3.8.2" title="Declaring an injected field using XML">
+ <assertion code="a">
+ <text>For bean defined in XML, an injected field may be declared using the field name and a child element representing the type of the field</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>When an injected field is declared in XML, the container ignores binding annotations applied to the Java field</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>If the type element does not declare any binding, the default binding @Current is assumed</text>
+ </assertion>
+
+ <assertion code="d">
+ <text>If the bean class of a bean declared in XML does not have a field with the name and type declared in XML, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+ </section>
+
+ <section id="3.9" title="Initializer methods">
+ <assertion code="a">
+ <text>An initializer method is a non-static method of a bean class, of a servlet, or of any EJB session or message driven bean class.</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>Initializer methods are called by the container immediately after injected fields have been initialized by the container and before any other methods of the instance are invoked.</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>If the bean is a session bean, the initializer method is not required to be a business method of the session bean</text>
+ </assertion>
+
+ <assertion code="d">
+ <text>Method interceptors are never called when the container calls an initializer method</text>
+ </assertion>
+
+ <assertion code="e">
+ <text>A bean class may declare multiple (or zero) initializer methods</text>
+ </assertion>
+
+ <assertion code="f">
+ <text>The application may call initializer methods directly, but then no parameters will be passed to the method by the container</text>
+ </assertion>
+
+ <assertion code="g">
+ <text>Any EJB session or message driven bean may declare initializer methods and have the methods called by the container</text>
+ </assertion>
+ </section>
+
+ <section id="3.9.1" title="Declaring an initializer method using annotations">
+ <assertion code="a">
+ <text>An initializer method may be declared by annotating the method @javax.inject.Initializer</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>If an initializer method is annotated @Produces, has a parameter annotated @Disposes, or has a parameter annotated @Observes, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+
+ </section>
+
+ <section id="3.9.2" title="Declaring an initializer method using XML">
+
+ <assertion code="a">
+ <text>For a bean defined in XML, an initializer method may be declared using the method name, the <Initializer> element and the parameter types of the method</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>When an initializer method is declared in XML, the container ignores binding annotations applied to the Java method parameters</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>If the bean class of a bean declared in XML does not have a method with the name and parameter types declared in XML, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+ </section>
+
+ <section id="3.9.3" title="Initializer method parameters">
+ <assertion code="a">
+ <text>An initializer method may have any number of parameters. If the initializer method has parameters, the container calls Manager.getInstanceToInject() to determine a value for each parameter and calls the initializer method with those parameter values</text>
+ </assertion>
+ </section>
+
+ <section id="3.10" title="Support for Common Annotations">
+ <assertion code="a">
+ <text>Dependency injection via @EJB, @Resource, @PersistenceUnit and @PersistenceContext is provided by the container when annotations are applied to the bean class of a simple bean</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>@PostConstruct and @PreDestroy callbacks are provided by the container when annotations are applied to the bean class of a simple bean</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>Interception, as defined in javax.interceptor is provided by the container when annotations are applied to the bean class of a simple bean</text>
+ </assertion>
+
+ <assertion code="d">
+ <text>@PersistenceContext(type=EXTENDED) is not supported for simple beans</text>
+ </assertion>
+ </section>
+
+ <section id="3.11" title="The Bean object for a bean">
+ <assertion code="a">
+ <text>Concrete subclasses of Bean must implement the operations defined by the Contextual interface defined in Section 6.1, "The Contextual interface".</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>An instance of Bean exists for every enabled bean in a deployment</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>An application or third party framework may add support for new kinds of beans beyond those defined by the this specification (simple beans, session beans, producer methods and fields, resources and JMS resources) by extending Bean and registering beans with the container, using the mechanism defined in Section 11.3, "Bean registration".</text>
+ </assertion>
+ </section>
</specification>
15 years, 3 months
[webbeans-commits] Webbeans SVN: r1244 - tck/trunk/impl.
by webbeans-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2009-01-27 01:29:21 -0500 (Tue, 27 Jan 2009)
New Revision: 1244
Added:
tck/trunk/impl/tck-audit.xml
tck/trunk/impl/tck-audit.xsd
Log:
start of audit document
Added: tck/trunk/impl/tck-audit.xml
===================================================================
--- tck/trunk/impl/tck-audit.xml (rev 0)
+++ tck/trunk/impl/tck-audit.xml 2009-01-27 06:29:21 UTC (rev 1244)
@@ -0,0 +1,579 @@
+<specification xmlns="http://jboss.com/products/webbeans/tck/audit"
+ name="JSR-299: Java Contexts and Dependency Injection"
+ version="Revised Public Review Draft">
+
+ <section id="3.2" title="Simple beans">
+ <assertion code="a">
+ <text>The bean class of a simple bean may not be a non-static inner class or a parameterized type</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>The bean class of a simple bean may not be an abstract class, unless the simple bean is a decorator</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>If the bean class of a simple bean is annotated with both the @Interceptor and @Decorator stereotypes, a DefinitionException is thrown by the container at deployment time.</text>
+ </assertion>
+
+ <assertion code="d">
+ <text>Multiple simple beans may share the same bean class. This occurs when beans are defined using XML. Only one simple bean per bean class may be defined using annotations.</text>
+ </assertion>
+
+ <assertion code="e">
+ <text>If a simple bean has a public field, it must have scope @Dependent. If a simple bean with a public field declares any scope other than @Dependent, a DefinitionException is thrown by the container at deployment time.</text>
+ </assertion>
+
+ </section>
+
+ <section id="3.2.1" title="Which Java classes are beans?">
+ <assertion code="a">
+ <text>A top-level Java class is not a simple bean if it is a parameterized type</text>
+ </assertion>
+ <assertion code="b">
+ <text>A top-level Java class is not a simple bean if it is a non-static inner class</text>
+ </assertion>
+ <assertion code="c">
+ <text>A top-level Java class is only a simple bean if it is a concrete class, or annotated @Decorator.</text>
+ </assertion>
+ <assertion code="d">
+ <text>A top-level Java class is not a simple bean if it is annotated with the JPA @Entity annotation</text>
+ </assertion>
+ <assertion code="e">
+ <text>A top-level Java class is not a simple bean if it is annotated with any of the EJB component-defining annotations</text>
+ </assertion>
+ <assertion code="f">
+ <text>A top-level Java class is not a simple bean if it implements the javax.servlet.Servlet interface</text>
+ </assertion>
+ <assertion code="g">
+ <text>A top-level Java class is not a simple bean if it implements the javax.servlet.Filter interface</text>
+ </assertion>
+ <assertion code="h">
+ <text>A top-level Java class is not a simple bean if it implements the javax.servlet.ServletContextListener interface</text>
+ </assertion>
+ <assertion code="i">
+ <text>A top-level Java class is not a simple bean if it implements the javax.servlet.http.HttpSessionListener interface</text>
+ </assertion>
+ <assertion code="j">
+ <text>A top-level Java class is not a simple bean if it implements the javax.servlet.ServletRequestListener interface</text>
+ </assertion>
+ <assertion code="k">
+ <text>A top-level Java class is not a simple bean if it implements the javax.ejb.EnterpriseBean interface</text>
+ </assertion>
+ <assertion code="l">
+ <text>A top-level Java class is not a simple bean if it extends javax.faces.component.UIComponent</text>
+ </assertion>
+ <assertion code="m">
+ <text>A top-level Java class is not a simple bean if it is declared as an EJB bean class in ejb-jar.xml</text>
+ </assertion>
+ <assertion code="n">
+ <text>A top-level Java class is not a simple bean if it is declared as a JPA entity in orm.xml</text>
+ </assertion>
+ <assertion code="o">
+ <text>A top-level Java class is only a simple bean if it has an appropriate constructor - either a constructor with no parameters, or declares a constructor annotated @Initializer</text>
+ </assertion>
+ <assertion code="p">
+ <text>Additional simple beans with the same bean class may be defined using XML, by specifying the class in beans.xml.</text>
+ </assertion>
+
+ </section>
+
+ <section id="3.2.2" title="Bean types of a simple bean">
+ <assertion code="a">
+ <text>The set of bean types for a simple bean contains the bean class, every superclass and all interfaces it implements directly or indirectly.</text>
+ </assertion>
+ </section>
+
+ <section id="3.2.3" title="Declaring a simple bean using annotations">
+ <assertion code="a">
+ <text>A simple bean with a constructor that takes no parameters does not require any special annotations</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>A bean class may also specify a scope, name, deployment type, stereotypes and/or bindings</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>A simple bean may extend another simple bean</text>
+ </assertion>
+ </section>
+
+ <section id="3.2.4" title="Declaring a simple bean using XML">
+ <assertion code="a">
+ <text>Simple beans may be declared in beans.xml using the bean class name</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>A simple bean may even be declared at any injection point declared in XML, as defined in Section 9.9, "Inline bean declarations", in which case no bindings are specified.</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>If the bean class of a simple bean defined in XML is a parameterized type or a non-static inner class, a DefinitionException is thrown by the container at deployment time.</text>
+ </assertion>
+
+ <assertion code="d">
+ <text>If the bean class of a simple bean defined in XML is an abstract class, and the simple bean is not a decorator, a DefinitionException
+is thrown by the container at deployment time</text>
+ </assertion>
+
+ <assertion code="e">
+ <text>If the bean class of a simple bean defined in XML is annotated @Interceptor, then the bean must be explicitly declared as an interceptor in XML, as defined in Section A.3.5.2, "Declaring an interceptor using XML". If a simple bean defined in XML has a bean class annotated @Interceptor and is not declared as an interceptor in XML, a DefinitionException is
+thrown by the container at deployment time.</text>
+ </assertion>
+
+ <assertion code="f">
+ <text>If the bean class of a simple bean defined in XML is annotated @Interceptor, then the bean must be explicitly declared as an interceptor in XML, as defined in Section A.3.5.2, "Declaring an interceptor using XML". If a simple bean defined in XML has a bean class annotated @Interceptor and is not declared as an interceptor in XML, a DefinitionException is
+thrown by the container at deployment time.</text>
+ </assertion>
+ </section>
+
+ <section id="3.2.5" title="Simple beans with the @New binding">
+ <assertion code="a">
+ <text>Every class that satisfies the requirements of Section 3.2.1, "Which Java classes are beans?" is a bean, with scope, deployment type and bindings defined using annotations.
+Additionally, for each such simple bean, a second simple bean exists which has the same bean class</text>
+ </assertion>
+ <assertion code="b">
+ <text>Every class that satisfies the requirements of Section 3.2.1, "Which Java classes are beans?" is a bean, with scope, deployment type and bindings defined using annotations.
+Additionally, for each such simple bean, a second simple bean exists which has the same bean constructor, initializer methods and injected fields defined by annotations</text>
+ </assertion>
+ <assertion code="c">
+ <text>Every class that satisfies the requirements of Section 3.2.1, "Which Java classes are beans?" is a bean, with scope, deployment type and bindings defined using annotations.
+Additionally, for each such simple bean, a second simple bean exists which has the same interceptor bindings defined by annotations</text>
+ </assertion>
+ <assertion code="d">
+ <text>Every class that satisfies the requirements of Section 3.2.1, "Which Java classes are beans?" is a bean, with scope, deployment type and bindings defined using annotations.
+Additionally, for each such simple bean, a second simple bean exists which has scope @Dependent</text>
+ </assertion>
+ <assertion code="e">
+ <text>Every class that satisfies the requirements of Section 3.2.1, "Which Java classes are beans?" is a bean, with scope, deployment type and bindings defined using annotations.
+Additionally, for each such simple bean, a second simple bean exists which has deployment type @Standard</text>
+ </assertion>
+ <assertion code="f">
+ <text>Every class that satisfies the requirements of Section 3.2.1, "Which Java classes are beans?" is a bean, with scope, deployment type and bindings defined using annotations.
+Additionally, for each such simple bean, a second simple bean exists which has @javax.inject.New as the only binding</text>
+ </assertion>
+ <assertion code="g">
+ <text>Every class that satisfies the requirements of Section 3.2.1, "Which Java classes are beans?" is a bean, with scope, deployment type and bindings defined using annotations.
+Additionally, for each such simple bean, a second simple bean exists which has no bean name</text>
+ </assertion>
+ <assertion code="h">
+ <text>Every class that satisfies the requirements of Section 3.2.1, "Which Java classes are beans?" is a bean, with scope, deployment type and bindings defined using annotations.
+Additionally, for each such simple bean, a second simple bean exists which has no stereotypes</text>
+ </assertion>
+ <assertion code="i">
+ <text>Every class that satisfies the requirements of Section 3.2.1, "Which Java classes are beans?" is a bean, with scope, deployment type and bindings defined using annotations.
+Additionally, for each such simple bean, a second simple bean exists which has no observer methods, producer methods or fields or disposal methods</text>
+ </assertion>
+ </section>
+
+ <section id="3.2.6" title="Bean constructors">
+ <assertion code="a">
+ <text>When the container instantiates a simple bean, it calls the bean constructor. The bean constructor is a constructor of the bean class</text>
+ </assertion>
+ <assertion code="b">
+ <text>The application may call bean constructors directly. However, if the application directly instantiates the bean, no parameters are passed to the constructor by the container; the returned object is not bound to any context; no dependencies are injected by the container; and the lifecycle of the new instance is not managed by the container</text>
+ </assertion>
+ </section>
+
+ <section id="3.2.6.1" title="Declaring a bean constructor using annotations">
+ <assertion code="a">
+ <text>The bean constructor may be identified by annotating the constructor @Initializer</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>If a simple bean defined using annotations does not explicitly declare a constructor using @Initializer, the constructor that accepts no parameters is the bean constructor</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>If a simple bean defined using annotations has more than one constructor annotated @Initializer, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+
+ <assertion code="d">
+ <text>If a bean constructor has a parameter annotated @Disposes, or @Observes, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+
+ </section>
+
+ <section id="3.2.6.2" title="Declaring a bean constructor using XML">
+
+ <assertion code="a">
+ <text>For a simple bean defined using XML, the bean constructor may be specified by listing the parameter types of the constructer, in order, as direct children of the element that declares the bean</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>If a simple bean defined using XML does not explicitly declare constructor parameters in XML, the constructor that accepts no parameters is the bean constructor</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>If a simple bean declared in XML does not have a constructor with the parameter types declared in XML, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+
+ <assertion code="d">
+ <text>When a bean constructor is declared in XML, the container ignores binding annotations applied to Java constructor parameters</text>
+ </assertion>
+
+ </section>
+
+ <section id="3.2.6.3" title="Bean constructor parameters">
+ <assertion code="a">
+ <text>If the bean constructor has parameters, the container calls the method Manager.getInstanceToInject() defined in Section 5.7.1, "Resolving dependencies" to determine a value for each parameter and calls the constructor with those parameter values.</text>
+ </assertion>
+ </section>
+
+ <section id="3.2.7" title="Specializing a simple bean">
+ <assertion code="a">
+ <text>If a bean class of a simple bean X defined using annotations is annotated @Specializes, then the bean class of X must directly extend the bean class of another simple bean Y defined using annotations. Then X inherits all bindings of Y, and if Y has a name, X has the same name as Y.</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>We say that X directly specializes Y, and we can be certain that Y will never be instantiated or called by the container if X is enabled.</text>
+ <note>This assertion relates to specialized beans declared using annotations</note>
+ </assertion>
+
+ <assertion code="c">
+ <text>If the bean class of X does not directly extend the bean class of another simple bean, a DefinitionException is thrown by the container at deployment time.</text>
+ </assertion>
+
+ <assertion code="d">
+ <text>If a simple bean X defined in XML declares the <Specializes> element, then the bean class of X must be the bean class of another simple bean Y defined using annotations. Then X inherits all bindings of Y, and if Y has a name, X has the same name as Y</text>
+ </assertion>
+
+ <assertion code="e">
+ <text>We say that X directly specializes Y, and we can be certain that Y will never be instantiated or called by the container if X is enabled</text>
+ <note>This assertion relates to specialized beans declared in XML</note>
+ </assertion>
+ </section>
+
+ <section id="3.2.8" title="Default name for a simple bean">
+ <assertion code="a">
+ <text>The default name for a simple bean is the unqualified class name of the bean class, after converting the first character to lower case</text>
+ </assertion>
+ </section>
+
+ <section id="3.3" title="Session beans">
+ <assertion code="a">
+ <text>A session bean is a bean that is implemented by an EJB 3-style session bean</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>A stateless session bean must belong to the @Dependent pseudo-scope</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>A singleton bean must belong to either the @ApplicationScoped scope or to the @Dependent pseudo-scope</text>
+ </assertion>
+
+ <assertion code="d">
+ <text>If a session bean specifies an illegal scope, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+
+ <assertion code="e">
+ <text>Note that multiple session beans may share the same bean class. This occurs when beans are defined using XML</text>
+ </assertion>
+
+ <assertion code="f">
+ <text>If the bean class of a session bean is annotated @Interceptor or @Decorator, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+ </section>
+
+ <section id="3.3.1" title="EJB remove methods of session beans">
+ <assertion code="a">
+ <text>If a session bean is a stateful session bean, and the scope is @Dependent, the application may call any EJB remove method of an instance of the session bean.</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>If a session bean is a stateful session bean, and the scope is not @Dependent, the application may not directly call any EJB remove method of any instance of the session bean</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>If the application directly calls an EJB remove method of an instance of a session bean that is a stateful session bean and declares any scope other than @Dependent, an UnsupportedOperationException is thrown</text>
+ </assertion>
+
+ <assertion code="d">
+ <text>If the application directly calls an EJB remove method of an instance of a session bean that is a stateful session bean and has scope @Dependent then no parameters are passed to the method by the container. Furthermore, the container ignores the instance instead of destroying it when Bean.destroy() is called, as defined in Section 6.5, "Lifecycle of stateful session beans"</text>
+ </assertion>
+
+ </section>
+
+ <section id="3.3.2" title="Which EJBs are beans?">
+ <assertion code="a">
+ <text>All session beans exposing an EJB 3.x client view and declared via an EJB component defining annotation on the EJB bean class are beans, and thus no special declaration is required. Additional beans for these EJBs may be defined using XML, by specifying the bean class in beans.xml</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>All session beans exposing an EJB 3.x client view and declared in ejb-jar.xml are also beans. Additional beans for these EJBs may be defined using XML, by specifying the bean class and EJB name in beans.xml</text>
+ </assertion>
+ </section>
+
+ <section id="3.3.3" title="Bean types of a session bean">
+
+ <assertion code="a">
+ <text>The set of bean types for a session bean contains all local interfaces of the bean that do not have wildcard type parameters or type variables and their superinterfaces.</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>If the EJB has a bean class local view and the bean class is not a parameterized
+type, the set of bean types contains the bean class and all superclasses.</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>java.lang.Object is a bean type of every session bean</text>
+ </assertion>
+
+ <assertion code="d">
+ <text>Remote interfaces are not included in the set of bean types</text>
+ </assertion>
+ </section>
+
+ <section id="3.3.4" title="Declaring a session bean using annotations">
+ <assertion code="a">
+ <text>A session bean does not require any special annotations</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>A bean class may also specify a scope, name, deployment type, stereotypes and/or bindings</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>A session bean class may extend another bean class</text>
+ </assertion>
+ </section>
+
+ <section id="3.3.5" title="Declaring a session bean using XML">
+ <assertion code="a">
+ <text>Session beans may be declared in beans.xml using the bean class name (for EJBs defined using a component-defining annotation) or bean class and EJB name (for EJBs defined in ejb-jar.xml)</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>The ejbName attribute declares the EJB name of an EJB defined in ejb-jar.xml</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>If an entity or message-driven bean class is declared in XML, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+ </section>
+
+ <section id="3.3.6" title="Session beans with the @New binding">
+
+ <assertion code="a">
+ <text>Every EJB that satisfies the requirements of Section 3.3.2, "Which EJBs are beans?" is a bean, with scope, deployment type and bindings defined using annotations.
+Additionally, for each such session bean, a second bean exists which has the same bean class</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>Every EJB that satisfies the requirements of Section 3.3.2, "Which EJBs are beans?" is a bean, with scope, deployment type and bindings defined using annotations.
+Additionally, for each such session bean, a second bean exists which has the initializer methods and injected fields defined by annotations</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>Every EJB that satisfies the requirements of Section 3.3.2, "Which EJBs are beans?" is a bean, with scope, deployment type and bindings defined using annotations.
+Additionally, for each such session bean, a second bean exists which has the same interceptor bindings defined by annotations</text>
+ </assertion>
+
+ <assertion code="d">
+ <text>Every EJB that satisfies the requirements of Section 3.3.2, "Which EJBs are beans?" is a bean, with scope, deployment type and bindings defined using annotations.
+Additionally, for each such session bean, a second bean exists which has scope @Dependent,</text>
+ </assertion>
+
+ <assertion code="e">
+ <text>Every EJB that satisfies the requirements of Section 3.3.2, "Which EJBs are beans?" is a bean, with scope, deployment type and bindings defined using annotations.
+Additionally, for each such session bean, a second bean exists which has deployment type @Standard</text>
+ </assertion>
+
+ <assertion code="f">
+ <text>Every EJB that satisfies the requirements of Section 3.3.2, "Which EJBs are beans?" is a bean, with scope, deployment type and bindings defined using annotations.
+Additionally, for each such session bean, a second bean exists which has @javax.inject.New as the only binding</text>
+ </assertion>
+
+ <assertion code="g">
+ <text>Every EJB that satisfies the requirements of Section 3.3.2, "Which EJBs are beans?" is a bean, with scope, deployment type and bindings defined using annotations.
+Additionally, for each such session bean, a second bean exists which has no bean name</text>
+ </assertion>
+
+ <assertion code="h">
+ <text>Every EJB that satisfies the requirements of Section 3.3.2, "Which EJBs are beans?" is a bean, with scope, deployment type and bindings defined using annotations.
+Additionally, for each such session bean, a second bean exists which has no stereotypes</text>
+ </assertion>
+
+ <assertion code="i">
+ <text>Every EJB that satisfies the requirements of Section 3.3.2, "Which EJBs are beans?" is a bean, with scope, deployment type and bindings defined using annotations.
+Additionally, for each such session bean, a second bean exists which has no observer methods, producer methods or fields or disposal methods</text>
+ </assertion>
+ </section>
+
+ <section id="3.3.7" title="Specializing a session bean">
+
+ <assertion code="a">
+ <text>If a bean class of a session bean X defined using annotations is annotated @Specializes, then the bean class of X must directly extend the bean class of another session bean Y defined using annotations. Then X inherits all bindings of Y, and if Y has a name, X has the same name as Y. Also, X must support all local interfaces supported by Y, and
+if Y supports a bean-class local view, X must also support a bean-class local view.
+Otherwise, a DefinitionException is thrown by the container at deployment time.</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>We say that X directly specializes Y, and we can be certain that Y will never be instantiated or called by the container if X is enabled</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>If the bean class of X does not directly extend the bean class of another session bean, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+
+ <assertion code="d">
+ <text>If a session bean X defined in XML declares the <Specializes> element, then the bean class of X must be the bean class of another session bean Y defined using annotations. Then X inherits all bindings of Y, and if Y has a name, X has the same name as Y.</text>
+ </assertion>
+ </section>
+
+ <section id="3.3.8" title="Default name for a session bean">
+ <assertion code="a">
+ <text>The default name for a session bean is the unqualified class name of the bean class, after converting the first character to lower case</text>
+ </assertion>
+ </section>
+
+ <section id="3.3.9" title="Session bean proxies">
+ <assertion code="a">
+ <text>EJB local object references do not implement all local interfaces of the EJB. A local object reference may not be typecast to different local interface type, as required by Section 2.2, �Bean types�. Therefore, the container proxies the local object reference. A session bean proxy implements all local interfaces of the EJB.</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>All session bean proxies must be serializable</text>
+ </assertion>
+ </section>
+
+ <section id="3.4" title="Producer methods">
+ <assertion code="a">
+ <text>A producer method must be a method of a simple bean class or session bean class</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>A producer method may be either static or non-static</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>If the bean is a session bean, the producer method must be either a business method of the EJB or a static method of the bean class</text>
+ </assertion>
+
+ <assertion code="d">
+ <text>If a producer method sometimes returns a null value, then the producer method must have scope @Dependent</text>
+ </assertion>
+
+ <assertion code="e">
+ <text>If a producer method returns a null value at runtime, and the producer method declares any other scope, an IllegalProductException is thrown by the container. This restriction allows the container to use a client proxy, as defined in Section 5.4, "Client proxies".</text>
+ </assertion>
+
+ <assertion code="f">
+ <text>If the producer method return type is a parameterized type, it must specify actual type parameters for each type parameter</text>
+ </assertion>
+
+ <assertion code="g">
+ <text>If a producer method return type contains a wildcard type parameter or type variable, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+
+ <assertion code="h">
+ <text>The application may call producer methods directly. However, if the application calls a producer method directly, no parameters will be passed to the producer method by the container; the returned object is not bound to any context; and its lifecycle is not managed by the container</text>
+ </assertion>
+
+ <assertion code="i">
+ <text>A bean may declare multiple producer methods</text>
+ </assertion>
+ </section>
+
+ <section id="3.4.1" title="Bean types of a producer method">
+
+ <assertion code="a">
+ <text>If the return type of a producer method is an interface, the set of bean types contains the return type, all interfaces it extends directly or indirectly and java.lang.Object</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>If a return type of a producer method is primitive or is a Java array type, the set of bean types contains exactly two types: the method return type and java.lang.Object</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>If the return type of a producer method is a class, the set of bean types contains the return type, every superclass and all interfaces it implements directly or indirectly</text>
+ </assertion>
+ </section>
+
+ <section id="3.4.2" title="Declaring a producer method using annotations">
+
+ <assertion code="a">
+ <text>A producer method may be declared by annotating a method with the @javax.inject.Produces annotation</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>A producer method may also specify scope, name, deployment type, stereotypes and/or bindings</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>If a producer method is annotated @Initializer, has a parameter annotated @Disposes, or has a parameter annotated @Observes, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+
+ <assertion code="d">
+ <text>If a non-static method of a session bean class is annotated @Produces, and the method is not a business method of the EJB, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+ </section>
+
+ <section id="3.4.3" title="Declaring a producer method using XML">
+
+ <assertion code="a">
+ <text>For a bean defined in XML, a producer method may be declared using the method name, the <Produces> element, the return type, and the parameter types of the method</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>When a producer method is declared in XML, the container ignores binding annotations applied to the Java method or method parameters</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>If the bean class of a bean declared in XML does not have a method with the name and parameter types declared in XML, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+ </section>
+
+ <section id="3.4.4" title="Producer method parameters">
+ <assertion code="a">
+ <text>If the producer method has parameters, the container calls the method Manager.getInstanceToInject() defined in Section 5.7.1, "Resolving dependencies" to determine a value for each parameter and calls the producer method with those parameter values</text>
+ </assertion>
+ </section>
+
+ <section id="3.4.5" title="Specializing a producer method">
+
+ <assertion code="a">
+ <text>If a producer method X is annotated @Specializes, then it must be non-static and directly override another producer method Y. Then X inherits all bindings of Y, and if Y has a name, X has the same name as Y.
+ </assertion>
+
+ <assertion code="b">
+ <text>If the method is static or does not directly override another producer method, a DefinitionException is thrown by the container at deployment time</text>
+ </assertion>
+ </section>
+
+ <section id="3.4.6" title="Disposal methods">
+
+ <assertion code="a">
+ <text>A disposal method must be a method of a simple bean class or session bean class.</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>A disposal method may be either static or non-static</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>If the bean is a session bean, the disposal method must be a business method of the EJB or a static method of the bean class</text>
+ </assertion>
+
+ <assertion code="d">
+ <text>A bean may declare multiple disposal methods</text>
+ </assertion>
+ </section>
+
+ <section id="3.4.7" title="Disposed parameter of a disposal method">
+
+ <assertion code="a">
+ <text>Each disposal method must have exactly one disposed parameter, of the same type as the corresponding producer method return type</text>
+ </assertion>
+
+ <assertion code="b">
+ <text>When searching for disposal methods for a producer method, the container considers the type and bindings of the disposed parameter. If a disposed parameter resolves to a producer method according to the typesafe resolution algorithm, the container must call this method when destroying an instance returned by that producer method</text>
+ </assertion>
+
+ <assertion code="c">
+ <text>If the disposed parameter does not resolve to any producer method according to the typesafe resolution algorithm, an UnsatisfiedDependencyException is thrown by the container at deployment time</text>
+ </assertion>
+ </section>
+
+
+</specification>
Added: tck/trunk/impl/tck-audit.xsd
===================================================================
--- tck/trunk/impl/tck-audit.xsd (rev 0)
+++ tck/trunk/impl/tck-audit.xsd 2009-01-27 06:29:21 UTC (rev 1244)
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ targetNamespace="http://jboss.com/products/webbeans/tck/audit"
+ xmlns:audit="http://jboss.com/products/webbeans/tck/audit">
+
+ <xs:element name="specification">
+ <xs:annotation>
+ <xs:documentation> The specification tag is the root element for tck-audit.xml. </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="audit:section"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="section">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="audit:assertion"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="audit:attlist.section"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:attributeGroup name="attlist.section">
+ <xs:attribute name="id" type="xs:string"/>
+ <xs:attribute name="title" type="xs:string"/>
+ </xs:attributeGroup>
+
+ <xs:element name="assertion">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" ref="audit:text"/>
+ <xs:element minOccurs="0" maxOccurs="1" ref="audit:note"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="audit:attlist.assertion"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:attributeGroup name="attlist.assertion">
+ <xs:attribute name="code" type="xs:string"/>
+ </xs:attributeGroup>
+
+ <xs:element name="text">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string"/>
+ </xs:simpleContent"
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="note">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string"/>
+ </xs:simpleContent"
+ </xs:complexType>
+ </xs:element>
+
+</xs:schema>
\ No newline at end of file
15 years, 3 months
[webbeans-commits] Webbeans SVN: r1243 - in doc/trunk/reference: ko-KR and 1 other directory.
by webbeans-commits@lists.jboss.org
Author: eukim
Date: 2009-01-26 23:14:42 -0500 (Mon, 26 Jan 2009)
New Revision: 1243
Modified:
doc/trunk/reference/en-US/Book_Info.xml
doc/trunk/reference/ko-KR/part1.po
Log:
updated
Modified: doc/trunk/reference/en-US/Book_Info.xml
===================================================================
--- doc/trunk/reference/en-US/Book_Info.xml 2009-01-26 23:51:34 UTC (rev 1242)
+++ doc/trunk/reference/en-US/Book_Info.xml 2009-01-27 04:14:42 UTC (rev 1243)
@@ -2,6 +2,10 @@
<bookinfo>
<title>Introduction to Web Beans</title>
+ <productname>master</productname>
+ <productnumber>4.3</productnumber>
+ <edition>4.3</edition>
+ <pubsnumber>1</pubsnumber>
<subtitle>The new Java standard for dependency injection and contextual state management</subtitle>
<xi:include href="Author_Group.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
Modified: doc/trunk/reference/ko-KR/part1.po
===================================================================
--- doc/trunk/reference/ko-KR/part1.po 2009-01-26 23:51:34 UTC (rev 1242)
+++ doc/trunk/reference/ko-KR/part1.po 2009-01-27 04:14:42 UTC (rev 1243)
@@ -8,7 +8,7 @@
"Project-Id-Version: part1\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-10 14:18+0000\n"
-"PO-Revision-Date: 2009-01-23 11:18+1000\n"
+"PO-Revision-Date: 2009-01-27 10:42+1000\n"
"Last-Translator: Eunju Kim <eukim(a)redhat.com>\n"
"Language-Team: Korean <ko(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -19,6 +19,7 @@
"\n"
"\n"
"\n"
+"\n"
#. Tag: para
#: part1.xml:5
@@ -69,9 +70,7 @@
"components, along with a new kind of interceptor, called a "
"<emphasis>decorator</emphasis>, that is more appropriate for use in solving "
"business problems."
-msgstr ""
-"<emphasis>데코레이터 (decorator)</emphasis>라고 불리는 새로운 종류의 인터셉터와 함께 <emphasis>인터셉터</emphasis>를 구성요소에 바인딩하기 위한 개선된 접근으로, "
-"비지니스 문제 해결을 위해 보다 적절하게 사용됩니다. "
+msgstr "<emphasis>데코레이터 (decorator)</emphasis> 라는 새로운 종류의 인터셉터와 함께 <emphasis>인터셉터</emphasis>를 구성요소에 바인딩하기 위해 개선된 접근으로, 비지니스 문제 해결을 위해 보다 적절하게 사용 "
#. Tag: para
#: part1.xml:32
@@ -126,9 +125,7 @@
msgid ""
"how can I add an indirection layer, so that the implementation of this "
"object can vary at deployment time?"
-msgstr ""
-"어떻게 하면 우회 계층을 추가하여, 이러한 개체 구현을 배치시 다르게할 수 있을"
-"까요? "
+msgstr "어떻게 하면 우회 계층을 추가하여, 배치시 이러한 개체 구현을 다르게 할 수 있을까요? "
#. Tag: para
#: part1.xml:61
@@ -148,7 +145,7 @@
"scenario, without affecting any client."
msgstr ""
"Web Bean은 의존하는 다른 Web Beans의 유형 및 시멘틱 만을 지정합니다. 이는 의존하는 다른 Web Bean 클라이언트 또는 스레딩 모델, 실제적인 수명 주기, 구체적 "
-"구현 방식을 인식할 필요가 없습니다. 더 나아가 이는 의존하는 스레딩 모델, 수명 주기, 구체적 구현 방식은 클라이언트에게 영향을 미치지 않고 운용 방식에 따라 달라질 수 있습니다. "
+"구현 방식을 인식할 필요가 없습니다. 더 나아가 의존하는 Web Bean의 스레딩 모델, 수명 주기, 구체적 구현 방식은 클라이언트에게 영향을 미치지 않고 운용 방식에 따라 달라질 수 있습니다. "
#. Tag: para
#: part1.xml:72
@@ -164,7 +161,7 @@
msgid ""
"<emphasis>event notifications</emphasis> decouple event producers from event "
"consumers,"
-msgstr "<emphasis>이벤트 통지</emphasis>는 이벤트 소비자로 부터 이벤트 생산자를 연결 해제합니다 "
+msgstr "<emphasis>이벤트 통지</emphasis>는 이벤트 소비자로부터 이벤트 생산자를 연결 해제합니다 "
#. Tag: para
#: part1.xml:81
@@ -172,7 +169,7 @@
msgid ""
"<emphasis>interceptors</emphasis> decouple technical concerns from business "
"logic, and"
-msgstr "<emphasis>인터셉터</emphasis>는 비지니스 로직으로 부터의 기술적 문제를 연결 해제합니다 "
+msgstr "<emphasis>인터셉터</emphasis>는 비지니스 로직으로 부터의 기술적 문제를 연결 해제합니다 "
#. Tag: para
#: part1.xml:85
@@ -194,9 +191,7 @@
"together with a new pattern, called <emphasis>binding annotations</"
"emphasis>, to wire together Web Beans, their dependencies, their "
"interceptors and decorators and their event consumers."
-msgstr ""
-"가장 중요하게 Web Beans은 이러한 모든 기능은 <emphasis>타입 안정적 (typesafe)</emphasis> 방식으로 제공합니다. Web Beans는 협력적 객체를 갖추기 위한 방법을 결정하기 위해 문자열 기반의 식별자를 사용하지 않습니다. XML은 옵션으로 남아있어도 거의 사용되지 않습니다. 대신 Web Beans는 <emphasis>binding annotations</"
-"emphasis>이라는 새로운 패턴과 함께 Java 객체 모델에서 이미 사용 가능한 타이핑 정보를 사용하여 Web Beans 및 Web Beans의 의존성, 인터셉터, 데코레이터 및 이벤트 소비자를 함께 묶습니다. "
+msgstr "가장 중요하게 Web Beans는 이러한 모든 기능을 <emphasis>타입 안정적 (typesafe)</emphasis> 방식으로 제공합니다. Web Beans는 협력적 객체를 갖추기 위한 방법을 결정하기 위해 문자열 기반의 식별자를 사용하지 않습니다. XML은 옵션으로 남아있어도 거의 사용되지 않습니다. 대신 Web Beans는 <emphasis>바인딩 어노테이션 (binding annotations)</emphasis>이라는 새로운 패턴과 함께 Java 객체 모델에서 이미 사용 가능한 타이핑 정보를 사용하여 Web Beans 및 Web Beans의 의존성, 인터셉터, 데코레이터 및 이벤트 소비자를 함께 묶습니다. "
#. Tag: para
#: part1.xml:100
@@ -232,7 +227,7 @@
"of components defined by future Java EE specifications or by non-standard "
"frameworks may be cleanly integrated with Web Beans, take advantage of the "
"Web Beans services, and interact with any other kind of Web Bean."
-msgstr "Web Beans는 통합 지점을 제공하여 차후 Java EE 사양이나 또는 비표준 프레임워크에 의해 지정된 다른 종류의 구성요소가 Web Beans과 통합되어 Web Beans 서비스의 장점을 취하고 다른 종류의 Web Bean과 상호 작용합니다. "
+msgstr "Web Beans는 통합 지점을 제공하여 차후 Java EE 사양이나 또는 비표준 프레임워크에 의해 지정된 다른 종류의 구성 요소가 Web Beans과 통합되어 Web Beans 서비스의 장점을 취하고 다른 종류의 Web Bean과 상호 작용합니다. "
#. Tag: para
#: part1.xml:120
@@ -242,7 +237,7 @@
"Seam, Guice and Spring. However, Web Beans has its own very distinct "
"character: more typesafe than Seam, more stateful and less XML-centric than "
"Spring, more web and enterprise-application capable than Guice."
-msgstr "Web Beans는 Seam, Guice, Spring을 포함하여 다수의 기존 Java 프레임워크에 의해 영향을 받았지만 Web Beans은 자체적으로 다음과 같은 고유한 기능을 소유하고 있습니다: Seam 보다 더 타입 안정적, 보다 더 상태 기반적, Spring 보다 덜 XML-중심, Guice 보다 더 웹 및 엔터프라이즈-애플리케이션 기능 "
+msgstr "Web Beans는 Seam, Guice, Spring을 포함하여 다수의 기존 Java 프레임워크에 의해 영향을 받았지만 Web Beans은 자체적으로 다음과 같은 고유한 기능을 소유하고 있습니다: Seam 보다 더 타입 안정적, 보다 더 상태 기반적, Spring 보다 덜 XML-중심, Guice 보다 더 웹 및 엔터프라이즈-애플리케이션 사용 가능 "
#. Tag: para
#: part1.xml:125
15 years, 3 months