Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
EclipseLink/Release/2.4.0/JAXB RI Extensions/Cycle Recoverable
< EclipseLink | Release | 2.4.0/JAXB RI Extensions
Revision as of 14:17, 1 June 2012 by Rick.barkhouse.oracle.com (Talk | contribs)
Design Documentation: CycleRecoverable
In the current JAXB RI, developed by Sun, there are a series of "proprietary" JAXB extensions that are available to provide advanced JAXB functionality outside of the JAXB spec (these extension classes reside in the com.sun.xml.bind package).
The CycleRecoverable interface allows the user to write their own logic to be used when object cycles are detected during marshal operations. When a cycle is detected, MOXy will invoke the onCycleDetected, which returns a "replacement" object for the one that caused the cycle.
This document will outline the design for an EclipseLink equivalent to this extension.
Example
Consider the following two classes:
import javax.xml.bind.annotation.*; @XmlRootElement public class Department { public String name; public List<Employee> employees; }
public class Employee { public String name; public Department dept; }