Top Description Inners Methods
org.glassfish.jaxb.runtime

public Interface CycleRecoverable

Imports
jakarta.xml.bind.Marshaller

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.

Author
Kohsuke Kawaguchi
Since
JAXB 2.1 EA2

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static interface
CycleRecoverable.Context

This interface is implemented by the JAXB RI to provide information about the on-going marshalling process.

Method Summary

Modifier and TypeMethod and Description
public Object

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.)
onCycleDetected
(CycleRecoverable.Context
This object is provided by the JAXB RI to inform the object about the marshalling process that's going on.
context
)

Called when a cycle is detected by the JAXB RI marshaller to nominate a new object to be marshalled instead.

Method Detail

onCycleDetectedback to summary
public 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:CycleRecoverable.Context

This object is provided by the JAXB RI to inform the object about the marshalling process that's going on.

Returns:Object

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.)

org.glassfish.jaxb.runtime back to summary

public Interface CycleRecoverable.Context


This interface is implemented by the JAXB RI to provide information about the on-going marshalling process.

We may add more methods in the future, so please do not implement this interface in your application.

Method Summary

Modifier and TypeMethod and Description
public Marshaller

Returns:

always non-null.
getMarshaller
()

Returns the marshaller object that's doing the marshalling.

Method Detail

getMarshallerback to summary
public Marshaller getMarshaller()

Returns the marshaller object that's doing the marshalling.

Returns:Marshaller

always non-null.