Class EditorLinkUnmarshaller
java.lang.Object
com.atlassian.confluence.content.render.xhtml.editor.link.EditorLinkUnmarshaller
- All Implemented Interfaces:
Unmarshaller<Link>
Responsible for unmarshalling links in editor XML.
Currently, there are two strategies. One relies on resource id and type being declared in the link and the other on the actual link state (such as space key and title) being found as attributes on the link itself. We still need to retain the latter strategy due to unresolved links.
-
Constructor Summary
ConstructorsConstructorDescriptionEditorLinkUnmarshaller
(Unmarshaller<LinkBody<?>> linkBodyUnmarshaller, Unmarshaller<ResourceIdentifier> actualLinkStateAnalyzingResourceIdentifierUnmarshaller, Unmarshaller<ResourceIdentifier> idAndTypeResourceIdentifierUnmarshaller, ResourceIdentifierResolver<IdAndTypeResourceIdentifier, Addressable> idAndTypeResourceIdentifierResolver, DarkFeaturesManager darkFeaturesManager) -
Method Summary
Modifier and TypeMethodDescriptionboolean
handles
(StartElement startElementEvent, ConversionContext conversionContext) Determines whether or not this unmarshaller should be applied to a fragment with the specified start element.unmarshal
(XMLEventReader reader, FragmentTransformer mainFragmentTransformer, ConversionContext conversionContext) Unmarshalls a StAX event stream to an object.
-
Constructor Details
-
EditorLinkUnmarshaller
public EditorLinkUnmarshaller(Unmarshaller<LinkBody<?>> linkBodyUnmarshaller, Unmarshaller<ResourceIdentifier> actualLinkStateAnalyzingResourceIdentifierUnmarshaller, Unmarshaller<ResourceIdentifier> idAndTypeResourceIdentifierUnmarshaller, ResourceIdentifierResolver<IdAndTypeResourceIdentifier, Addressable> idAndTypeResourceIdentifierResolver, DarkFeaturesManager darkFeaturesManager)
-
-
Method Details
-
unmarshal
public Link unmarshal(XMLEventReader reader, FragmentTransformer mainFragmentTransformer, ConversionContext conversionContext) throws XhtmlException Description copied from interface:Unmarshaller
Unmarshalls a StAX event stream to an object.- Specified by:
unmarshal
in interfaceUnmarshaller<Link>
- Parameters:
reader
- a reader over the fragment to unmarshallmainFragmentTransformer
- TODOconversionContext
- the conversion context- Returns:
- the unmarshalled object
- Throws:
XhtmlException
- if some other problem occurs
-
handles
Description copied from interface:Unmarshaller
Determines whether or not this unmarshaller should be applied to a fragment with the specified start element.- Specified by:
handles
in interfaceUnmarshaller<Link>
- Parameters:
startElementEvent
- start elementconversionContext
- the conversion context- Returns:
- true if this unmarshaller can be applied, false otherwise
-