01: /*
02: * Copyright 2001-2007 Geert Bevin <gbevin[remove] at uwyn dot com>
03: * Distributed under the terms of either:
04: * - the common development and distribution license (CDDL), v1.0; or
05: * - the GNU Lesser General Public License, v2.1 or later
06: * $Id: OutBean.java 3634 2007-01-08 21:42:24Z gbevin $
07: */
08: package com.uwyn.rife.engine.annotations;
09:
10: import java.lang.annotation.Documented;
11: import java.lang.annotation.Retention;
12: import java.lang.annotation.RetentionPolicy;
13: import java.lang.annotation.Target;
14:
15: import com.uwyn.rife.site.MetaData;
16: import com.uwyn.rife.site.ValidatedConstrained;
17:
18: /**
19: * Declares an output bean.
20: *
21: * @author Geert Bevin (gbevin[remove] at uwyn dot com)
22: * @version $Revision: 3634 $
23: * @since 1.5
24: * @see OutBeanProperty
25: */
26: @Retention(RetentionPolicy.RUNTIME)
27: @Target({})
28: @Documented
29: public @interface OutBean {
30: /**
31: * The class of the output bean.
32: * @since 1.5
33: */
34: Class beanclass();
35:
36: /**
37: * The prefix that will be prepended to each property name of the output
38: * bean when corresponding outputs are automatically declared.
39: * @since 1.5
40: */
41: String prefix() default "";
42:
43: /**
44: * The name of the output bean.
45: * @since 1.5
46: */
47: String name() default "";
48:
49: /**
50: * The validation group that has been declared by the bean class.
51: * <p>This requires the bean class to implement the {@link ValidatedConstrained}
52: * interface, either directly, or by extending {@link MetaData}, or by using
53: * automated <a href="http://rifers.org/wiki/display/RIFE/Meta+data+merging">meta data merging</a>.
54: * <p>The group will indicate which bean properties should only be taken
55: * into account. Any properties outside the group will not be created as
56: * outputs.
57: * @since 1.5
58: */
59: String group() default "";
60: }
|