|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |
@Target(value={ANNOTATION_TYPE,FIELD,METHOD}) @Retention(value=RUNTIME) public @interface JsonManagedReference
Annotation used to indicate that annotated property is part of
two-way linkage between fields; and that its role is "parent" (or "forward") link.
Value type (class) of property must have a single compatible property annotated with
JsonBackReference
. Linkage is handled such that the property
annotated with this annotation is handled normally (serialized normally, no
special handling for deserialization); it is the matching back reference
that requires special handling
All references have logical name to allow handling multiple linkages; typical case would be that where nodes have both parent/child and sibling linkages. If so, pairs of references should be named differently. It is an error for a class too have multiple managed references with same name, even if types pointed are different.
Note: only methods and fields can be annotated with this annotation: constructor arguments should NOT be annotated, as they can not be either managed or back references.
Optional Element Summary | |
---|---|
String |
value
Logical have for the reference property pair; used to link managed and back references. |
public abstract String value
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |