Class DefaultConversionContext
java.lang.Object
com.atlassian.confluence.content.render.xhtml.DefaultConversionContext
- All Implemented Interfaces:
ConversionContext
A non-thread safe implementation of the ConversionContext suitable for use in the single threaded XHTML output process.
Unless explicitly set the getOutputDeviceType() will
return ConversionContextOutputDeviceType.DESKTOP.
-
Field Summary
Fields inherited from interface com.atlassian.confluence.content.render.xhtml.ConversionContext
IS_VALIDATING_COMMENT -
Constructor Summary
ConstructorsConstructorDescriptionDefaultConversionContext(com.atlassian.renderer.RenderContext renderContext) DefaultConversionContext(com.atlassian.renderer.RenderContext renderContext, String outputDeviceType) Create a DefaultConversionContext for the specified output device type. -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds a consumer ofMarshallerMetricsthat is associated with the current render.voidCheck the timeout and throw an XhtmlTimeoutException if the timeout is expired.voidMark the content rendered in this context as non-async-render-safebooleanIf multiple items are being converted in this 'context' then the complete tree of ContentNodes will be retrieved via this method.Get the current ContentEntityObject for this context.The properties returned in this map are guaranteed to be immutable, they are not guaranteed to all be present.Returns the consumers ofMarshallerMetricsthat are associated with the current render.Note, that if you want your code to be compatible with versions of Confluence older then 4.3.2 then you can instead callConversionContext.getPropertyAsString(String)with the parameter "output-device-type".@NonNull StringgetProperty(String name) Return a property from the context.getProperty(String name, Object defaultValue) Return a property from the context or the supplied defaultValue if the property does not exist on the context.getPropertyAsString(String name) Returns the property for this key as a String.com.atlassian.renderer.RenderContextThe spacekey for the current context if applicable or null otherwise.inthashCode()booleanhasProperty(String name) Returns true if the property with the specified key has been set.Deprecated.since 7.0.1.booleanbooleanCheck if the current context isConversionContextOutputType.DIFForConversionContextOutputType.EMAILbooleanRemoves a consumer ofMarshallerMetricsthat is associated with the current render.removeProperty(String name) Removes the property references by the key from the conversion context and returns it.voidsetContentTree(ContentTree contentTree) voidsetProperty(String name, Object value) Sets the property specified by name in the conversion context.io.atlassian.util.concurrent.Timeouttimeout()The Timeout object for this Conversion.
-
Constructor Details
-
DefaultConversionContext
public DefaultConversionContext(com.atlassian.renderer.RenderContext renderContext) -
DefaultConversionContext
public DefaultConversionContext(com.atlassian.renderer.RenderContext renderContext, String outputDeviceType) Create a DefaultConversionContext for the specified output device type. Note that any output device type on the supplied RenderContext will be overridden by the provided value.- Parameters:
renderContext-outputDeviceType-
-
-
Method Details
-
immutableProperties
Deprecated.since 7.0.1. UsegetImmutableProperties()The properties returned in this map are guaranteed to be immutable, they are not guaranteed to all be present.- Returns:
- an immutable map of the immutable properties in the conversion context
-
getImmutableProperties
The properties returned in this map are guaranteed to be immutable, they are not guaranteed to all be present.- Returns:
- an immutable map of the immutable properties in the conversion context
- Since:
- 7.0.1
-
getPageContext
- Specified by:
getPageContextin interfaceConversionContext- Returns:
- the underlying PageContext wrapped by the ConversionContext.
- See Also:
-
getRenderContext
public com.atlassian.renderer.RenderContext getRenderContext()- Specified by:
getRenderContextin interfaceConversionContext
-
removeProperty
Description copied from interface:ConversionContextRemoves the property references by the key from the conversion context and returns it.- Specified by:
removePropertyin interfaceConversionContext- Parameters:
name- The unique key of the property. SeeConversionContextPropertyNamefor common names.- Returns:
- The property from the conversion context.
-
setProperty
Description copied from interface:ConversionContextSets the property specified by name in the conversion context.- Specified by:
setPropertyin interfaceConversionContext- Parameters:
name- A unique key for this property. SeeConversionContextPropertyNamefor common names.value- The value of the property.
-
getProperty
Description copied from interface:ConversionContextReturn a property from the context.- Specified by:
getPropertyin interfaceConversionContext- Parameters:
name- of the property. SeeConversionContextPropertyNamefor common names.- Returns:
- a property from the context.
-
getProperty
Description copied from interface:ConversionContextReturn a property from the context or the supplied defaultValue if the property does not exist on the context.- Specified by:
getPropertyin interfaceConversionContext- Parameters:
name- the name of the propertydefaultValue- the default value to return if the property is not found.- Returns:
- the value of the found property or the default value if not found.
-
getPropertyAsString
Description copied from interface:ConversionContextReturns the property for this key as a String.toString() will be called if this is not the java.lang.String class.
null will be returned if this property does not exist.
- Specified by:
getPropertyAsStringin interfaceConversionContext- Parameters:
name- The key for the property- Returns:
- The String value of the property or null if the property does not exist.
-
hasProperty
Description copied from interface:ConversionContextReturns true if the property with the specified key has been set.- Specified by:
hasPropertyin interfaceConversionContext- Parameters:
name- The name of the property- Returns:
- True if the property exists in this context.
-
getContentTree
Description copied from interface:ConversionContextIf multiple items are being converted in this 'context' then the complete tree of ContentNodes will be retrieved via this method. If only a single item is being converted in the context then a ContentTree containing a single ContentNode will be returned.- Specified by:
getContentTreein interfaceConversionContext- Returns:
- a ContentTree representing all the items being converted in this context. An empty ContentTree may be returned if there is no explicit content being converted in this context.
-
setContentTree
-
getOutputDeviceType
Description copied from interface:ConversionContextNote, that if you want your code to be compatible with versions of Confluence older then 4.3.2 then you can instead callConversionContext.getPropertyAsString(String)with the parameter "output-device-type". For example, if you are a plugin developer writing a macro that can target different device types such as mobile, you can retain a common code base for your mobile and non-mobile implementations by avoiding this method and callinggetPropertyAsString("output-device-type")instead.- Specified by:
getOutputDeviceTypein interfaceConversionContext- Returns:
- the output device type. Typically this would be
ConversionContextOutputDeviceType.DESKTOPbut plugins that have their own renderer could use other types
-
getOutputType
- Specified by:
getOutputTypein interfaceConversionContext- Returns:
- one of the Strings returned by
ConversionContextOutputType.value()which indicates the target output type for the conversion.
-
isAsyncRenderSafe
public boolean isAsyncRenderSafe()- Specified by:
isAsyncRenderSafein interfaceConversionContext- Returns:
- true if the content is safe to render in asynchronously, e.g. dynamically on a page without a page refresh.
-
disableAsyncRenderSafe
public void disableAsyncRenderSafe()Mark the content rendered in this context as non-async-render-safe- Specified by:
disableAsyncRenderSafein interfaceConversionContext
-
timeout
public io.atlassian.util.concurrent.Timeout timeout()Description copied from interface:ConversionContextThe Timeout object for this Conversion. This can be checked to see if conversion should be terminated usingTimeout.isExpired(), or how much longer conversion should be allowed to run usingTimeout.getTime(),Timeout.getUnit().- Specified by:
timeoutin interfaceConversionContext- Returns:
- the timeout to perform the conversion.
-
checkTimeout
Description copied from interface:ConversionContextCheck the timeout and throw an XhtmlTimeoutException if the timeout is expired. UseConversionContext.timeout()andTimeout.isExpired()to check the timeout without throwing an exception.- Specified by:
checkTimeoutin interfaceConversionContext- Throws:
XhtmlTimeoutException- if the conversion has exceeded its time limit.
-
isDiffOrEmail
public boolean isDiffOrEmail()Description copied from interface:ConversionContextCheck if the current context isConversionContextOutputType.DIFForConversionContextOutputType.EMAIL- Specified by:
isDiffOrEmailin interfaceConversionContext- Returns:
- true if the context is DIFF or EMAIL
-
addMarshallerMetricsConsumer
Description copied from interface:ConversionContextAdds a consumer ofMarshallerMetricsthat is associated with the current render. These consumers are used instead of event listeners because their scope of interest is limited to a particular thread.- Specified by:
addMarshallerMetricsConsumerin interfaceConversionContext
-
removeMarshallerMetricsConsumer
Description copied from interface:ConversionContextRemoves a consumer ofMarshallerMetricsthat is associated with the current render.- Specified by:
removeMarshallerMetricsConsumerin interfaceConversionContext- Returns:
- true if the specified consumer was removed.
-
getMarshallerMetricsConsumers
Description copied from interface:ConversionContextReturns the consumers ofMarshallerMetricsthat are associated with the current render. These consumers are used instead of event listeners because their scope of interest is limited to a particular thread.- Specified by:
getMarshallerMetricsConsumersin interfaceConversionContext- Returns:
- the list of consumers
-
equals
-
hashCode
public int hashCode() -
getEntity
Description copied from interface:ConversionContextGet the current ContentEntityObject for this context.- Specified by:
getEntityin interfaceConversionContext- Returns:
- The ContentEntityObject for this context.
-
getTemplate
- Specified by:
getTemplatein interfaceConversionContext
-
getSpaceKey
Description copied from interface:ConversionContextThe spacekey for the current context if applicable or null otherwise.- Specified by:
getSpaceKeyin interfaceConversionContext- Returns:
- The spacekey or null.
-