1 package com.loribel.commons.business.abstraction;
2
3 /***
4 * Container of value(s) for BusinessObject.
5 * <p>
6 * <b>Hierarchy</b>
7 * <ul>
8 * <li>{@link GB_SimpleBOValue}</li>
9 * <ul>
10 * <li>{@link GB_SimpleBOValueSet}</li>
11 * <ul>
12 * <li>{@link GB_SimpleBOValueAbstract}</li>
13 * <ul>
14 * <li>{@link GB_SimpleBOValueSingle}</li>
15 * <li>{@link GB_SimpleBOValueMulti}</li>
16 * </ul>
17 * </ul>
18 * </ul>
19 *
20 * @author Grégory Borelli
21 */
22 public interface GB_SimpleBOValue
23 {
24 /***
25 * Returns the businessObject parent to this property.
26 *
27 * @return GB_SimpleBusinessObjectSet
28 */
29 GB_SimpleBusinessObjectSet getBusinessObject();
30
31 /***
32 * Returns the name of the property.
33 */
34 String getPropertyName();
35
36 /***
37 * Returns the type of value.
38 *
39 * @return Class
40 */
41 Class getType();
42
43 /***
44 * Returns the value of a property.
45 * Generaly, the type of the value is sams as getType().
46 * If this value accept multi values, the type of return must be a
47 * Collection. The object of this collection must have the same type as
48 * getType().
49 *
50 * @return Object
51 */
52 Object getValue();
53
54 }