Author: hlship
Date: Sat Apr 5 07:26:55 2008
New Revision: 645108
URL: http://svn.apache.org/viewvc?rev=645108&view=rev
Log:
TAPESTRY-2258: Error while autobuilding BeanEditForm's bean
Added:
tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/Inject.java
- copied, changed from r645085,
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/annotations/Inject.java
tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/InjectService.java
- copied, changed from r645085,
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/annotations/InjectService.java
tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/IntermediateType.java
- copied, changed from r645085,
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/annotations/IntermediateType.java
tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/Primary.java
- copied, changed from r645085,
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/annotations/Primary.java
tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/Symbol.java
- copied, changed from r645085,
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/annotations/Symbol.java
tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/Value.java
- copied, changed from r645085,
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/annotations/Value.java
Copied:
tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/Inject.java
(from r645085,
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/annotations/Inject.java)
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/Inject.java?p2=tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/Inject.java&p1=tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/annotations/Inject.java&r1=645085&r2=645108&rev=645108&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/annotations/Inject.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/Inject.java
Sat Apr 5 07:26:55 2008
@@ -1,4 +1,4 @@
-// Copyright 2006, 2007 The Apache Software Foundation
+// Copyright 2006, 2007, 2008 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -14,9 +14,8 @@
package org.apache.tapestry.ioc.annotations;
-import org.apache.tapestry.ioc.ObjectProvider;
-
import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.PARAMETER;
import java.lang.annotation.Retention;
@@ -24,24 +23,30 @@
import java.lang.annotation.Target;
/**
- * This annotation serves two similar purposes: it marks parameters that
should be injected in the
- * IoC container, and it marks fields that should be injected inside Tapestry
components.
+ * This annotation serves is something of the Swiss Army knife for operations
related to injection of dependencies into
+ * an arbitrary method of Java Bean.
+ * <p/>
+ * <p>It marks parameters that should be injected in the IoC container, and it
marks fields that should be injected
+ * inside Tapestry components.
* <p/>
- * In terms of the IoC container; normally, resources take precedence over
annotations when
- * injecting. The Inject annotation overrides this default, forcing the
resolution of the parameters
- * value via the master [EMAIL PROTECTED] ObjectProvider}, even when the
parameter's type matches a type that
- * is normally a resource. This is most often used in conjunction with [EMAIL
PROTECTED] Value} annotation when
+ * In terms of the IoC container; normally, resources take precedence over
annotations when injecting. The Inject
+ * annotation overrides this default, forcing the resolution of the parameters
value via the master [EMAIL PROTECTED]
+ * org.apache.tapestry.ioc.ObjectProvider}, even when the parameter's type
matches a type that is normally a resource.
+ * This is most often used in conjunction with [EMAIL PROTECTED]
org.apache.tapestry.ioc.annotations.Value} annotation when
* injecting a string, as normally, the String would be matched as the service
id.
* <p/>
- * In terms of the IoC container, the Inject annotation is only used on
parameters to service
- * builder methods and constructors. However, inside Tapestry components
(<em>and only inside components</em>),
- * it may be applied to fields. On fields that require injection, the Inject
annotation is
- * <em>required</em>.
+ * In terms of the IoC container, the Inject annotation is only used on
parameters to service builder methods (and
+ * contributor and decorator methods) and on module class constructors.
constructors. However, inside Tapestry
+ * components (<em>and only inside components</em>), it may be applied to
fields. On fields that require injection, the
+ * Inject annotation is <em>required</em>.
+ * <p/>
+ * Finally, on a constructor, this is used to indicate <em>which</em>
constructor should be used when more than one is
+ * available.
*
- * @see ObjectProvider
+ * @see org.apache.tapestry.ioc.ObjectProvider
*/
@Target(
- {PARAMETER, FIELD})
+ { PARAMETER, FIELD, ElementType.CONSTRUCTOR })
@Retention(RUNTIME)
@Documented
public @interface Inject
Copied:
tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/InjectService.java
(from r645085,
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/annotations/InjectService.java)
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/InjectService.java?p2=tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/InjectService.java&p1=tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/annotations/InjectService.java&r1=645085&r2=645108&rev=645108&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/annotations/InjectService.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/InjectService.java
Sat Apr 5 07:26:55 2008
@@ -1,17 +1,17 @@
-// Copyright 2006 The Apache Software Foundation
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
+// Copyright 2006, 2008 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
package org.apache.tapestry.ioc.annotations;
import java.lang.annotation.Documented;
@@ -34,8 +34,8 @@
{
/**
- * The id of the service to inject; either a fully qualified id, or the
unqualified id of a
- * service within the same module.
+ * The id of the service to inject; either a fully qualified id, or the
unqualified id of a service within the same
+ * module.
*/
String value();
}
Copied:
tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/IntermediateType.java
(from r645085,
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/annotations/IntermediateType.java)
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/IntermediateType.java?p2=tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/IntermediateType.java&p1=tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/annotations/IntermediateType.java&r1=645085&r2=645108&rev=645108&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/annotations/IntermediateType.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/IntermediateType.java
Sat Apr 5 07:26:55 2008
@@ -1,4 +1,4 @@
-// Copyright 2007 The Apache Software Foundation
+// Copyright 2007, 2008 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -18,14 +18,14 @@
/**
- * Used to guide Tapestry when coercing from a raw type to a field or
parameter type, by forcing
- * Tapestry to coerce to the intermediate type. This was introduced to allow
coercion from
- * string to a time period (in milliseconds) via [EMAIL PROTECTED]
org.apache.tapestry.ioc.util.TimeInterval}.
+ * Used to guide Tapestry when coercing from a raw type to a field or
parameter type, by forcing Tapestry to coerce to
+ * the intermediate type. This was introduced to allow coercion from string
to a time period (in milliseconds) via
+ * [EMAIL PROTECTED] org.apache.tapestry.ioc.util.TimeInterval}.
*
* @see org.apache.tapestry.ioc.annotations.Value
* @see org.apache.tapestry.ioc.annotations.Symbol
*/
[EMAIL PROTECTED]({ElementType.PARAMETER, ElementType.FIELD})
[EMAIL PROTECTED]({ ElementType.PARAMETER, ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface IntermediateType
Copied:
tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/Primary.java
(from r645085,
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/annotations/Primary.java)
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/Primary.java?p2=tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/Primary.java&p1=tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/annotations/Primary.java&r1=645085&r2=645108&rev=645108&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/annotations/Primary.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/Primary.java
Sat Apr 5 07:26:55 2008
@@ -1,4 +1,4 @@
-// Copyright 2007 The Apache Software Foundation
+// Copyright 2007, 2008 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -14,9 +14,6 @@
package org.apache.tapestry.ioc.annotations;
-import org.apache.tapestry.ioc.services.ChainBuilder;
-import org.apache.tapestry.ioc.services.StrategyBuilder;
-
import java.lang.annotation.Documented;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.PARAMETER;
@@ -25,13 +22,13 @@
import java.lang.annotation.Target;
/**
- * Marker annotation used to denote a service that is the primary instance of
some common interface.
- * This is often used when a service is a [EMAIL PROTECTED] ChainBuilder chain
of command} or
- * [EMAIL PROTECTED] StrategyBuilder strategy-based} and, therefore, many
services will implement the same
- * interface.
+ * Marker annotation used to denote a service that is the primary instance of
some common interface. This is often used
+ * when a service is a [EMAIL PROTECTED]
org.apache.tapestry.ioc.services.ChainBuilder chain of command} or [EMAIL
PROTECTED]
+ * org.apache.tapestry.ioc.services.StrategyBuilder strategy-based} and,
therefore, many services will implement the
+ * same interface.
*/
@Target(
- {PARAMETER, FIELD})
+ { PARAMETER, FIELD })
@Retention(RUNTIME)
@Documented
public @interface Primary
Copied:
tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/Symbol.java
(from r645085,
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/annotations/Symbol.java)
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/Symbol.java?p2=tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/Symbol.java&p1=tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/annotations/Symbol.java&r1=645085&r2=645108&rev=645108&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/annotations/Symbol.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/Symbol.java
Sat Apr 5 07:26:55 2008
@@ -1,4 +1,4 @@
-// Copyright 2007 The Apache Software Foundation
+// Copyright 2007, 2008 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -22,12 +22,12 @@
import java.lang.annotation.Target;
/**
- * Used to inject a symbol value, via a symbol name. This is used much like
[EMAIL PROTECTED] Value}
- * annotation, except that symbols are not expanded ... the entire value is a
symbol name. This
- * allows the annotation to reference a public constant variable.
+ * Used to inject a symbol value, via a symbol name. This is used much like
[EMAIL PROTECTED]
+ * org.apache.tapestry.ioc.annotations.Value} annotation, except that symbols
are not expanded ... the entire value is a
+ * symbol name. This allows the annotation to reference a public constant
variable.
*/
@Target(
- {PARAMETER, FIELD})
+ { PARAMETER, FIELD })
@Retention(RUNTIME)
@Documented
public @interface Symbol
Copied:
tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/Value.java
(from r645085,
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/annotations/Value.java)
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/Value.java?p2=tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/Value.java&p1=tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/annotations/Value.java&r1=645085&r2=645108&rev=645108&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/annotations/Value.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-annotations/src/main/java/org/apache/tapestry/ioc/annotations/Value.java
Sat Apr 5 07:26:55 2008
@@ -1,4 +1,4 @@
-// Copyright 2007 The Apache Software Foundation
+// Copyright 2007, 2008 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -14,9 +14,6 @@
package org.apache.tapestry.ioc.annotations;
-import org.apache.tapestry.ioc.services.SymbolSource;
-import org.apache.tapestry.ioc.services.TypeCoercer;
-
import java.lang.annotation.Documented;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.PARAMETER;
@@ -25,16 +22,16 @@
import java.lang.annotation.Target;
/**
- * Used in conjunction with [EMAIL PROTECTED] Inject} to inject a literal
value, rather than a service. Symbols
- * in the value are expanded and the resulting string is coerced to the
desired type. For IoC, this
- * annotation is only applied to parameters (on service builder methods, and
on service
- * constructors); for components, it may also be applied to field.
+ * Used in conjunction with [EMAIL PROTECTED]
org.apache.tapestry.ioc.annotations.Inject} to inject a literal value, rather
than a
+ * service. Symbols in the value are expanded and the resulting string is
coerced to the desired type. For IoC, this
+ * annotation is only applied to parameters (on service builder methods, and
on service constructors); for components,
+ * it may also be applied to field.
*
- * @see SymbolSource
- * @see TypeCoercer
+ * @see org.apache.tapestry.ioc.services.SymbolSource
+ * @see org.apache.tapestry.ioc.services.TypeCoercer
*/
@Target(
- {PARAMETER, FIELD})
+ { PARAMETER, FIELD })
@Retention(RUNTIME)
@Documented
public @interface Value