Interface ConversionContext
- All Known Implementing Classes:
DefaultConversionContext
public interface ConversionContext
- Since:
- 4.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThis property will be set when validating a comment. -
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-safeIf multiple items are being converted in this 'context' then the complete tree of ContentNodes will be retrieved via this method.@Nullable ContentEntityObjectGet the current ContentEntityObject for this context.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 callgetPropertyAsString(String)with the parameter "output-device-type".@NonNull StringDeprecated.getProperty(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.default com.atlassian.renderer.RenderContextThe spacekey for the current context if applicable or null otherwise.default @Nullable PageTemplatebooleanhasProperty(String name) Returns true if the property with the specified key has been set.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.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.
-
Field Details
-
IS_VALIDATING_COMMENT
This property will be set when validating a comment.- Since:
- 4.3
-
-
Method Details
-
setProperty
Sets the property specified by name in the conversion context.- Parameters:
name- A unique key for this property. SeeConversionContextPropertyNamefor common names.value- The value of the property.
-
getPageContext
Deprecated.since 7.5.0, usegetRenderContext()instead.- Returns:
- the underlying PageContext wrapped by the ConversionContext.
- See Also:
-
getRenderContext
default com.atlassian.renderer.RenderContext getRenderContext() -
removeProperty
Removes the property references by the key from the conversion context and returns it.- Parameters:
name- The unique key of the property. SeeConversionContextPropertyNamefor common names.- Returns:
- The property from the conversion context.
-
getProperty
Return a property from the context.- Parameters:
name- of the property. SeeConversionContextPropertyNamefor common names.- Returns:
- a property from the context.
-
getProperty
Return a property from the context or the supplied defaultValue if the property does not exist on the context.- 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
Returns 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.
- Parameters:
name- The key for the property- Returns:
- The String value of the property or null if the property does not exist.
-
hasProperty
Returns true if the property with the specified key has been set.- Parameters:
name- The name of the property- Returns:
- True if the property exists in this context.
-
getContentTree
ContentTree getContentTree()If 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.- 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.
-
getOutputDeviceType
String getOutputDeviceType()Note, that if you want your code to be compatible with versions of Confluence older then 4.3.2 then you can instead callgetPropertyAsString(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.- Returns:
- the output device type. Typically this would be
ConversionContextOutputDeviceType.DESKTOPbut plugins that have their own renderer could use other types - Since:
- 4.3.2
-
getOutputType
@NonNull String getOutputType()- Returns:
- one of the Strings returned by
ConversionContextOutputType.value()which indicates the target output type for the conversion.
-
isAsyncRenderSafe
boolean isAsyncRenderSafe()- Returns:
- true if the content is safe to render in asynchronously, e.g. dynamically on a page without a page refresh.
- Since:
- 5.6
-
disableAsyncRenderSafe
void disableAsyncRenderSafe()Mark the content rendered in this context as non-async-render-safe- Since:
- 5.6
-
getEntity
@Nullable ContentEntityObject getEntity()Get the current ContentEntityObject for this context.- Returns:
- The ContentEntityObject for this context.
-
getTemplate
-
getSpaceKey
String getSpaceKey()The spacekey for the current context if applicable or null otherwise.- Returns:
- The spacekey or null.
-
timeout
io.atlassian.util.concurrent.Timeout timeout()The 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().- Returns:
- the timeout to perform the conversion.
- Since:
- 7.0.1
-
checkTimeout
Check the timeout and throw an XhtmlTimeoutException if the timeout is expired. Usetimeout()andTimeout.isExpired()to check the timeout without throwing an exception.- Throws:
XhtmlTimeoutException- if the conversion has exceeded its time limit.
-
isDiffOrEmail
boolean isDiffOrEmail()Check if the current context isConversionContextOutputType.DIFForConversionContextOutputType.EMAIL- Returns:
- true if the context is DIFF or EMAIL
-
addMarshallerMetricsConsumer
Adds 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. -
removeMarshallerMetricsConsumer
Removes a consumer ofMarshallerMetricsthat is associated with the current render.- Returns:
- true if the specified consumer was removed.
-
getMarshallerMetricsConsumers
Set<MarshallerMetricsConsumer> getMarshallerMetricsConsumers()Returns 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.- Returns:
- the list of consumers
-
getRenderContext()instead.