Interface CycleRecoverable


  • public interface CycleRecoverable
    Optional interface that can be implemented by JAXB-bound objects to handle cycles in the object graph.

    As discussed in the users' guide, normally a cycle in the object graph causes the marshaller to report an error, and when an error is found, the JAXB RI recovers by cutting the cycle arbitrarily. This is not always a desired behavior.

    Implementing this interface allows user application to change this behavior.

    Since:
    JAXB 2.1 EA2
    Author:
    Kohsuke Kawaguchi
    • Method Detail

      • onCycleDetected

        Object onCycleDetected​(CycleRecoverable.Context context)
        Called when a cycle is detected by the JAXB RI marshaller to nominate a new object to be marshalled instead.
        Parameters:
        context - This object is provided by the JAXB RI to inform the object about the marshalling process that's going on.
        Returns:
        the object to be marshalled instead of this object. Or return null to indicate that the JAXB RI should behave just like when your object does not implement (IOW, cut the cycle arbitrarily and try to go on.)