Weld SVN: r4301 - in api/trunk/cdi/src/main/java/javax/enterprise: inject and 1 other directory.
by weld-commits@lists.jboss.org
Author: gavin.king(a)jboss.com
Date: 2009-10-25 11:18:41 -0400 (Sun, 25 Oct 2009)
New Revision: 4301
Modified:
api/trunk/cdi/src/main/java/javax/enterprise/event/package-info.java
api/trunk/cdi/src/main/java/javax/enterprise/inject/package-info.java
Log:
links down
Modified: api/trunk/cdi/src/main/java/javax/enterprise/event/package-info.java
===================================================================
--- api/trunk/cdi/src/main/java/javax/enterprise/event/package-info.java 2009-10-25 15:17:19 UTC (rev 4300)
+++ api/trunk/cdi/src/main/java/javax/enterprise/event/package-info.java 2009-10-25 15:18:41 UTC (rev 4301)
@@ -39,6 +39,9 @@
* specific set of qualifiers. Any Java type may be observed by an
* observer method.</p>
*
+ * <p>An observer method is a method of a bean class with a parameter
+ * annotated {@link javax.enterprise.event.Observes @Observes}.</p>
+ *
* <p>An observer method will be notified of an event if:</p>
*
* <ul>
Modified: api/trunk/cdi/src/main/java/javax/enterprise/inject/package-info.java
===================================================================
--- api/trunk/cdi/src/main/java/javax/enterprise/inject/package-info.java 2009-10-25 15:17:19 UTC (rev 4300)
+++ api/trunk/cdi/src/main/java/javax/enterprise/inject/package-info.java 2009-10-25 15:18:41 UTC (rev 4301)
@@ -63,6 +63,9 @@
* @Inject @Synchronous PaymentProcessor paymentProcessor;
* </pre>
*
+ * <p>A qualifier type is a Java annotation annotated
+ * {@link javax.inject.Qualifier @Qualifier}.</p>
+ *
* <p>The qualifiers of a bean are declared by annotating the bean class
* or producer method or field with the qualifier types.</p>
*
@@ -88,6 +91,9 @@
* scope of a bean determines the lifecycle of its instances, and which
* instances of the bean are visible to instances of other beans.</p>
*
+ * <p>A scope type is a Java annotation annotated
+ * {@link javax.inject.Scope @Scope}.</p>
+ *
* <p>The scope of a bean is defined by annotating the bean class or producer
* method or field with a scope type or stereotype that declares a default
* scope type.</p>
@@ -124,6 +130,9 @@
* managed bean that is not itself an interceptor or decorator or with any
* EJB session or message-driven bean.</p>
*
+ * <p>An interceptor binding type is a Java annotation annotated
+ * {@link javax.interceptor.InterceptorBinding @InterceptorBinding}.</p>
+ *
* <p>An interceptor binding may be declared by annotating the bean class,
* or a method of the bean class, with an interceptor binding type.</p>
*
@@ -232,6 +241,9 @@
* performed by the bean constructor.</li>
* </ul>
*
+ * <p>A producer method or field is a method or field of a bean class annotated
+ * {@link javax.enterprise..inject.Produces @Produces}.</p>
+ *
* <h4>Resources</h4>
*
* <p>A resource is a bean that represents a reference to a resource, persistence
15 years, 1 month
Weld SVN: r4300 - api/trunk/cdi/src/main/java/javax/decorator.
by weld-commits@lists.jboss.org
Author: gavin.king(a)jboss.com
Date: 2009-10-25 11:17:19 -0400 (Sun, 25 Oct 2009)
New Revision: 4300
Modified:
api/trunk/cdi/src/main/java/javax/decorator/Decorator.java
api/trunk/cdi/src/main/java/javax/decorator/package-info.java
Log:
reorg for more consistency
Modified: api/trunk/cdi/src/main/java/javax/decorator/Decorator.java
===================================================================
--- api/trunk/cdi/src/main/java/javax/decorator/Decorator.java 2009-10-25 15:09:09 UTC (rev 4299)
+++ api/trunk/cdi/src/main/java/javax/decorator/Decorator.java 2009-10-25 15:17:19 UTC (rev 4300)
@@ -28,39 +28,19 @@
/**
* <p>Specifies that a class is a decorator. May be applied to
- * a bean class.</p>
+ * a managed bean class.</p>
*
* <pre>
* @Decorator
* class TimestampLogger implements Logger { ... }
* </pre>
*
- * <p>A decorator implements one or more bean types and
- * intercepts business method invocations of beans which
- * implement those bean types. These bean types are called
- * decorated types.</p>
- *
- * <p>A decorator is a managed bean. The set of decorated types
- * of a decorator includes all interfaces implemented directly or
- * indirectly by the bean class, except for {@link java.io.Serializable}.
- * The decorator bean class and its superclasses are not decorated
- * types of the decorator. The decorator class may be abstract.</p>
- *
* <p>Decorators of a session bean must comply with the bean provider
* programming restrictions defined by the EJB specification.
* Decorators of a stateful session bean must comply with the rules
* for instance passivation and conversational state defined by the
* EJB specification.</p>
*
- * <p>A decorator may be an abstract class, and is not required to
- * implement every method of every decorated type.</p>
- *
- * <p>A decorator intercepts every method:</p>
- * <ul>
- * <li>declared by a decorated type of the decorator</li>
- * <li>that is implemented by the bean class of the decorator.</li>
- * </ul>
- *
* @see javax.decorator.Decorates @Decorates identifies the
* delegate injection point of a decorator.
*
Modified: api/trunk/cdi/src/main/java/javax/decorator/package-info.java
===================================================================
--- api/trunk/cdi/src/main/java/javax/decorator/package-info.java 2009-10-25 15:09:09 UTC (rev 4299)
+++ api/trunk/cdi/src/main/java/javax/decorator/package-info.java 2009-10-25 15:17:19 UTC (rev 4300)
@@ -1,17 +1,43 @@
/**
* <p>Annotations relating to decorators.</p>
*
+ * <p>A decorator implements one or more bean types and
+ * intercepts business method invocations of beans which
+ * implement those bean types. These bean types are called
+ * decorated types.</p>
+ *
* <p>Decorators are superficially similar to interceptors,
* but because they directly implement operations with business
* semantics, they are able to implement business logic and,
* conversely, unable to implement the cross-cutting concerns
* for which interceptors are optimized.</p>
*
+ * <p>Decorators are called after interceptors.</p>
+ *
* <p>A decorator is a managed bean annotated {@link
* javax.decorator.Decorator @Decorator} with a delegate
* injection point annotated {@link javax.decorator.Decorates
* @Decorates}.</p>
*
+ * <h3>Decorated types</h3>
+ *
+ * <p>The set of decorated types
+ * of a decorator includes all interfaces implemented directly or
+ * indirectly by the bean class, except for {@link java.io.Serializable}.
+ * The decorator bean class and its superclasses are not decorated
+ * types of the decorator. The decorator class may be abstract.</p>
+ *
+ * <p>A decorator intercepts every method:</p>
+ * <ul>
+ * <li>declared by a decorated type of the decorator</li>
+ * <li>that is implemented by the bean class of the decorator.</li>
+ * </ul>
+ *
+ * <p>A decorator may be an abstract class, and is not required to
+ * implement every method of every decorated type.</p>
+ *
+ * <h3>Enabled decorators</h3>
+ *
* <p>By default, a bean deployment archive has no enabled
* decorators. A decorator must be explicitly enabled by listing
* its bean class under the <tt><decorators></tt> element
@@ -20,8 +46,6 @@
* ordering. Decorators which occur earlier in the list are called
* first.</p>
*
- * <p>Decorators are called after interceptors.</p>
- *
*/
package javax.decorator;
15 years, 1 month
Weld SVN: r4299 - core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events.
by weld-commits@lists.jboss.org
Author: dallen6
Date: 2009-10-25 11:09:09 -0400 (Sun, 25 Oct 2009)
New Revision: 4299
Modified:
core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/BeforeBeanDiscoveryImpl.java
Log:
Updated some lifecycle events to match final spec; added JavaDoc.
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/BeforeBeanDiscoveryImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/BeforeBeanDiscoveryImpl.java 2009-10-25 15:08:23 UTC (rev 4298)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/BeforeBeanDiscoveryImpl.java 2009-10-25 15:09:09 UTC (rev 4299)
@@ -50,7 +50,7 @@
getTypeStore().add(bindingType, new BindingTypeLiteral());
}
- public void addInterceptorBindingType(Class<? extends Annotation> bindingType)
+ public void addInterceptorBinding(Class<? extends Annotation> bindingType)
{
getTypeStore().add(bindingType, new InterceptorBindingTypeLiteral());
}
15 years, 1 month
Weld SVN: r4298 - api/trunk/cdi/src/main/java/javax/enterprise/inject/spi.
by weld-commits@lists.jboss.org
Author: dallen6
Date: 2009-10-25 11:08:23 -0400 (Sun, 25 Oct 2009)
New Revision: 4298
Modified:
api/trunk/cdi/src/main/java/javax/enterprise/inject/spi/BeforeBeanDiscovery.java
api/trunk/cdi/src/main/java/javax/enterprise/inject/spi/BeforeShutdown.java
Log:
Updated some lifecycle events to match final spec; added JavaDoc.
Modified: api/trunk/cdi/src/main/java/javax/enterprise/inject/spi/BeforeBeanDiscovery.java
===================================================================
--- api/trunk/cdi/src/main/java/javax/enterprise/inject/spi/BeforeBeanDiscovery.java 2009-10-25 14:59:06 UTC (rev 4297)
+++ api/trunk/cdi/src/main/java/javax/enterprise/inject/spi/BeforeBeanDiscovery.java 2009-10-25 15:08:23 UTC (rev 4298)
@@ -19,19 +19,64 @@
import java.lang.annotation.Annotation;
/**
+ * <p>
+ * This event type is thrown by the container before the bean discovery process
+ * begins. If any observer method of the {@code BeforeBeanDiscovery} event
+ * throws an exception, the exception is treated as a definition error by the
+ * container.
+ * </p>
*
* @author Pete Muir
- *
+ * @author David Allen
*/
public interface BeforeBeanDiscovery
{
- public void addQualifier(Class<? extends Annotation> bindingType);
+ /**
+ * Declares an annotation type as a {@linkplain javax.inject.Qualifier}
+ * qualifier type.
+ *
+ * @param qualifier The annotation to treat as a qualifier
+ */
+ public void addQualifier(Class<? extends Annotation> qualifier);
+ /**
+ * Declares an annotation type as a {@linkplain javax.enterprise.context
+ * scope type}.
+ *
+ * @param scopeType The annotation type to treat as a
+ * {@linkplain javax.enterprise.context scope type}
+ * @param normal Indicates if the scope is normal
+ * @param passivating Indicates if the scope is passivation capable
+ */
public void addScope(Class<? extends Annotation> scopeType, boolean normal, boolean passivating);
+ /**
+ * Declares an annotation type as a
+ * {@linkplain javax.enterprise.inject.Stereotype stereotype}, and specifies
+ * its meta-annotations.
+ *
+ * @param stereotype The annotation type to treat as a
+ * {@linkplain javax.enterprise.inject.Stereotype stereotype}
+ * @param stereotypeDef An optional list of annotations defining the
+ * {@linkplain javax.enterprise.inject.Stereotype stereotype}
+ */
public void addStereotype(Class<? extends Annotation> stereotype, Annotation... stereotypeDef);
- public void addInterceptorBindingType(Class<? extends Annotation> bindingType);
-
+ /**
+ * Declares an annotation type as an {@linkplain Interceptor interceptor}
+ * binding type, and specifies its meta-annotations.
+ *
+ * @param bindingType The annotation type to treat as an interceptor binding
+ * type
+ */
+ public void addInterceptorBinding(Class<? extends Annotation> bindingType);
+
+ /**
+ * Adds a given {@link javax.enterprise.inject.spi.AnnotatedType} to the set
+ * of types which will be scanned during bean discovery.
+ *
+ * @param type The {@link javax.enterprise.inject.spi.AnnotatedType} to add
+ * for later scanning
+ */
public void addAnnotatedType(AnnotatedType<?> type);
}
Modified: api/trunk/cdi/src/main/java/javax/enterprise/inject/spi/BeforeShutdown.java
===================================================================
--- api/trunk/cdi/src/main/java/javax/enterprise/inject/spi/BeforeShutdown.java 2009-10-25 14:59:06 UTC (rev 4297)
+++ api/trunk/cdi/src/main/java/javax/enterprise/inject/spi/BeforeShutdown.java 2009-10-25 15:08:23 UTC (rev 4298)
@@ -16,6 +16,16 @@
*/
package javax.enterprise.inject.spi;
+/**
+ * <p>
+ * The type of final event the container fires after it has finished processing
+ * requests and destroyed all contexts. If any observer method of the
+ * {@code BeforeShutdown} event throws an exception, the exception is ignored by the
+ * container.
+ * </p>
+ *
+ * @author David Allen
+ */
public interface BeforeShutdown
{
}
15 years, 1 month
Weld SVN: r4297 - api/trunk/cdi/src/main/java/javax/enterprise/inject.
by weld-commits@lists.jboss.org
Author: gavin.king(a)jboss.com
Date: 2009-10-25 10:59:06 -0400 (Sun, 25 Oct 2009)
New Revision: 4297
Modified:
api/trunk/cdi/src/main/java/javax/enterprise/inject/package-info.java
Log:
make it a list
Modified: api/trunk/cdi/src/main/java/javax/enterprise/inject/package-info.java
===================================================================
--- api/trunk/cdi/src/main/java/javax/enterprise/inject/package-info.java 2009-10-25 14:53:43 UTC (rev 4296)
+++ api/trunk/cdi/src/main/java/javax/enterprise/inject/package-info.java 2009-10-25 14:59:06 UTC (rev 4297)
@@ -195,12 +195,15 @@
* EJB 3.x client view. The basic lifecycle and semantics of an EJB session bean
* are defined by the EJB specification.</p>
*
- * <p>A stateless session bean must belong to the
- * {@link javax.enterprise.context.Dependent @Dependent} pseudo-scope. A
- * singleton bean must belong to either the
+ * <ul>
+ * <li>A stateless session bean must belong to the
+ * {@link javax.enterprise.context.Dependent @Dependent} pseudo-scope.</li>
+ * <li>A singleton bean must belong to either the
* {@link javax.enterprise.context.ApplicationScoped @ApplicationScoped}
* scope or to the {@link javax.enterprise.context.Dependent @Dependent}
- * pseudo-scope. A stateful session bean may have any scope.</p>
+ * pseudo-scope.</li>
+ * <li>A stateful session bean may have any scope.</li>
+ * </ul>
*
* <p>If the session bean class is a generic type, it must have scope
* {@link javax.enterprise.context.Dependent @Dependent}.</p>
15 years, 1 month
Weld SVN: r4296 - api/trunk/cdi/src/main/java/javax/enterprise/inject.
by weld-commits@lists.jboss.org
Author: gavin.king(a)jboss.com
Date: 2009-10-25 10:53:43 -0400 (Sun, 25 Oct 2009)
New Revision: 4296
Modified:
api/trunk/cdi/src/main/java/javax/enterprise/inject/package-info.java
Log:
eligible dependency
Modified: api/trunk/cdi/src/main/java/javax/enterprise/inject/package-info.java
===================================================================
--- api/trunk/cdi/src/main/java/javax/enterprise/inject/package-info.java 2009-10-25 14:36:48 UTC (rev 4295)
+++ api/trunk/cdi/src/main/java/javax/enterprise/inject/package-info.java 2009-10-25 14:53:43 UTC (rev 4296)
@@ -270,6 +270,21 @@
*
* <p>Otherwise, the bean is said to be disabled.</p>
*
+ * <h3>Eligible dependencies</h3>
+ *
+ * <p>A bean is eligible for injection into a given class if it satisfies the
+ * following conditions:</p>
+ *
+ * <ul>
+ * <li>The bean is enabled.</li>
+ * <li>The bean is not an interceptor or decorator.</li>
+ * <li>The bean is either not an alternative, or is a selected alternative of
+ * the bean deployment archive of the given class.</li>
+ * <li>In a Java EE or servlet container, the bean class is required to be
+ * accessible to the given class, according to the class loading requirements
+ * of the Java EE platform and Java Servlet specifications.</li>
+ * </ul>
+ *
* @see javax.enterprise.inject.Produces
* @see javax.inject.Scope
* @see javax.inject.Named
15 years, 1 month
Weld SVN: r4295 - api/trunk/cdi/src/main/java/javax/enterprise/inject.
by weld-commits@lists.jboss.org
Author: gavin.king(a)jboss.com
Date: 2009-10-25 10:36:48 -0400 (Sun, 25 Oct 2009)
New Revision: 4295
Modified:
api/trunk/cdi/src/main/java/javax/enterprise/inject/package-info.java
Log:
minor
Modified: api/trunk/cdi/src/main/java/javax/enterprise/inject/package-info.java
===================================================================
--- api/trunk/cdi/src/main/java/javax/enterprise/inject/package-info.java 2009-10-25 14:36:42 UTC (rev 4294)
+++ api/trunk/cdi/src/main/java/javax/enterprise/inject/package-info.java 2009-10-25 14:36:48 UTC (rev 4295)
@@ -79,7 +79,7 @@
* <ul>
* <li>the type of the injection point is one of the bean types of the
* bean, and</li>
- * <li>it has all the qualifiers of the injection point.</li>
+ * <li>the bean has all the qualifiers of the injection point.</li>
* </ul>
*
* <h3>Scope</h3>
@@ -273,6 +273,8 @@
* @see javax.enterprise.inject.Produces
* @see javax.inject.Scope
* @see javax.inject.Named
+ * @see javax.inject.Qualifier
+ * @see javax.interceptor.InterceptorBinding
*
*/
package javax.enterprise.inject;
\ No newline at end of file
15 years, 1 month
Weld SVN: r4294 - api/trunk/cdi/src/main/java/javax/enterprise/event.
by weld-commits@lists.jboss.org
Author: gavin.king(a)jboss.com
Date: 2009-10-25 10:36:42 -0400 (Sun, 25 Oct 2009)
New Revision: 4294
Modified:
api/trunk/cdi/src/main/java/javax/enterprise/event/package-info.java
Log:
reorg
Modified: api/trunk/cdi/src/main/java/javax/enterprise/event/package-info.java
===================================================================
--- api/trunk/cdi/src/main/java/javax/enterprise/event/package-info.java 2009-10-25 13:57:52 UTC (rev 4293)
+++ api/trunk/cdi/src/main/java/javax/enterprise/event/package-info.java 2009-10-25 14:36:42 UTC (rev 4294)
@@ -16,28 +16,37 @@
* the event qualifiers</li>
* </ul>
*
+ * <h3>Event objects and event types</h3>
+ *
* <p>The event object acts as a payload, to propagate state from
- * producer to consumer. The event qualifiers act as topic selectors,
- * allowing the consumer to narrow the set of events it observes.</p>
+ * producer to consumer. An event object is an instance of a concrete
+ * Java class with no type variables.</p>
*
- * <p>An event object is an instance of a concrete Java class with
- * no type variables. The event types of the event include all
- * superclasses and interfaces of the runtime class of the event object.
- * An event type may not contain a type variable.</p>
+ * <p>The event types of the event include all superclasses and
+ * interfaces of the runtime class of the event object. An event type
+ * may not contain a type variable.</p>
*
- * <p>An event qualifier type is just an ordinary qualifier type.</p>
+ * <h3>Event qualifiers</h3>
*
+ * <p>The event qualifiers act as topic selectors, allowing the consumer
+ * to narrow the set of events it observes. An event qualfier may be an
+ * instance of any {@linkplain javax.inject.Qualifier qualifier type}.</p>
+ *
+ * <h3>Observer methods</h3>
+ *
* <p>An {@linkplain javax.enterprise.event.Observes observer method}
- * acts as event consumer, observing events of a specific type, the
- * <em>observed event type</em>, with a specific set of qualifiers, the
- * <em>observed event qualifiers</em>. Any Java type may be an observed
- * event type.</p>
+ * acts as event consumer, observing events of a specific type, with a
+ * specific set of qualifiers. Any Java type may be observed by an
+ * observer method.</p>
*
- * <p>An observer method will be notified of an event if the observed
- * event type it specifies is one of the event types of the event, and
- * if all the observed event qualifiers it specifies are event qualifiers
- * of the event.</p>
+ * <p>An observer method will be notified of an event if:</p>
*
+ * <ul>
+ * <li>the type observed by the observer method is one of the event types
+ * of the event, and</li>
+ * <li>the observer method has all the event qualifiers of the event.</li>
+ * </ul>
+ *
* <p>The order in which observer methods are called is not defined, and
* so portable applications should not rely upon the order in which
* observers are called.</p>
@@ -57,6 +66,7 @@
*
* @see javax.enterprise.event.Observes
* @see javax.enterprise.event.Event
+ * @see javax.inject.Qualifier
*/
package javax.enterprise.event;
15 years, 1 month
Weld SVN: r4293 - in api/trunk/cdi/src/main/java/javax: enterprise/event and 1 other directories.
by weld-commits@lists.jboss.org
Author: gavin.king(a)jboss.com
Date: 2009-10-25 09:57:52 -0400 (Sun, 25 Oct 2009)
New Revision: 4293
Modified:
api/trunk/cdi/src/main/java/javax/decorator/package-info.java
api/trunk/cdi/src/main/java/javax/enterprise/event/package-info.java
api/trunk/cdi/src/main/java/javax/enterprise/inject/package-info.java
Log:
minor
Modified: api/trunk/cdi/src/main/java/javax/decorator/package-info.java
===================================================================
--- api/trunk/cdi/src/main/java/javax/decorator/package-info.java 2009-10-25 05:13:06 UTC (rev 4292)
+++ api/trunk/cdi/src/main/java/javax/decorator/package-info.java 2009-10-25 13:57:52 UTC (rev 4293)
@@ -1,5 +1,5 @@
/**
- * <p>This package contains annotations relating to decorators.</p>
+ * <p>Annotations relating to decorators.</p>
*
* <p>Decorators are superficially similar to interceptors,
* but because they directly implement operations with business
Modified: api/trunk/cdi/src/main/java/javax/enterprise/event/package-info.java
===================================================================
--- api/trunk/cdi/src/main/java/javax/enterprise/event/package-info.java 2009-10-25 05:13:06 UTC (rev 4292)
+++ api/trunk/cdi/src/main/java/javax/enterprise/event/package-info.java 2009-10-25 13:57:52 UTC (rev 4293)
@@ -1,6 +1,5 @@
/**
- * <p>This package contains annotations and interfaces relating to
- * events.<p>
+ * <p>Annotations and interfaces relating to events.<p>
*
* <p>Beans may produce and consume events. This facility allows
* beans to interact in a completely decoupled fashion, with no
Modified: api/trunk/cdi/src/main/java/javax/enterprise/inject/package-info.java
===================================================================
--- api/trunk/cdi/src/main/java/javax/enterprise/inject/package-info.java 2009-10-25 05:13:06 UTC (rev 4292)
+++ api/trunk/cdi/src/main/java/javax/enterprise/inject/package-info.java 2009-10-25 13:57:52 UTC (rev 4293)
@@ -1,7 +1,7 @@
/**
- * <p>This package contains annotations relating to bean and
- * stereotype definition, built-in qualifiers, and interfaces
- * and classes relating to programmatic lookup.</p>
+ * <p>Annotations relating to bean and stereotype definition,
+ * built-in qualifiers, and interfaces and classes relating
+ * to programmatic lookup.</p>
*
* <p>A bean comprises the following attributes:</p>
*
15 years, 1 month
Weld SVN: r4292 - api/trunk/cdi/src/main/java/javax/enterprise/event.
by weld-commits@lists.jboss.org
Author: gavin.king(a)jboss.com
Date: 2009-10-25 01:13:06 -0400 (Sun, 25 Oct 2009)
New Revision: 4292
Modified:
api/trunk/cdi/src/main/java/javax/enterprise/event/package-info.java
Log:
minor
Modified: api/trunk/cdi/src/main/java/javax/enterprise/event/package-info.java
===================================================================
--- api/trunk/cdi/src/main/java/javax/enterprise/event/package-info.java 2009-10-25 05:08:08 UTC (rev 4291)
+++ api/trunk/cdi/src/main/java/javax/enterprise/event/package-info.java 2009-10-25 05:13:06 UTC (rev 4292)
@@ -39,7 +39,7 @@
* if all the observed event qualifiers it specifies are event qualifiers
* of the event.</p>
*
- * <p>The order in which observer methods are called in not defined, and
+ * <p>The order in which observer methods are called is not defined, and
* so portable applications should not rely upon the order in which
* observers are called.</p>
*
15 years, 1 month