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 java.lang.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, XmlOutputFactory xmlOutputFactory, MacroBodyTransformationCondition macroBodyTransformationCondition, MacroMetadataManager macroMetadataManager, Unmarshaller<ResourceIdentifier> resourceIdentifierUnmarshaller, Unmarshaller<Link> linkUnmarshaller)
           
 
Method Summary
 boolean handles(javax.xml.stream.events.StartElement startElementEvent, ConversionContext conversionContext)
          Determines whether or not this unmarshaller should be applied to a fragment with the specified start element.
 MacroDefinition unmarshal(javax.xml.stream.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,
                                  XmlOutputFactory xmlOutputFactory,
                                  MacroBodyTransformationCondition macroBodyTransformationCondition,
                                  MacroMetadataManager macroMetadataManager,
                                  Unmarshaller<ResourceIdentifier> resourceIdentifierUnmarshaller,
                                  Unmarshaller<Link> linkUnmarshaller)
Method Detail

handles

public boolean handles(javax.xml.stream.events.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(javax.xml.stream.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-2013 Atlassian. All Rights Reserved.