Author: guegl
Date: 2009-01-09 01:41:20 -0500 (Fri, 09 Jan 2009)
New Revision: 840
Modified:
doc/trunk/reference/es-ES/Author_Group.po
doc/trunk/reference/es-ES/decorators.po
doc/trunk/reference/es-ES/events.po
doc/trunk/reference/es-ES/example.po
doc/trunk/reference/es-ES/extend.po
doc/trunk/reference/es-ES/injection.po
Log:
in progress
Modified: doc/trunk/reference/es-ES/Author_Group.po
===================================================================
--- doc/trunk/reference/es-ES/Author_Group.po 2009-01-09 06:19:30 UTC (rev 839)
+++ doc/trunk/reference/es-ES/Author_Group.po 2009-01-09 06:41:20 UTC (rev 840)
@@ -8,7 +8,7 @@
"Project-Id-Version: Author_Group\n"
"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-08 14:07+0000\n"
-"PO-Revision-Date: 2009-01-08 12:17+1000\n"
+"PO-Revision-Date: 2009-01-09 11:40+1000\n"
"Last-Translator: Gladys Guerrero Lozano <gguerrer(a)redhat.com>\n"
"Language-Team: Spanish <fedora-trans-es(a)redhat.com>\n"
"MIME-Version: 1.0\n"
@@ -40,12 +40,13 @@
#. Tag: affiliation
#: Author_Group.xml:15
-#, fuzzy, no-c-format
+#, no-c-format
+#, fuzzy
msgid ""
"<jobtitle>Web Beans (JSR-299) Reference Implementation lead </jobtitle>
"
"<orgname>Red Hat Middleware LLC</orgname>"
msgstr ""
-"<jobtitle>Web Beans (JSR-299) Reference Implementation lead </jobtitle>
"
+"<jobtitle>Web Beans (JSR-299) Guía de Referencia de Aplicación
</jobtitle> "
"<orgname>Red Hat Middleware LLC</orgname>"
#. Tag: othercredit
@@ -65,3 +66,4 @@
#, no-c-format
msgid "<firstname>Francesco</firstname>
<surname>Milesi</surname>"
msgstr "<firstname>Francesco</firstname>
<surname>Milesi</surname>"
+
Modified: doc/trunk/reference/es-ES/decorators.po
===================================================================
--- doc/trunk/reference/es-ES/decorators.po 2009-01-09 06:19:30 UTC (rev 839)
+++ doc/trunk/reference/es-ES/decorators.po 2009-01-09 06:41:20 UTC (rev 840)
@@ -8,7 +8,7 @@
"Project-Id-Version: decorators\n"
"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
"POT-Creation-Date: 2008-12-19 20:26+0000\n"
-"PO-Revision-Date: 2009-01-08 12:15+1000\n"
+"PO-Revision-Date: 2009-01-09 11:30+1000\n"
"Last-Translator: Gladys Guerrero Lozano <gguerrer(a)redhat.com>\n"
"Language-Team: Spanish <fedora-trans-es(a)redhat.com>\n"
"MIME-Version: 1.0\n"
@@ -33,7 +33,7 @@
"However, by nature, interceptors are unaware of the actual semantics of the "
"events they intercept. Thus, interceptors aren't an appropriate tool for
"
"separating business-related concerns."
-msgstr "Los interceptores son una forma potente de capturar y distinguir
preocupaciones que son <emphasis>ortogonales</emphasis> al tipo de sistema.
Cualquier interceptor puede interceptar invocaciones de cualquier tipo Java. Esto los hace
perfectos para resolver las dudas técnicas como la administración de transacción y la
seguridad. Sin embargo, por naturaleza, los interceptores desconocen la semántica real de
los eventos que interceptan. Por lo tanto, los interceptores no son una herramienta
apropiada para separar las cuestiones relacionadas con negocios."
+msgstr "Los interceptores son una forma potente de capturar y distinguir cuestiones
que son <emphasis>ortogonales</emphasis> al tipo de sistema. Cualquier
interceptor puede interceptar invocaciones de cualquier tipo Java. Esto los hace perfectos
para resolver las cuestiones técnicas como la administración de transacción y la
seguridad. Sin embargo, por naturaleza, los interceptores desconocen la semántica real de
los eventos que interceptan. Por lo tanto, los interceptores no son una herramienta
apropiada para distinguir cuestiones relacionadas con negocios."
#. Tag: para
#: decorators.xml:14
@@ -45,7 +45,7 @@
"a perfect tool for modeling some kinds of business concerns. It also means "
"that a decorator doesn't have the generality of an interceptor. Decorators
"
"aren't able to solve technical concerns that cut across many disparate
types."
-msgstr "Contrario a los <emphasis>decoradores</emphasis>, los cuales
interceptan invocaciones únicamente para una cierta interfaz de Java y son por lo tanto,
conscientes de toda la semántica asociada a la interfaz. Esto los hace una herramienta
perfecta para representar algunos tipos de problemas de negocios. También significa que
los decoradores no tienen la generalidad de un interceptor. Los decoradores no pueden
resolver problemas técnicos que atraviesan muchos tipos dispares."
+msgstr "Contrario a los <emphasis>decoradores</emphasis>, los cuales
interceptan invocaciones únicamente para una cierta interfaz de Java y son por lo tanto,
conscientes de toda la semántica asociada a la interfaz. Esto los hace una herramienta
perfecta para representar algunas clases de cuestiones de negocios. También significa que
los decoradores no tienen la generalidad de un interceptor. Los decoradores no pueden
resolver problemas técnicos que atraviesan muchos tipos dispares."
#. Tag: para
#: decorators.xml:22
Modified: doc/trunk/reference/es-ES/events.po
===================================================================
--- doc/trunk/reference/es-ES/events.po 2009-01-09 06:19:30 UTC (rev 839)
+++ doc/trunk/reference/es-ES/events.po 2009-01-09 06:41:20 UTC (rev 840)
@@ -8,7 +8,7 @@
"Project-Id-Version: events\n"
"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
"POT-Creation-Date: 2008-12-19 20:26+0000\n"
-"PO-Revision-Date: 2009-01-08 17:04+1000\n"
+"PO-Revision-Date: 2009-01-09 11:24+1000\n"
"Last-Translator: Gladys Guerrero Lozano <gguerrer(a)redhat.com>\n"
"Language-Team: Spanish <fedora-trans-es(a)redhat.com>\n"
"MIME-Version: 1.0\n"
@@ -32,7 +32,7 @@
"Bean manager. This basic schema might sound like the familiar observer/"
"observable pattern, but there are a couple of twists:"
msgstr ""
-"La notificación de eventos de Web Beans permite a Web Beans interactuar de una
manera completamente disociada. Los <emphasis>productores</emphasis> levantan
eventos que son enviados luego a <emphasis>observadores</emphasis> de evento
por el administrador de Web "
+"La notificación de eventos de Web Beans permite a Web Beans interactuar de una
manera completamente disociada. Los <emphasis>productores</emphasis> crean
eventos que son enviados luego a <emphasis>observadores</emphasis> de evento
por el administrador de Web "
"Beans. Este esquema básico podría sonar como el patrón de observador
familiar/"
"observable, pero hay un par de cambios:"
@@ -50,7 +50,7 @@
msgid ""
"observers can specify a combination of \"selectors\" to narrow the set of
"
"event notifications they will receive, and"
-msgstr "los observadores pueden especificar una combinación de
\"selectores\" para estrechar el conjunto de notificaciones de eventos que
recibirán y "
+msgstr "los observadores pueden especificar una combinación de
\"selectores\" para limitar el conjunto de notificaciones de eventos que
recibirán y"
#. Tag: para
#: events.xml:22
@@ -185,7 +185,7 @@
"with scope <literal>@Dependent</literal> and deployment type "
"<literal>@Standard</literal>, with an implementation provided by the
Web "
"Bean manager."
-msgstr "La anotación <literal>@Observable</literal> define
implícitamente un Web Bean con alcance <literal>@Dependent</literal> y tipo de
despliegue <literal>@Standard</literal>, con una implementación provista por
el administrador de Web Bean."
+msgstr "La anotación <literal>@Observable</literal> define
implícitamente un Web Bean con ámbito <literal>@Dependent</literal> y tipo de
despliegue <literal>@Standard</literal>, con una implementación provista por
el administrador de Web Bean."
#. Tag: para
#: events.xml:72
@@ -217,7 +217,7 @@
#: events.xml:83 events.xml:107 events.xml:126
#, no-c-format
msgid "has an event parameter to which the event object is assignable, and"
-msgstr "tenga un parámetro de evento al cual el objeto de evento sea asignable y
"
+msgstr "tenga un parámetro de evento al cual el objeto de evento sea asignable
y"
#. Tag: para
#: events.xml:86
@@ -233,7 +233,7 @@
"event object as the value of the event parameter. If any observer method "
"throws an exception, the Web Bean manager stops calling observer methods, "
"and the exception is rethrown by the <literal>fire()</literal>
method."
-msgstr "El administrador de Web Bean simplemente llama a todos los métodos de
observador, pasando el objeto del evento como el valor de un parámetro de evento. Si
cualquier método de observador lanza una excepción, el administrador de Web Bean se
detiene llamando a los métodos de observador y la excepción es reenviada por le método
<literal>fire()</literal>."
+msgstr "El administrador de Web Beans simplemente llama a todos los métodos de
observador, pasando el objeto del evento como el valor de un parámetro de evento. Si
cualquier método de observador lanza una excepción, el administrador de Web Beans se
detiene llamando a los métodos de observador y la excepción es reenviada por le método
<literal>fire()</literal>."
#. Tag: para
#: events.xml:95
@@ -241,7 +241,7 @@
msgid ""
"To specify a \"selector\", the event producer may pass an instance of the
"
"event binding type to the <literal>fire()</literal> method:"
-msgstr ""
+msgstr "Para especificar un \"selector\", el productor del evento puede
pasar una instancia del tipo de enlace del evento al método
<literal>fire()</literal>:"
#. Tag: programlisting
#: events.xml:98
@@ -250,6 +250,8 @@
"<![CDATA[documentEvent.fire( document, new
AnnotationLiteral<Updated>()"
"{} );]]>"
msgstr ""
+"<![CDATA[documentEvent.fire( document, new
AnnotationLiteral<Updated>()"
+"{} );]]>"
#. Tag: para
#: events.xml:100
@@ -258,13 +260,13 @@
"The helper class <literal>AnnotationLiteral</literal> makes it possible
to "
"instantiate binding types inline, since this is otherwise difficult to do in
"
"Java."
-msgstr ""
+msgstr "La <literal>Anotación Literal</literal> clase auxiliar hace
posible crear una instancia de tipos de enlaces en línea, ya que de otra manera es difícil
hacerlo en Java."
#. Tag: para
#: events.xml:103
#, no-c-format
msgid "The event will be delivered to every observer method that:"
-msgstr ""
+msgstr "El evento será entregado a cada método de observador que:"
#. Tag: para
#: events.xml:110
@@ -272,7 +274,7 @@
msgid ""
"does not specify any event binding <emphasis>except</emphasis> for the
event "
"bindings passed to <literal>fire()</literal>."
-msgstr ""
+msgstr "no especifique ningún enlace de evento
<emphasis>excepto</emphasis> para enlaces de evento pasados a
<literal>fire()</literal>."
#. Tag: para
#: events.xml:115
@@ -280,13 +282,13 @@
msgid ""
"Alternatively, event bindings may be specified by annotating the event "
"notifier injection point:"
-msgstr ""
+msgstr "De modo alternativo, se pueden especificar eventos de enlaces anotando el
punto de inyección de notificador de eventos:"
#. Tag: programlisting
#: events.xml:118
#, no-c-format
msgid "<![CDATA[@Observable @Updated Event<Document>
documentUpdatedEvent]]>"
-msgstr ""
+msgstr "<![CDATA[@Observable @Updated Event<Document>
documentUpdatedEvent]]>"
#. Tag: para
#: events.xml:120
@@ -295,7 +297,7 @@
"Then every event fired via this instance of <literal>Event</literal>
has the "
"annotated event binding. The event will be delivered to every observer "
"method that:"
-msgstr ""
+msgstr "Luego cada evento disparado vía esta instancia de
<literal>Evento</literal> tiene el enlace de evento anotado. El evento será
enviado a cada método de observador que:"
#. Tag: para
#: events.xml:129
@@ -304,13 +306,13 @@
"does not specify any event binding <emphasis>except</emphasis> for the
event "
"bindings passed to <literal>fire()</literal> or the annotated event
bindings "
"of the event notifier injection point."
-msgstr ""
+msgstr "no especifica ningún enlace de
evento<emphasis>excepto</emphasis> para los enlaces de eventos pasados a
<literal>fire()</literal> o a los enlaces de evento anotados del punto de
inyección del notificador de evento."
#. Tag: title
#: events.xml:138
#, no-c-format
msgid "Registering observers dynamically"
-msgstr ""
+msgstr "Registrando observadores dinámicamente"
#. Tag: para
#: events.xml:140
@@ -320,7 +322,7 @@
"may implement the <literal>Observer</literal> interface and register an
"
"instance with an event notifier by calling the
<literal>observe()</literal> "
"method."
-msgstr ""
+msgstr "Suele ser útil registrar dinámicamente un observador de evento. La
aplicación puede implementar la interfaz del <literal>Observador</literal> y
registrar una instancia con un notificador de evento llamando el método de
<literal>observe()</literal>."
#. Tag: programlisting
#: events.xml:144
@@ -329,6 +331,8 @@
"<![CDATA[documentEvent.observe( new Observer<Document>() { public void
notify"
"(Document doc) { ... } } );]]>"
msgstr ""
+"<![CDATA[documentEvent.observe( new Observer<Document>() { public void
notify"
+"(Document doc) { ... } } );]]>"
#. Tag: para
#: events.xml:146
@@ -338,6 +342,8 @@
"or by passing event binding type instances to the
<literal>observe()</"
"literal> method:"
msgstr ""
+"Los tipos de enlace de evento pueden ser especificados por el punto de inyección
del notificador del evento o pasando las instancias de tipo de enlace de evento al método
<literal>observe()</"
+"literal>:"
#. Tag: programlisting
#: events.xml:149
@@ -348,18 +354,22 @@
" new "
"AnnotationLiteral<Updated>(){} );]]>"
msgstr ""
+"<![CDATA[documentEvent.observe( new Observer<Document>() { public void
notify"
+"(Document doc) { ... } }, \n"
+" new "
+"AnnotationLiteral<Updated>(){} );]]>"
#. Tag: title
#: events.xml:154
#, no-c-format
msgid "Event bindings with members"
-msgstr ""
+msgstr "Enlaces de evento con miembros"
#. Tag: para
#: events.xml:156
#, no-c-format
msgid "An event binding type may have annotation members:"
-msgstr ""
+msgstr "Un tipo de enlace de evento puede tener miembros de anotación:"
#. Tag: programlisting
#: events.xml:158
@@ -372,12 +382,18 @@
" RoleType value();\n"
"}]]>"
msgstr ""
+"<![CDATA[@BindingType\n"
+"@Target({PARAMETER, FIELD})\n"
+"@Retention(RUNTIME)\n"
+"public @interface Role {\n"
+" RoleType value();\n"
+"}]]>"
#. Tag: para
#: events.xml:160
#, no-c-format
msgid "The member value is used to narrow the messages delivered to the
observer:"
-msgstr ""
+msgstr "El valor de miembro se utiliza para limitar los mensajes enviados al
observador:"
#. Tag: programlisting
#: events.xml:162
@@ -386,6 +402,8 @@
"<![CDATA[public void adminLoggedIn(@Observes @Role(ADMIN) LoggedIn event)
"
"{ ... }]]>"
msgstr ""
+"<![CDATA[public void adminLoggedIn(@Observes @Role(ADMIN) LoggedIn event)
"
+"{ ... }]]>"
#. Tag: para
#: events.xml:164
@@ -393,13 +411,13 @@
msgid ""
"Event binding type members may be specified statically by the event "
"producer, via annotations at the event notifier injection point:"
-msgstr ""
+msgstr "Los miembros de tipo de enlace de evento se pueden especificar estáticamente
por el producto del evento, a través de anotaciones en el punto de inyección del
notificador de evento."
#. Tag: programlisting
#: events.xml:167
#, no-c-format
msgid "<![CDATA[@Observable @Role(ADMIN) Event<LoggedIn>
LoggedInEvent;}}]]>"
-msgstr ""
+msgstr "<![CDATA[@Observable @Role(ADMIN) Event<LoggedIn>
LoggedInEvent;}}]]>"
#. Tag: para
#: events.xml:169
@@ -408,7 +426,7 @@
"Alternatively, the value of the event binding type member may be determined "
"dynamically by the event producer. We start by writing an abstract subclass "
"of <literal>AnnotationLiteral</literal>:"
-msgstr ""
+msgstr "Alternativamente, el valor del miembro de tipo de enlace de evento puede ser
determinado de modo dinámico por el productor de evento. Empezamos por escribir una
subclase abstracta de <literal>AnotacíonLiteral</literal>:"
#. Tag: programlisting
#: events.xml:172
@@ -418,6 +436,9 @@
" extends AnnotationLiteral<Role> \n"
" implements Role {}]]>"
msgstr ""
+"<![CDATA[abstract class RoleBinding \n"
+" extends AnnotationLiteral<Role> \n"
+" implements Role {}]]>"
#. Tag: para
#: events.xml:174
@@ -426,6 +447,8 @@
"The event producer passes an instance of this class to
<literal>fire()</"
"literal>:"
msgstr ""
+"El productor de evento pasa una instancia de esta clase a
<literal>fire()</"
+"literal>:"
#. Tag: programlisting
#: events.xml:176
@@ -434,18 +457,20 @@
"<![CDATA[documentEvent.fire( document, new RoleBinding() { public void
value"
"() { return user.getRole(); } } );]]>"
msgstr ""
+"<![CDATA[documentEvent.fire( document, new RoleBinding() { public void
value"
+"() { return user.getRole(); } } );]]>"
#. Tag: title
#: events.xml:181
#, no-c-format
msgid "Multiple event bindings"
-msgstr ""
+msgstr "Enlaces de evento múltiples"
#. Tag: para
#: events.xml:183
#, no-c-format
msgid "Event binding types may be combined, for example:"
-msgstr ""
+msgstr "Los tipos de enlaces de evento pueden combinarse, por ejemplo:"
#. Tag: programlisting
#: events.xml:185
@@ -456,6 +481,10 @@
"if (document.isBlog()) blogEvent.fire(document, new "
"AnnotationLiteral<Updated>(){});]]>"
msgstr ""
+"<![CDATA[@Observable @Blog Event<Document> blogEvent;\n"
+"...\n"
+"if (document.isBlog()) blogEvent.fire(document, new "
+"AnnotationLiteral<Updated>(){});]]>"
#. Tag: para
#: events.xml:187
@@ -463,7 +492,7 @@
msgid ""
"When this event occurs, all of the following observer methods will be "
"notified:"
-msgstr ""
+msgstr "Cuando un evento ocurre, todos los siguientes métodos de observador serán
notificados:"
#. Tag: programlisting
#: events.xml:189
@@ -472,6 +501,8 @@
"<![CDATA[public void afterBlogUpdate(@Observes @Updated @Blog Document "
"document) { ... }]]>"
msgstr ""
+"<![CDATA[public void afterBlogUpdate(@Observes @Updated @Blog Document "
+"document) { ... }]]>"
#. Tag: programlisting
#: events.xml:191
@@ -480,6 +511,8 @@
"<![CDATA[public void onAnyBlogEvent(@Observes @Blog Document document) "
"{ ... }]]>"
msgstr ""
+"<![CDATA[public void onAnyBlogEvent(@Observes @Blog Document document) "
+"{ ... }]]>"
#. Tag: programlisting
#: events.xml:192
@@ -488,12 +521,14 @@
"<![CDATA[public void onAnyDocumentEvent(@Observes Document document) "
"{ ... }}}]]>"
msgstr ""
+"<![CDATA[public void onAnyDocumentEvent(@Observes Document document) "
+"{ ... }}}]]>"
#. Tag: title
#: events.xml:197
#, no-c-format
msgid "Transactional observers"
-msgstr ""
+msgstr "Observadores transaccionales"
#. Tag: para
#: events.xml:199
@@ -504,7 +539,7 @@
"For example, the following observer method needs to refresh a query result "
"set that is cached in the application context, but only when transactions "
"that update the <literal>Category</literal> tree succeed:"
-msgstr ""
+msgstr "Los observadores transaccionales reciben las notificaciones de sus eventos
antes o después de la fase de finalización de la transacción en la se creó el evento. Por
ejemplo, el siguiente método de observador necesita actualizar un conjunto de resultados
de petición almacenado en caché en el contexto de aplicación, pero sólo cuando las
transacciones que actualizan el árbol de <literal>Categoría</literal> tengan
éxito:"
#. Tag: programlisting
#: events.xml:205
@@ -513,12 +548,14 @@
"<![CDATA[public void refreshCategoryTree(@AfterTransactionSuccess @Observes
"
"CategoryUpdateEvent event) { ... }]]>"
msgstr ""
+"<![CDATA[public void refreshCategoryTree(@AfterTransactionSuccess @Observes
"
+"CategoryUpdateEvent event) { ... }]]>"
#. Tag: para
#: events.xml:207
#, no-c-format
msgid "There are three kinds of transactional observers:"
-msgstr ""
+msgstr "Hay tres clases de observadores transaccionales:"
#. Tag: para
#: events.xml:211
@@ -527,7 +564,7 @@
"<literal>@AfterTransactionSuccess</literal> observers are called during
the "
"after completion phase of the transaction, but only if the transaction "
"completes successfully"
-msgstr ""
+msgstr "Los observadores<literal>@AfterTransactionSuccess</literal> son
llamados durante la fase de después de finalización de la transacción, pero sólo si la
transacción finaliza exitosamente."
#. Tag: para
#: events.xml:216
@@ -536,7 +573,7 @@
"<literal>@AfterTransactionFailure</literal> observers are called during
the "
"after completion phase of the transaction, but only if the transaction fails
"
"to complete successfully"
-msgstr ""
+msgstr "Los observadores <literal>@AfterTransactionFailure</literal> son
llamados durante la fase de después de la finalización de la transacción, pero sólo si la
transacción falla"
#. Tag: para
#: events.xml:221
@@ -544,7 +581,7 @@
msgid ""
"<literal>@AfterTransactionCompletion</literal> observers are called
during "
"the after completion phase of the transaction"
-msgstr ""
+msgstr "Los observadores <literal>@AfterTransactionCompletion</literal>
son llamados durante la fase de después de finalización de la transacción"
#. Tag: para
#: events.xml:225
@@ -552,7 +589,7 @@
msgid ""
"<literal>@BeforeTransactionCompletion</literal> observers are called
during "
"the before completion phase of the transaction"
-msgstr ""
+msgstr "Los observadores <literal>@BeforeTransactionCompletion</literal>
son llamados durante la fase de antes de finalización de la transacción"
#. Tag: para
#: events.xml:230
@@ -561,13 +598,13 @@
"Transactional observers are very important in a stateful object model like "
"Web Beans, because state is often held for longer than a single atomic "
"transaction."
-msgstr ""
+msgstr "Los observadores transaccionales son muy importantes en un modelo de objetos
con estado como Web Beans, porque el estado suele ser mantenido para más de una
transacción atómica."
#. Tag: para
#: events.xml:233
#, no-c-format
msgid "Imagine that we have cached a JPA query result set in the application
scope:"
-msgstr ""
+msgstr "Imagine que hemos almacenado en caché un conjunto de resultados de petición
JPA en el ámbito de la aplicación:"
#. Tag: programlisting
#: events.xml:235
@@ -592,6 +629,24 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[@ApplicationScoped @Singleton\n"
+"public class Catalog {\n"
+"\n"
+" @PersistenceContext EntityManager em;\n"
+" \n"
+" List<Product> products;\n"
+"\n"
+" @Produces @Catalog \n"
+" List<Product> getCatalog() {\n"
+" if (products==null) {\n"
+" products = em.createQuery(\"select p from Product p where
p."
+"deleted = false\")\n"
+" .getResultList();\n"
+" }\n"
+" return products;\n"
+" }\n"
+" \n"
+"}]]>"
#. Tag: para
#: events.xml:237
@@ -601,7 +656,7 @@
"this occurs, we need to refresh the <literal>Product</literal> catalog.
But "
"we should wait until <emphasis>after</emphasis> the transaction
completes "
"successfully before performing this refresh!"
-msgstr ""
+msgstr "De vez en cuando, se crea o borra un
<literal>Producto</literal>. Cuando esto ocurre, necesitamos refrescar el
catálogo del <literal>Producto</literal>. No obstante, deberíamos esperar
hasta <emphasis>después</emphasis> de que la transacción finalice exitosamente
antes de ¡actualizar!"
#. Tag: para
#: events.xml:242
@@ -609,7 +664,7 @@
msgid ""
"The Web Bean that creates and deletes <literal>Product</literal>s could
"
"raise events, for example:"
-msgstr ""
+msgstr "El Web Bean que crea y borra <literal>Productos</literal> podría
crear eventos, por ejemplo:"
#. Tag: programlisting
#: events.xml:245
@@ -635,6 +690,25 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[@Stateless\n"
+"public class ProductManager {\n"
+"\n"
+" @PersistenceContext EntityManager em;\n"
+" @Observable Event<Product> productEvent;\n"
+"\n"
+" public void delete(Product product) {\n"
+" em.delete(product);\n"
+" productEvent.fire(product, new
AnnotationLiteral<Deleted>(){});\n"
+" }\n"
+" \n"
+" public void persist(Product product) {\n"
+" em.persist(product);\n"
+" productEvent.fire(product, new
AnnotationLiteral<Created>(){});\n"
+" }\n"
+" \n"
+" ...\n"
+" \n"
+"}]]>"
#. Tag: para
#: events.xml:247
@@ -642,7 +716,7 @@
msgid ""
"And now <literal>Catalog</literal> can observe the events after
successful "
"completion of the transaction:"
-msgstr ""
+msgstr "Ahora el <literal>Catálogo</literal> puede observar los eventos
después de finalizar la transacción exitosamente:"
#. Tag: programlisting
#: events.xml:250
@@ -665,4 +739,20 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[@ApplicationScoped @Singleton\n"
+"public class Catalog {\n"
+"\n"
+" ...\n"
+" \n"
+" void addProduct(@AfterTransactionSuccess @Observes @Created Product "
+"product) {\n"
+" products.add(product);\n"
+" }\n"
+" \n"
+" void addProduct(@AfterTransactionSuccess @Observes @Deleted Product "
+"product) {\n"
+" products.remove(product);\n"
+" }\n"
+" \n"
+"}]]>"
Modified: doc/trunk/reference/es-ES/example.po
===================================================================
--- doc/trunk/reference/es-ES/example.po 2009-01-09 06:19:30 UTC (rev 839)
+++ doc/trunk/reference/es-ES/example.po 2009-01-09 06:41:20 UTC (rev 840)
@@ -1,23 +1,26 @@
+# translation of example.po to Spanish
# Language es-ES translations for master.xml package.
+#
# Automatically generated, 2008.
-#
+# Gladys Guerrero Lozano <gguerrer(a)redhat.com>, 2009.
msgid ""
msgstr ""
-"Project-Id-Version: master.xml \n"
+"Project-Id-Version: example\n"
"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-04 23:18+0000\n"
-"PO-Revision-Date: 2008-12-19 20:26+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-09 11:08+1000\n"
+"Last-Translator: Gladys Guerrero Lozano <gguerrer(a)redhat.com>\n"
+"Language-Team: Spanish <fedora-trans-es(a)redhat.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
#. Tag: title
#: example.xml:4
#, no-c-format
msgid "JSF web application example"
-msgstr ""
+msgstr "ejemplo de aplicación de red JSF"
#. Tag: para
#: example.xml:6
@@ -26,7 +29,7 @@
"Let's illustrate these ideas with a full example. We're going to implement
"
"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 ""
+msgstr "Ilustremos estas ideas con un ejemplo. Vamos a implementar inicio/cierre de
sesión de usuario para una aplicación que utiliza JSF. Primero, definiremos un Web Bean
para mantener el nombre de usuario y contraseña escrito durante el inicio de
sesión:"
#. Tag: programlisting
#: example.xml:11
@@ -46,12 +49,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 "Este Web Bean está vinculado al intérprete de comandos de inicio de sesión
en la siguiente forma JSF:"
#. Tag: programlisting
#: example.xml:15
@@ -70,6 +86,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
@@ -78,7 +106,7 @@
"The actual work is done by a session scoped Web Bean that maintains "
"information about the currently logged-in user and exposes the "
"<literal>User</literal> entity to other Web Beans:"
-msgstr ""
+msgstr "El trabajo real está hecho por una sesión de ámbito Web Bean que mantiene
información acerca del usuario actualmente conectado y expone la entidad del
<literal>Usuario</literal> a otras Web Beans:"
#. Tag: programlisting
#: example.xml:21
@@ -121,12 +149,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 "Obviamente, <literal>@LoggedIn</literal> es una anotación de
enlace:"
#. Tag: programlisting
#: example.xml:25
@@ -137,12 +201,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 "Ahora, cualquier otro Web Bean puede fácilmente inyectar al usuario
actual:"
#. Tag: programlisting
#: example.xml:29
@@ -161,6 +229,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 +249,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 "Esperamos que este ejemplo de una idea del modelo de programación de Web
Bean. En el próximo capítulo, estudiaremos más a fondo la inyección de dependencia de Web
Beans."
+
Modified: doc/trunk/reference/es-ES/extend.po
===================================================================
--- doc/trunk/reference/es-ES/extend.po 2009-01-09 06:19:30 UTC (rev 839)
+++ doc/trunk/reference/es-ES/extend.po 2009-01-09 06:41:20 UTC (rev 840)
@@ -1,23 +1,26 @@
+# translation of extend.po to Spanish
# Language es-ES translations for master.xml package.
+#
# Automatically generated, 2008.
-#
+# Gladys Guerrero Lozano <gguerrer(a)redhat.com>, 2009.
msgid ""
msgstr ""
-"Project-Id-Version: master.xml \n"
+"Project-Id-Version: extend\n"
"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
"POT-Creation-Date: 2008-12-19 20:26+0000\n"
-"PO-Revision-Date: 2008-12-19 20:26+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-09 12:09+1000\n"
+"Last-Translator: Gladys Guerrero Lozano <gguerrer(a)redhat.com>\n"
+"Language-Team: Spanish <fedora-trans-es(a)redhat.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
#. Tag: title
#: extend.xml:4
#, no-c-format
msgid "Extending Web Beans"
-msgstr ""
+msgstr "Extensión de Web Beans"
#. Tag: para
#: extend.xml:6
@@ -28,13 +31,13 @@
"SPIs for the use of developers of portable extensions to Web Beans. For "
"example, the following kinds of extensions were envisaged by the designers "
"of Web Beans:"
-msgstr ""
+msgstr "Web Beans pretende ser una plataforma para marcos, extensiones e integración
con otras tecnologías. Por lo tanto, Web Beans expone un conjunto de SPI para el uso de
desarrolladores de extensiones portátiles para Web Beans. Por ejemplo, las siguientes
clases de extensiones fueron previstas por los diseñadores de Web Beans:"
#. Tag: para
#: extend.xml:14
#, no-c-format
msgid "integration with Business Process Management engines,"
-msgstr ""
+msgstr "integración con motores de Gestión de Proceso de Negocios,"
#. Tag: para
#: extend.xml:17
@@ -42,13 +45,13 @@
msgid ""
"integration with third-party frameworks such as Spring, Seam, GWT or Wicket,
"
"and"
-msgstr ""
+msgstr "integración con marcos de terceras partes tales como Spring, Seam, GWT o
Wicket, y"
#. Tag: para
#: extend.xml:21
#, no-c-format
msgid "new technology based upon the Web Beans programming model."
-msgstr ""
+msgstr "nueva tecnología basada en el modelo de programación de Web Beans."
#. Tag: para
#: extend.xml:25
@@ -56,13 +59,13 @@
msgid ""
"The nerve center for extending Web Beans is the
<literal>Manager</literal> "
"object."
-msgstr ""
+msgstr "El centro nervioso para extender Web Beans es el objeto de
<literal>Manager</literal>. "
#. Tag: title
#: extend.xml:29
#, no-c-format
msgid "The <literal>Manager</literal> object"
-msgstr ""
+msgstr "El objeto <literal>Manager</literal>"
#. Tag: para
#: extend.xml:31
@@ -71,6 +74,8 @@
"The <literal>Manager</literal> interface lets us register and obtain
Web "
"Beans, interceptors, decorators, observers and contexts programatically."
msgstr ""
+"La interfaz <literal>Manager</literal> nos permite registrar y obtener
Web "
+"Beans, interceptores, decoradores, observadores y contextos en forma
programada."
#. Tag: programlisting
#: extend.xml:34
@@ -133,24 +138,80 @@
"\n"
"}]]>"
msgstr ""
+"<![CDATA[public interface Manager\n"
+"{\n"
+"\n"
+" public <T> Set<Bean<T>> resolveByType(Class<T> type,
Annotation... "
+"bindings);\n"
+"\n"
+" public <T> Set<Bean<T>> resolveByType(TypeLiteral<T>
apiType,\n"
+" Annotation... bindings);\n"
+"\n"
+" public <T> T getInstanceByType(Class<T> type, Annotation...
bindings);\n"
+"\n"
+" public <T> T getInstanceByType(TypeLiteral<T> type,\n"
+" Annotation... bindings);\n"
+"\n"
+" public Set<Bean<?>> resolveByName(String name);\n"
+"\n"
+" public Object getInstanceByName(String name);\n"
+"\n"
+" public <T> T getInstance(Bean<T> bean);\n"
+"\n"
+" public void fireEvent(Object event, Annotation... bindings);\n"
+"\n"
+" public Context getContext(Class<? extends Annotation> scopeType);\n"
+"\n"
+" public Manager addContext(Context context);\n"
+"\n"
+" public Manager addBean(Bean<?> bean);\n"
+"\n"
+" public Manager addInterceptor(Interceptor interceptor);\n"
+"\n"
+" public Manager addDecorator(Decorator decorator);\n"
+"\n"
+" public <T> Manager addObserver(Observer<T> observer, Class<T>
eventType,\n"
+" Annotation... bindings);\n"
+"\n"
+" public <T> Manager addObserver(Observer<T> observer,
TypeLiteral<T> "
+"eventType,\n"
+" Annotation... bindings);\n"
+"\n"
+" public <T> Manager removeObserver(Observer<T> observer,
Class<T> "
+"eventType,\n"
+" Annotation... bindings);\n"
+"\n"
+" public <T> Manager removeObserver(Observer<T> observer,\n"
+" TypeLiteral<T> eventType, Annotation... bindings);\n"
+"\n"
+" public <T> Set<Observer<T>> resolveObservers(T event,
Annotation... "
+"bindings);\n"
+"\n"
+" public List<Interceptor> resolveInterceptors(InterceptionType
type,\n"
+" Annotation... interceptorBindings);\n"
+"\n"
+" public List<Decorator> resolveDecorators(Set<Class<?>>
types,\n"
+" Annotation... bindings);\n"
+"\n"
+"}]]>"
#. Tag: para
#: extend.xml:36
#, no-c-format
msgid "We can obtain an instance of <literal>Manager</literal> via
injection:"
-msgstr ""
+msgstr "Podemos obtener una instancia de <literal>Manager</literal> vía
inyección:"
#. Tag: programlisting
#: extend.xml:38
#, no-c-format
msgid "@Current Manager manager"
-msgstr ""
+msgstr "@Current Manager manager"
#. Tag: title
#: extend.xml:43
#, no-c-format
msgid "The <literal>Bean</literal> class"
-msgstr ""
+msgstr "La clase <literal>Bean</literal>"
#. Tag: para
#: extend.xml:45
@@ -159,7 +220,7 @@
"Instances of the abstract class <literal>Bean</literal> represent Web
Beans. "
"There is an instance of <literal>Bean</literal> registered with the
"
"<literal>Manager</literal> object for every Web Bean in the
application."
-msgstr ""
+msgstr "Instancias de clase abstracta <literal>Bean</literal>
representan Web Beans. Hay una instancia de <literal>Bean</literal> registrada
con el objeto <literal>Manager</literal> para cada Web Bean en la aplicación.
"
#. Tag: programlisting
#: extend.xml:50
@@ -191,6 +252,31 @@
" \n"
"}"
msgstr ""
+"public abstract class Bean<T> {\n"
+" \n"
+" private final Manager manager;\n"
+" \n"
+" protected Bean(Manager manager) {\n"
+" this.manager=manager;\n"
+" }\n"
+" \n"
+" protected Manager getManager() {\n"
+" return manager;\n"
+" }\n"
+" \n"
+" public abstract Set<Class> getTypes();\n"
+" public abstract Set<Annotation> getBindingTypes();\n"
+" public abstract Class<? extends Annotation>
getScopeType();\n"
+" public abstract Class<? extends Annotation> getDeploymentType();
\n"
+" public abstract String getName();\n"
+" \n"
+" public abstract boolean isSerializable();\n"
+" public abstract boolean isNullable();\n"
+"\n"
+" public abstract T create();\n"
+" public abstract void destroy(T instance);\n"
+" \n"
+"}"
#. Tag: para
#: extend.xml:52
@@ -202,7 +288,7 @@
"specification (simple and enterprise Web Beans, producer methods and JMS "
"endpoints). For example, we could use the <literal>Bean</literal> class
to "
"allow objects managed by another framework to be injected into Web Beans."
-msgstr ""
+msgstr "Es posible extender la clase <literal>Bean</literal> y registrar
instancias llamando a <literal>Manager.addBean()</literal> para proveer
soporte a nuevas clases de Web Beans, además de los definidos por la especificación Web
Beans (Web Beans sencillos y de empresa, métodos de productor y endpoints JMS). Por
ejemplo, podríamos utilizar la clase <literal>Bean</literal> para permitir que
los objetos sean administrados por otro marco que se inyecta en Web Beans."
#. Tag: para
#: extend.xml:60
@@ -212,12 +298,14 @@
"specification: <literal>Interceptor</literal> and
<literal>Decorator</"
"literal>."
msgstr ""
+"Hay dos subclase de <literal>Bean</literal> definidas por la
especificación de Web Beans: <literal>Interceptor</literal> y
<literal>Decorator</"
+"literal>."
#. Tag: title
#: extend.xml:67
#, no-c-format
msgid "The <literal>Context</literal> interface"
-msgstr ""
+msgstr "La interfaz <literal>Context</literal>"
#. Tag: para
#: extend.xml:69
@@ -225,7 +313,7 @@
msgid ""
"The <literal>Context</literal> interface supports addition of new
scopes to "
"Web Beans, or extension of the built-in scopes to new environments."
-msgstr ""
+msgstr "La interfaz <literal>Context</literal> soporta la adición de
nuevos ámbitos a Web Beans, o extensión de los ámbitos incorporados a nuevos
entornos."
#. Tag: programlisting
#: extend.xml:72
@@ -241,6 +329,15 @@
" \n"
"}"
msgstr ""
+"public interface Context {\n"
+" \n"
+" public Class<? extends Annotation> getScopeType();\n"
+" \n"
+" public <T> T get(Bean<T> bean, boolean
create);\n"
+" \n"
+" boolean isActive();\n"
+" \n"
+"}"
#. Tag: para
#: extend.xml:74
@@ -249,4 +346,5 @@
"For example, we might implement <literal>Context</literal> to add a
business "
"process scope to Web Beans, or to add support for the conversation scope to "
"an application that uses Wicket."
-msgstr ""
+msgstr "Por ejemplo, podríamos implementar <literal>Context</literal>
para agregar un ámbito de proceso de negocio a Web Beans, o agregar soporte para el ámbito
de conversación a una aplicación que utiliza Wicket."
+
Modified: doc/trunk/reference/es-ES/injection.po
===================================================================
--- doc/trunk/reference/es-ES/injection.po 2009-01-09 06:19:30 UTC (rev 839)
+++ doc/trunk/reference/es-ES/injection.po 2009-01-09 06:41:20 UTC (rev 840)
@@ -1,35 +1,38 @@
+# translation of injection.po to Spanish
# Language es-ES translations for master.xml package.
+#
# Automatically generated, 2008.
-#
+# Gladys Guerrero Lozano <gguerrer(a)redhat.com>, 2009.
msgid ""
msgstr ""
-"Project-Id-Version: master.xml \n"
+"Project-Id-Version: injection\n"
"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
"POT-Creation-Date: 2008-12-19 20:26+0000\n"
-"PO-Revision-Date: 2008-12-19 20:26+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-01-09 16:28+1000\n"
+"Last-Translator: Gladys Guerrero Lozano <gguerrer(a)redhat.com>\n"
+"Language-Team: Spanish <fedora-trans-es(a)redhat.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
#. Tag: title
#: injection.xml:4
#, no-c-format
msgid "Dependency injection"
-msgstr ""
+msgstr "Inyección de dependencia"
#. Tag: para
#: injection.xml:6
#, no-c-format
msgid "Web Beans supports three primary mechanisms for dependency injection:"
-msgstr ""
+msgstr "Web Beans soporta tres mecanismos primarios para inyección de
dependencia:"
#. Tag: para
#: injection.xml:8
#, no-c-format
msgid "Constructor parameter injection:"
-msgstr ""
+msgstr "Constructor de inyección de parámetro:"
#. Tag: programlisting
#: injection.xml:10
@@ -46,12 +49,22 @@
"\n"
"}]]>"
msgstr ""
+"<![CDATA[public class Checkout {\n"
+" \n"
+" private final ShoppingCart cart;\n"
+" \n"
+" @Initializer\n"
+" public Checkout(ShoppingCart cart) {\n"
+" this.cart = cart;\n"
+" }\n"
+"\n"
+"}]]>"
#. Tag: para
#: injection.xml:12
#, no-c-format
msgid "<emphasis>Initializer</emphasis> method parameter
injection:"
-msgstr ""
+msgstr "Inyección de parámetro de método
<emphasis>Iniciador</emphasis>:"
#. Tag: programlisting
#: injection.xml:14
@@ -68,12 +81,22 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[public class Checkout {\n"
+" \n"
+" private ShoppingCart cart;\n"
+"\n"
+" @Initializer \n"
+" void setShoppingCart(ShoppingCart cart) {\n"
+" this.cart = cart;\n"
+" }\n"
+" \n"
+"}]]>"
#. Tag: para
#: injection.xml:16
#, no-c-format
msgid "And direct field injection:"
-msgstr ""
+msgstr "E inyección directa de campo:"
#. Tag: programlisting
#: injection.xml:18
@@ -85,6 +108,11 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[public class Checkout {\n"
+"\n"
+" private @Current ShoppingCart cart;\n"
+" \n"
+"}]]>"
#. Tag: para
#: injection.xml:20
@@ -92,7 +120,7 @@
msgid ""
"Dependency injection always occurs when the Web Bean instance is first "
"instantiated."
-msgstr ""
+msgstr "La inyección de dependencia siempre se presenta cuando la instancia de Web
Bean se instancia primero:"
#. Tag: para
#: injection.xml:25
@@ -100,7 +128,7 @@
msgid ""
"First, the Web Bean manager calls the Web Bean constructor, to obtain an "
"instance of the Web Bean."
-msgstr ""
+msgstr "Primero, el administrador de Web Bean llama al constructor de Web Bean, para
obtener una instancia del Web Bean."
#. Tag: para
#: injection.xml:29
@@ -108,13 +136,13 @@
msgid ""
"Next, the Web Bean manager initializes the values of all injected fields of "
"the Web Bean."
-msgstr ""
+msgstr "Luego, el administrador de Web Bean inicializa los valores de los campos
inyectados del Web Bean."
#. Tag: para
#: injection.xml:33
#, no-c-format
msgid "Next, the Web Bean manager calls all initializer methods of Web Bean."
-msgstr ""
+msgstr "Más tarde, el administrador de Web Bean llama a todos los métodos
inicializadores del Web Bean."
#. Tag: para
#: injection.xml:37
@@ -122,7 +150,7 @@
msgid ""
"Finally, the <literal>@PostConstruct</literal> method of the Web Bean,
if "
"any, is called."
-msgstr ""
+msgstr "Por último, se llama al método de Web Bean
<literal>@PostConstruct</literal>, si existe."
#. Tag: para
#: injection.xml:42
@@ -131,6 +159,8 @@
"Constructor parameter injection is not supported for EJB beans, since the "
"EJB is instantiated by the EJB container, not the Web Bean manager."
msgstr ""
+"La inyección de parámetro constructor no es admitida por beans de EJB, porque
"
+"EJB es instanciada por el contenedor de EJB, no por el administrador de Web
Bean."
#. Tag: para
#: injection.xml:45
@@ -141,13 +171,13 @@
"Injected fields, however, <emphasis>must</emphasis> specify a binding
type, "
"even when the default binding type applies. If the field does not specify a "
"binding type, it will not be injected."
-msgstr ""
+msgstr "Los parámetros de constructores y métodos de inicializador no necesitan ser
anotados explícitamente cuando el tipo de enlace predeterminado
<literal>@Current</literal> se aplique. Los campos inyectados, sin embargo,
<emphasis>deben</emphasis> especificar un tipo de enlace, cuando el tipo de
enlace por defecto se aplique. Si el campo no especifica ningún tipo de enlace, no será
inyectado."
#. Tag: para
#: injection.xml:51
#, no-c-format
msgid "Producer methods also support parameter injection:"
-msgstr ""
+msgstr "Los métodos de productor también admiten inyección de parámetro:"
#. Tag: programlisting
#: injection.xml:53
@@ -157,6 +187,9 @@
" return new Checkout(cart);\n"
"}]]>"
msgstr ""
+"<![CDATA[@Produces Checkout createCheckout(ShoppingCart cart) {\n"
+" return new Checkout(cart);\n"
+"}]]>"
#. Tag: para
#: injection.xml:55
@@ -164,7 +197,7 @@
msgid ""
"Finally, observer methods (which we'll meet in <xref
linkend=\"events\"/>), "
"disposal methods and destructor methods all support parameter injection."
-msgstr ""
+msgstr "Por último, los métodos de observador (que encontraremos en <xref
linkend=\"events\"/>), los métodos desechables y los métodos destructores,
admiten inyección de parámetro."
#. Tag: para
#: injection.xml:58
@@ -179,7 +212,7 @@
"immediately if a Web Bean's dependencies cannot be satisfied, by throwing a
"
"<literal>UnsatisfiedDependencyException</literal> or "
"<literal>AmbiguousDependencyException</literal>."
-msgstr ""
+msgstr "La especificación de Web Beans define un procedimiento, llamado
<emphasis>algoritmo de resolución de typesafe</emphasis> que el administrador
de Web Bean sigue al identificar el Web Bean para inyectar a un punto de inyección. Este
algoritmo parece complejo en un principio, pero una vez que lo entienda, es en realidad
muy intuitivo. La resolución de Typesafe se realiza al inicializar el sistema, lo que
significa que el administrador informará al usuario inmediatamente si se pueden cumplir
las dependencias de un Web Bean, lanzando un
<literal>UnsatisfiedDependencyException</literal> o un
<literal>AmbiguousDependencyException</literal>."
#. Tag: para
#: injection.xml:67
@@ -187,7 +220,7 @@
msgid ""
"The purpose of this algorithm is to allow multiple Web Beans to implement "
"the same API type and either:"
-msgstr ""
+msgstr "El propósito de este algoritmo es permitir múltiples Web Beans para
implementar el mismo tipo API y ya sea:"
#. Tag: para
#: injection.xml:72
@@ -195,7 +228,7 @@
msgid ""
"allow the client to select which implementation it requires using "
"<emphasis>binding annotations</emphasis>,"
-msgstr ""
+msgstr "permitiendo al cliente seleccionar la aplicación que requiere mediante
<emphasis>anotaciones de enlace</emphasis>,"
#. Tag: para
#: injection.xml:77
@@ -204,7 +237,7 @@
"allow the application deployer to select which implementation is appropriate
"
"for a particular deployment, without changes to the client, by enabling or "
"disabling <emphasis>deployment types</emphasis>, or"
-msgstr ""
+msgstr "permitiendo al desplegador de aplicación seleccionar la aplicación apropiada
para una despliegue particular, sin cambios en el cliente, habilitando o inhabilitando los
<emphasis>tipos de despliegue</emphasis>, o"
#. Tag: para
#: injection.xml:82
@@ -213,20 +246,19 @@
"allow one implementation of an API to override another implementation of the
"
"same API at deployment time, without changes to the client, using "
"<emphasis>deployment type precedence</emphasis>."
-msgstr ""
+msgstr "permitiendo que una implementación de un API remplace otra implementación
del mismo API en el momento del despliegue, sin cambios al cliente, mediante
<emphasis>prioridad de tipo de despliegue</emphasis>."
#. Tag: para
#: injection.xml:88
#, no-c-format
-msgid ""
-"Let's explore how the Web Beans manager determines a Web Bean to be
injected."
-msgstr ""
+msgid "Let's explore how the Web Beans manager determines a Web Bean to be
injected."
+msgstr "Exploremos cómo el administrador de Web Beans determina una Web Bean para
ser inyectado."
#. Tag: title
#: injection.xml:91
#, no-c-format
msgid "Binding annotations"
-msgstr ""
+msgstr "Anotaciones de Enlace"
#. Tag: para
#: injection.xml:93
@@ -236,7 +268,7 @@
"injection point can specify exactly which Web Bean should be injected using "
"a binding annotation. For example, there might be two implementations of "
"<literal>PaymentProcessor</literal>:"
-msgstr ""
+msgstr "Si tenemos más de un Web Bean que implemente un tipo determinado de API, el
punto de inyección puede especificar el Web Bean que debe ser inyectado utilizando una
anotación de enlace. Por ejemplo, debería haber dos aplicaciones del
<literal>PaymentProcessor</literal>:"
#. Tag: programlisting
#: injection.xml:98
@@ -247,6 +279,10 @@
" public void process(Payment payment) { ... }\n"
"}]]>"
msgstr ""
+"<![CDATA[@PayByCheque\n"
+"public class ChequePaymentProcessor implements PaymentProcessor {\n"
+" public void process(Payment payment) { ... }\n"
+"}]]>"
#. Tag: programlisting
#: injection.xml:100
@@ -257,6 +293,10 @@
" public void process(Payment payment) { ... }\n"
"}]]>"
msgstr ""
+"<![CDATA[@PayByCreditCard\n"
+"public class CreditCardPaymentProcessor implements PaymentProcessor {\n"
+" public void process(Payment payment) { ... }\n"
+"}]]>"
#. Tag: para
#: injection.xml:102
@@ -265,6 +305,8 @@
"Where <literal>@PayByCheque</literal> and
<literal>@PayByCreditCard</"
"literal> are binding annotations:"
msgstr ""
+"Donde <literal>@PayByCheque</literal> y
<literal>@PayByCreditCard</"
+"literal> son anotaciones de enlace:"
#. Tag: programlisting
#: injection.xml:105
@@ -275,6 +317,10 @@
"@BindingType\n"
"public @interface PayByCheque {}]]>"
msgstr ""
+"<![CDATA[@Retention(RUNTIME)\n"
+"@Target({TYPE, METHOD, FIELD, PARAMETER})\n"
+"@BindingType\n"
+"public @interface PayByCheque {}]]>"
#. Tag: programlisting
#: injection.xml:107
@@ -285,6 +331,10 @@
"@BindingType\n"
"public @interface PayByCreditCard {}]]>"
msgstr ""
+"<![CDATA[@Retention(RUNTIME)\n"
+"@Target({TYPE, METHOD, FIELD, PARAMETER})\n"
+"@BindingType\n"
+"public @interface PayByCreditCard {}]]>"
#. Tag: para
#: injection.xml:109
@@ -292,13 +342,13 @@
msgid ""
"A client Web Bean developer uses the binding annotation to specify exactly "
"which Web Bean should be injected."
-msgstr ""
+msgstr "Un desarrollador de cliente de Web Bean utiliza la anotación de enlace para
especificar exactamente qué Web Bean debe inyectarse."
#. Tag: para
#: injection.xml:112
#, no-c-format
msgid "Using field injection:"
-msgstr ""
+msgstr "Uso de inyección de campo:"
#. Tag: programlisting
#: injection.xml:114
@@ -307,12 +357,14 @@
"<![CDATA[@PayByCheque PaymentProcessor chequePaymentProcessor;\n"
"@PayByCreditCard PaymentProcessor creditCardPaymentProcessor;]]>"
msgstr ""
+"<![CDATA[@PayByCheque PaymentProcessor chequePaymentProcessor;\n"
+"@PayByCreditCard PaymentProcessor creditCardPaymentProcessor;]]>"
#. Tag: para
#: injection.xml:116
#, no-c-format
msgid "Using initializer method injection:"
-msgstr ""
+msgstr "Uso de inyección de método inicializador:"
#. Tag: programlisting
#: injection.xml:118
@@ -327,12 +379,20 @@
" this.creditCardPaymentProcessor = creditCardPaymentProcessor;\n"
"}]]>"
msgstr ""
+"<![CDATA[@Initializer\n"
+"public void setPaymentProcessors(@PayByCheque PaymentProcessor "
+"chequePaymentProcessor, \n"
+" @PayByCreditCard PaymentProcessor "
+"creditCardPaymentProcessor) {\n"
+" this.chequePaymentProcessor = chequePaymentProcessor;\n"
+" this.creditCardPaymentProcessor = creditCardPaymentProcessor;\n"
+"}]]>"
#. Tag: para
#: injection.xml:120
#, no-c-format
msgid "Or using constructor injection:"
-msgstr ""
+msgstr "O uso de inyección de constructor:"
#. Tag: programlisting
#: injection.xml:122
@@ -346,18 +406,25 @@
" this.creditCardPaymentProcessor = creditCardPaymentProcessor;\n"
"}]]>"
msgstr ""
+"<![CDATA[@Initializer\n"
+"public Checkout(@PayByCheque PaymentProcessor chequePaymentProcessor, \n"
+" @PayByCreditCard PaymentProcessor "
+"creditCardPaymentProcessor) {\n"
+" this.chequePaymentProcessor = chequePaymentProcessor;\n"
+" this.creditCardPaymentProcessor = creditCardPaymentProcessor;\n"
+"}]]>"
#. Tag: title
#: injection.xml:125
#, no-c-format
msgid "Binding annotations with members"
-msgstr ""
+msgstr "Anotaciones de enlace con miembros"
#. Tag: para
#: injection.xml:127
#, no-c-format
msgid "Binding annotations may have members:"
-msgstr ""
+msgstr "Las anotaciones de enlace pueden tener miembros:"
#. Tag: programlisting
#: injection.xml:129
@@ -370,12 +437,18 @@
" PaymentType value();\n"
"}]]>"
msgstr ""
+"<![CDATA[@Retention(RUNTIME)\n"
+"@Target({TYPE, METHOD, FIELD, PARAMETER})\n"
+"@BindingType\n"
+"public @interface PayBy {\n"
+" PaymentType value();\n"
+"}]]>"
#. Tag: para
#: injection.xml:131
#, no-c-format
msgid "In which case, the member value is significant:"
-msgstr ""
+msgstr "En cuyo caso, el valor de miembro es importante:"
#. Tag: programlisting
#: injection.xml:133
@@ -384,6 +457,8 @@
"<![CDATA[@PayBy(CHEQUE) PaymentProcessor chequePaymentProcessor;\n"
"@PayBy(CREDIT_CARD) PaymentProcessor creditCardPaymentProcessor;]]>"
msgstr ""
+"<![CDATA[@PayBy(CHEQUE) PaymentProcessor chequePaymentProcessor;\n"
+"@PayBy(CREDIT_CARD) PaymentProcessor creditCardPaymentProcessor;]]>"
#. Tag: para
#: injection.xml:135
@@ -391,26 +466,25 @@
msgid ""
"You can tell the Web Bean manager to ignore a member of a binding annotation
"
"type by annotating the member <literal>(a)NonBinding</literal>."
-msgstr ""
+msgstr "Se puede pedir al administrador de Web Bean que ignore a un miembro de un
tipo de anotación de enlace anotando al miembro
<literal>(a)NonBinding</literal>."
#. Tag: title
#: injection.xml:141
#, no-c-format
msgid "Combinations of binding annnotations"
-msgstr ""
+msgstr "Combinaciones de anotaciones de enlace"
#. Tag: para
#: injection.xml:143
#, no-c-format
msgid "An injection point may even specify multiple binding annotations:"
-msgstr ""
+msgstr "Un punto de inyección puede incluso especificar múltiples anotaciones de
enlace:"
#. Tag: programlisting
#: injection.xml:145
#, no-c-format
-msgid ""
-"<![CDATA[@Asynchronous @PayByCheque PaymentProcessor
paymentProcessor]]>"
-msgstr ""
+msgid "<![CDATA[@Asynchronous @PayByCheque PaymentProcessor
paymentProcessor]]>"
+msgstr "<![CDATA[@Asynchronous @PayByCheque PaymentProcessor
paymentProcessor]]>"
#. Tag: para
#: injection.xml:147
@@ -418,19 +492,19 @@
msgid ""
"In this case, only a Web Bean which has <emphasis>both</emphasis>
binding "
"annotations would be eligible for injection."
-msgstr ""
+msgstr "En este caso, sólo un Web Bean que tiene
<emphasis>ambas</emphasis> anotaciones de enlace sería elegible para
inyección."
#. Tag: title
#: injection.xml:153
#, no-c-format
msgid "Binding annotations and producer methods"
-msgstr ""
+msgstr "Anotaciones de enlace y métodos de productor"
#. Tag: para
#: injection.xml:155
#, no-c-format
msgid "Even producer methods may specify binding annotations:"
-msgstr ""
+msgstr "Incluso los métodos de productor pueden especificar anotaciones de
enlace:"
#. Tag: programlisting
#: injection.xml:157
@@ -443,12 +517,18 @@
" return new AsynchronousPaymentProcessor(processor);\n"
"}]]>"
msgstr ""
+"<![CDATA[@Produces \n"
+"@Asynchronous @PayByCheque \n"
+"PaymentProcessor createAsyncPaymentProcessor(@PayByCheque PaymentProcessor "
+"processor) {\n"
+" return new AsynchronousPaymentProcessor(processor);\n"
+"}]]>"
#. Tag: title
#: injection.xml:162
#, no-c-format
msgid "The default binding type"
-msgstr ""
+msgstr "El tipo de enlace predeterminado"
#. Tag: para
#: injection.xml:164
@@ -457,7 +537,7 @@
"Web Beans defines a binding type <literal>@Current</literal> that is
the "
"default binding type for any injection point or Web Bean that does not "
"explicitly specify a binding type."
-msgstr ""
+msgstr "Web Beans define un tipo de enlace <literal>@Current</literal>
que es el tipo de enlace predeterminado para cualquier punto de inyección o Web Bean que
no especifique explícitamente un tipo de enlace."
#. Tag: para
#: injection.xml:168
@@ -465,7 +545,7 @@
msgid ""
"There are two common circumstances in which it is necessary to explicitly "
"specify <literal>@Current</literal>:"
-msgstr ""
+msgstr "Hay dos circunstancias comunes en que se necesita especificar explícitamente
a <literal>@Current</literal>:"
#. Tag: para
#: injection.xml:173
@@ -473,7 +553,7 @@
msgid ""
"on a field, in order to declare it as an injected field with the default "
"binding type, and"
-msgstr ""
+msgstr "en un campo, para declararlo como un campo inyectado con el tipo de enlace
por defecto, y "
#. Tag: para
#: injection.xml:177
@@ -481,13 +561,13 @@
msgid ""
"on a Web Bean which has another binding type in addition to the default "
"binding type."
-msgstr ""
+msgstr "en un Web Bean, el cual tiene otro tipo de enlace además del tipo de enlace
predeterminado."
#. Tag: title
#: injection.xml:187
#, no-c-format
msgid "Deployment types"
-msgstr ""
+msgstr "Tipos de despliegue"
#. Tag: para
#: injection.xml:189
@@ -496,7 +576,7 @@
"All Web Beans have a <emphasis>deployment type</emphasis>. Each
deployment "
"type identifies a set of Web Beans that should be conditionally installed in
"
"some deployments of the system."
-msgstr ""
+msgstr "Todos los Web Beans tienen un <emphasis>tipo de
despliegue</emphasis>. Cada tipo de despliegue identifica un conjunto de Web Beans
que debería ser instalado bajo condiciones en algunos despliegues del sistema."
#. Tag: para
#: injection.xml:193
@@ -506,6 +586,8 @@
"literal>, which would identify Web Beans that should only be installed when
"
"the system executes inside an integration testing environment:"
msgstr ""
+"Por ejemplo, podríamos definir un tipo de despliegue llamado
<literal>@Mock</"
+"literal>, el cual identificaría Web Beans que deberían ser instaladas sólo
cuando el sistema se ejecute dentro de un entorno de pruebas de integración:"
#. Tag: programlisting
#: injection.xml:197
@@ -516,6 +598,10 @@
" @DeploymentType\n"
" public @interface Mock {}]]>"
msgstr ""
+"<![CDATA[@Retention(RUNTIME)\n"
+" @Target({TYPE, METHOD})\n"
+" @DeploymentType\n"
+" public @interface Mock {}]]>"
#. Tag: para
#: injection.xml:199
@@ -523,7 +609,7 @@
msgid ""
"Suppose we had some Web Bean that interacted with an external system to "
"process payments:"
-msgstr ""
+msgstr "Supongamos que tenemos algunos Web Bean que interactuaron con un sistema
externo para procesar pagos:"
#. Tag: programlisting
#: injection.xml:202
@@ -537,6 +623,13 @@
" \n"
"}]]>"
msgstr ""
+"<![CDATA[public class ExternalPaymentProcessor {\n"
+" \n"
+" public void process(Payment p) {\n"
+" ...\n"
+" }\n"
+" \n"
+"}]]>"
#. Tag: para
#: injection.xml:204
@@ -544,7 +637,7 @@
msgid ""
"Since this Web Bean does not explicitly specify a deployment type, it has "
"the default deployment type <literal>(a)Production</literal>."
-msgstr ""
+msgstr "Como este Web Bean no especifica explícitamente un tipo de despliegue, tiene
el tipo de despliegue predeterminado <literal>(a)Production</literal>."
#. Tag: para
#: injection.xml:207
@@ -552,7 +645,7 @@
msgid ""
"For integration or unit testing, the external system is slow or unavailable.
"
"So we would create a mock object:"
-msgstr ""
+msgstr "Para prueba de integración o de unidad, el sistema externo está lento o no
está disponible. Por lo tanto, cremos el objeto mock:"
#. Tag: programlisting
#: injection.xml:210
@@ -568,6 +661,15 @@
"\n"
"}]]>"
msgstr ""
+"<![CDATA[@Mock \n"
+"public class MockPaymentProcessor implements PaymentProcessor {\n"
+"\n"
+" @Override\n"
+" public void process(Payment p) {\n"
+" p.setSuccessful(true);\n"
+" }\n"
+"\n"
+"}]]>"
#. Tag: para
#: injection.xml:212
@@ -575,13 +677,13 @@
msgid ""
"But how does the Web Bean manager determine which implementation to use in a
"
"particular deployment?"
-msgstr ""
+msgstr "Pero, ¿cómo determina el administrador de Web Bean la aplicación que debe
utilizar en un despliegue determinado?"
#. Tag: title
#: injection.xml:216
#, no-c-format
msgid "Enabling deployment types"
-msgstr ""
+msgstr "Habilitar tipos de despliegue"
#. Tag: para
#: injection.xml:218
@@ -593,6 +695,8 @@
"can identify additional deployment types to be enabled in a particular "
"deployment by listing them in <literal>web-beans.xml</literal>."
msgstr ""
+"Web Beans define dos tipos de despliegue incorporados:
<literal>@Production</"
+"literal> y <literal>@Standard</literal>. Por defecto, sólo los Web
Beans con tipos de despliegue incorporados se habilitan cuando se despliega el sistema.
Podemos identificar tipos de despliegue adicionales en un despliegue particular
listándolos en <literal>web-beans.xml</literal>."
#. Tag: para
#: injection.xml:224
@@ -600,7 +704,7 @@
msgid ""
"Going back to our example, when we deploy our integration tests, we want all
"
"our <literal>@Mock</literal> objects to be installed:"
-msgstr ""
+msgstr "Volviendo a nuestro ejemplo, cuando desplegamos nuestras pruebas de
integración, deseamos que todos nuestros objetos <literal>@Mock</literal> sean
instalados:"
#. Tag: programlisting
#: injection.xml:227
@@ -614,6 +718,13 @@
" </Deploy>\n"
"</WebBeans>]]>"
msgstr ""
+"<![CDATA[<WebBeans>\n"
+" <Deploy>\n"
+" <Standard/>\n"
+" <Production/>\n"
+" <test:Mock/>\n"
+" </Deploy>\n"
+"</WebBeans>]]>"
#. Tag: para
#: injection.xml:229
@@ -623,6 +734,8 @@
"<literal>@Production</literal>,
<literal>@Standard</literal> or "
"<literal>@Mock</literal> at deployment time."
msgstr ""
+"Ahora el administrador de Web Bean identificará e instalará todos los Web Beans
anotados <literal>@Production</literal>,
<literal>@Standard</literal> o "
+"<literal>@Mock</literal> en el momento del despliegue."
#. Tag: para
#: injection.xml:233
@@ -631,7 +744,7 @@
"The deployment type <literal>@Standard</literal> is used only for
certain "
"special Web Beans defined by the Web Beans specification. We can't use it
"
"for our own Web Beans, and we can't disable it."
-msgstr ""
+msgstr "El tipo de despliegue <literal>@Standard</literal> es utilizado
únicamente por algunos Web Beans especiales definidos por la especificación de Web Beans.
No podemos utilizarlo para nuestros propios Web Beans ni inhabilitarlo."
#. Tag: para
#: injection.xml:237
@@ -640,13 +753,13 @@
"The deployment type <literal>@Production</literal> is the default
deployment "
"type for Web Beans which don't explicitly declare a deployment type, and may
"
"be disabled."
-msgstr ""
+msgstr "El tipo de despliegue <literal>@Production</literal> es el tipo
de despliegue predeterminado para Web Beans que no declaran explícitamente un tipo de
despliegue, y que se puede inhabilitar."
#. Tag: title
#: injection.xml:244
#, no-c-format
msgid "Deployment type precedence"
-msgstr ""
+msgstr "Prioridad de tipo de despliegue"
#. Tag: para
#: injection.xml:246
@@ -657,12 +770,15 @@
"literal> or <literal>MockPaymentProcessor</literal>—to
choose. Consider "
"what happens when the manager encounters this injection point:"
msgstr ""
+"Si ha prestado atención, probablemente se estará preguntando cómo escoge Web Bean
"
+"la aplicación—<literal>ExternalPaymentProcessor</"
+"literal> o <literal>MockPaymentProcessor</literal>—. Piense
en lo que sucede cuando el administrador encuentra este punto de inyección:"
#. Tag: programlisting
#: injection.xml:251
#, no-c-format
msgid "<![CDATA[@Current PaymentProcessor paymentProcessor]]>"
-msgstr ""
+msgstr "<![CDATA[@Current PaymentProcessor paymentProcessor]]>"
#. Tag: para
#: injection.xml:253
@@ -674,6 +790,8 @@
"the injection point, and we want the manager to be able to decide at "
"deployment time!"
msgstr ""
+"Ahora hay dos Web Beans que cumplen el contrato
<literal>PaymentProcessor</"
+"literal>. Claro está que no podemos utilizar una anotación de enlace para
explicar, porque las anotaciones de enlace están codificadas en la fuente en el punto de
inyección, y queremos que el administrador pueda decidir en el ¡momento de
despliegue!"
#. Tag: para
#: injection.xml:258
@@ -685,6 +803,8 @@
"literal>. In our example, <literal>@Mock</literal> appears later
than "
"<literal>@Production</literal> so it has a higher precedence."
msgstr ""
+"La solución a este problema es que cada tipo de despliegue tiene una
<emphasis>prioridad</emphasis> diferente. La prioridad de los tipos de
despliegue es determinada por el orden de aparición en
<literal>web-beans.xml</"
+"literal>. En nuestro ejemplo, <literal>@Mock</literal> posterior a
<literal>@Production</literal> por lo tanto tiene una mayor prioridad."
#. Tag: para
#: injection.xml:264
@@ -697,7 +817,7 @@
"to inject. So, in our example, the Web Bean manager will inject "
"<literal>MockPaymentProcessor</literal> when executing in our
integration "
"testing environment (which is exactly what we want)."
-msgstr ""
+msgstr "Cada vez que el administrador descubre que más de un Web Bean cumple el
contrato (tipo API más anotaciones de enlace) especificados por un punto de inyección,
considera la prioridad relativa de los Web Beans. Si uno tiene una prioridad mayor que los
otros, se escoge el Web Bean de mayor prioridad para inyectar. Por lo tanto, en nuestro
ejemplo, el administrador de Web Bean inyectará
<literal>MockPaymentProcessor</literal> al ejecutar en nuestro entorno de
prueba de integración (que es precisamente lo que queremos)."
#. Tag: para
#: injection.xml:271
@@ -714,6 +834,9 @@
"browsing the code can easily identify what deployment scenarios the Web Bean
"
"will be used in."
msgstr ""
+"Es interesante comparar esta facilidad con las arquitecturas populares de
administrador de hoy. Varios contenedores de \"pesoliviano\" también permiten
despliegue condicional de clases que existen en el classpath, pero las clases que van a
ser desplegadas deben ser explicitamente, listadas de modo individual en el código de
configuración o en algún archivo de configuración XML. Web Beans no admite definición de
Web Bean "
+"ni configuración vía XML, pero en el común de los casos donde no se requiere una
configuración compleja, los tipos de despliegue permite habilitar un conjunto completo de
Web "
+"Beans con una sóla línea de XML. Mientras tanto, un desarrollador que esté
navegando el código puede fácilmente identificar los escenarios de despliegue en el que el
Web Bean se utilizará."
#. Tag: title
#: injection.xml:284
@@ -724,8 +847,7 @@
#. Tag: para
#: injection.xml:286
#, no-c-format
-msgid ""
-"Deployment types are useful for all kinds of things, here's some
examples:"
+msgid "Deployment types are useful for all kinds of things, here's some
examples:"
msgstr ""
#. Tag: para
@@ -734,13 +856,13 @@
msgid ""
"<literal>@Mock</literal> and <literal>@Staging</literal>
deployment types "
"for testing"
-msgstr ""
+msgstr "<literal>@Mock</literal> and
<literal>@Staging</literal> tipos de despliegue para evaluación"
#. Tag: para
#: injection.xml:294
#, no-c-format
msgid "<literal>@AustralianTaxLaw</literal> for site-specific Web
Beans"
-msgstr ""
+msgstr "<literal>@AustralianTaxLaw</literal> para Web Beans de sitio
específico"
#. Tag: para
#: injection.xml:297
@@ -748,7 +870,7 @@
msgid ""
"<literal>@SeamFramework</literal>,
<literal>@Guice</literal> for third-party "
"frameworks which build on Web Beans"
-msgstr ""
+msgstr "<literal>@SeamFramework</literal>,
<literal>@Guice</literal> para marcos de terceras partes que se generan en Web
Beans"
#. Tag: para
#: injection.xml:301
@@ -756,7 +878,7 @@
msgid ""
"<literal>@Standard</literal> for standard Web Beans defined by the Web
Beans "
"specification"
-msgstr ""
+msgstr "<literal>@Standard</literal>para Web Beans definidos por la
especificación Web Beans"
#. Tag: para
#: injection.xml:306
@@ -931,7 +1053,7 @@
#: injection.xml:397
#, no-c-format
msgid "<![CDATA[@Current Manager manager;]]>"
-msgstr ""
+msgstr "<![CDATA[@Current Manager manager;]]>"
#. Tag: para
#: injection.xml:399
@@ -948,6 +1070,8 @@
"<![CDATA[PaymentProcessor p = manager.getInstanceByType(PaymentProcessor."
"class);]]>"
msgstr ""
+"<![CDATA[PaymentProcessor p = manager.getInstanceByType(PaymentProcessor."
+"class);]]>"
#. Tag: para
#: injection.xml:404
@@ -967,6 +1091,10 @@
" new "
"AnnotationLiteral<CreditCard>(){});]]>"
msgstr ""
+"<![CDATA[PaymentProcessor p = manager.getInstanceByType(PaymentProcessor."
+"class, \n"
+" new "
+"AnnotationLiteral<CreditCard>(){});]]>"
#. Tag: para
#: injection.xml:410
@@ -985,6 +1113,9 @@
" extends AnnotationLiteral<CreditCard> \n"
" implements CreditCard {}]]>"
msgstr ""
+"<![CDATA[abstract class CreditCardBinding \n"
+" extends AnnotationLiteral<CreditCard> \n"
+" implements CreditCard {}]]>"
#. Tag: programlisting
#: injection.xml:415
@@ -997,6 +1128,12 @@
"{ return paymentType; } \n"
" } );]]>"
msgstr ""
+"<![CDATA[PaymentProcessor p = manager.getInstanceByType(PaymentProcessor."
+"class, \n"
+" new CreditCardBinding() { \n"
+" public void value() "
+"{ return paymentType; } \n"
+" } );]]>"
#. Tag: title
#: injection.xml:419
@@ -1081,7 +1218,7 @@
msgid ""
"Injection of the result of an EL expression evaluation depends upon the "
"expression that was specified at the injection point."
-msgstr ""
+msgstr "La inyección del resultado de una prueba de expresión EL depende de la
expresión que fue especificada en el punto de inyección."
#. Tag: para
#: injection.xml:461
@@ -1104,7 +1241,7 @@
#: injection.xml:468
#, no-c-format
msgid "<![CDATA[Logger log =
Logger.getLogger(MyClass.class.getName());]]>"
-msgstr ""
+msgstr "<![CDATA[Logger log =
Logger.getLogger(MyClass.class.getName());]]>"
#. Tag: para
#: injection.xml:470
@@ -1127,6 +1264,14 @@
"\n"
"}]]>"
msgstr ""
+"<![CDATA[class LogFactory {\n"
+"\n"
+" @Produces Logger createLogger(InjectionPoint injectionPoint) { \n"
+" return
Logger.getLogger(injectionPoint.getMember().getDeclaringClass()."
+"getName()); \n"
+" }\n"
+"\n"
+"}]]>"
#. Tag: para
#: injection.xml:475
@@ -1138,7 +1283,7 @@
#: injection.xml:477
#, no-c-format
msgid "<![CDATA[@Current Logger log;]]>"
-msgstr ""
+msgstr "<![CDATA[@Current Logger log;]]>"
#. Tag: para
#: injection.xml:479
@@ -1159,6 +1304,12 @@
" @NonBinding public String value();\n"
"}]]>"
msgstr ""
+"<![CDATA[@BindingType\n"
+"@Retention(RUNTIME)\n"
+"@Target({TYPE, METHOD, FIELD, PARAMETER})\n"
+"public @interface HttpParam {\n"
+" @NonBinding public String value();\n"
+"}]]>"
#. Tag: para
#: injection.xml:484
@@ -1173,6 +1324,8 @@
"<![CDATA[@HttpParam(\"username\") String username;\n"
"@HttpParam(\"password\") String password;]]>"
msgstr ""
+"<![CDATA[@HttpParam(\"username\") String username;\n"
+"@HttpParam(\"password\") String password;]]>"
#. Tag: para
#: injection.xml:488
@@ -1194,6 +1347,15 @@
"\n"
"}]]>"
msgstr ""
+"<![CDATA[class HttpParams\n"
+"\n"
+" @Produces @HttpParam(\"\")\n"
+" String getParamValue(ServletRequest request, InjectionPoint ip) {\n"
+" return request.getParameter(ip.getAnnotation(HttpParam.class).value"
+"());\n"
+" }\n"
+"\n"
+"}]]>"
#. Tag: para
#: injection.xml:492
@@ -1224,3 +1386,11 @@
" public Set<T extends Annotation> getAnnotations(); \n"
"}]]>"
msgstr ""
+"<![CDATA[public interface InjectionPoint { \n"
+" public Object getInstance(); \n"
+" public Bean<?> getBean(); \n"
+" public Member getMember(): \n"
+" public <T extends Annotation> T getAnnotation(Class<T> annotation);
\n"
+" public Set<T extends Annotation> getAnnotations(); \n"
+"}]]>"
+