com.atlassian.confluence.content.render.xhtml.storage.macro
Class StorageMacroV2Unmarshaller

java.lang.Object
  extended by com.atlassian.confluence.content.render.xhtml.storage.macro.StorageMacroV2Unmarshaller
All Implemented Interfaces:
Unmarshaller<MacroDefinition>

public class StorageMacroV2Unmarshaller
extends Object
implements Unmarshaller<MacroDefinition>

Parses XHTML containing ac:structured-macro elements and their parameters. Handles the fact that some parameters (e.g. confluence-content) need additional parsing into unstructured types (e.g. wiki format links) for backwards compatibility with the old intermediate format.


Constructor Summary
StorageMacroV2Unmarshaller(XmlEventReaderFactory xmlEventReaderFactory, MacroMetadataManager macroMetadataManager, Unmarshaller<ResourceIdentifier> resourceIdentifierUnmarshaller, Unmarshaller<Link> linkUnmarshaller, StorageMacroBodyParser storageMacroBodyParser)
           
 
Method Summary
 boolean handles(StartElement startElementEvent, ConversionContext conversionContext)
          Determines whether or not this unmarshaller should be applied to a fragment with the specified start element.
 MacroDefinition unmarshal(XMLEventReader reader, FragmentTransformer mainFragmentTransformer, ConversionContext conversionContext)
          Unmarshalls a StAX event stream to an object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StorageMacroV2Unmarshaller

public StorageMacroV2Unmarshaller(XmlEventReaderFactory xmlEventReaderFactory,
                                  MacroMetadataManager macroMetadataManager,
                                  Unmarshaller<ResourceIdentifier> resourceIdentifierUnmarshaller,
                                  Unmarshaller<Link> linkUnmarshaller,
                                  StorageMacroBodyParser storageMacroBodyParser)
Method Detail

handles

public boolean handles(StartElement startElementEvent,
                       ConversionContext conversionContext)
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 interface Unmarshaller<MacroDefinition>
Parameters:
startElementEvent - start element
conversionContext - the conversion context
Returns:
true if this unmarshaller can be applied, false otherwise

unmarshal

public MacroDefinition 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 interface Unmarshaller<MacroDefinition>
Parameters:
reader - a reader over the fragment to unmarshall
mainFragmentTransformer - TODO
conversionContext - the conversion context
Returns:
the unmarshalled object
Throws:
XhtmlException - if some other problem occurs


Copyright © 2003–2015 Atlassian. All rights reserved.