Interface ConversionContext
-
- All Known Implementing Classes:
DefaultConversionContext
public interface ConversionContext
- Since:
- 4.0
-
-
Field Summary
Fields Modifier and Type Field Description static String
IS_VALIDATING_COMMENT
This property will be set when validating a comment.
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description void
addMarshallerMetricsConsumer(MarshallerMetricsConsumer consumer)
Adds a consumer ofMarshallerMetrics
that is associated with the current render.void
checkTimeout()
Check the timeout and throw an XhtmlTimeoutException if the timeout is expired.void
disableAsyncRenderSafe()
Mark the content rendered in this context as non-async-render-safeContentTree
getContentTree()
If multiple items are being converted in this 'context' then the complete tree of ContentNodes will be retrieved via this method.@Nullable ContentEntityObject
getEntity()
Get the current ContentEntityObject for this context.Set<MarshallerMetricsConsumer>
getMarshallerMetricsConsumers()
Returns the consumers ofMarshallerMetrics
that are associated with the current render.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".@NonNull String
getOutputType()
PageContext
getPageContext()
Deprecated.since 7.5.0, usegetRenderContext()
instead.Object
getProperty(String name)
Return a property from the context.Object
getProperty(String name, Object defaultValue)
Return a property from the context or the supplied defaultValue if the property does not exist on the context.String
getPropertyAsString(String name)
Returns the property for this key as a String.default com.atlassian.renderer.RenderContext
getRenderContext()
String
getSpaceKey()
The spacekey for the current context if applicable or null otherwise.default @Nullable PageTemplate
getTemplate()
com.atlassian.util.concurrent.Timeout
getTimeout()
Deprecated.since 7.0.1.boolean
hasProperty(String name)
Returns true if the property with the specified key has been set.boolean
isAsyncRenderSafe()
boolean
isDiffOrEmail()
Check if the current context isConversionContextOutputType.DIFF
orConversionContextOutputType.EMAIL
boolean
removeMarshallerMetricsConsumer(MarshallerMetricsConsumer consumer)
Removes a consumer ofMarshallerMetrics
that is associated with the current render.Object
removeProperty(String name)
Removes the property references by the key from the conversion context and returns it.void
setProperty(String name, Object value)
Sets the property specified by name in the conversion context.default io.atlassian.util.concurrent.Timeout
timeout()
The Timeout object for this Conversion.
-
-
-
Field Detail
-
IS_VALIDATING_COMMENT
static final String IS_VALIDATING_COMMENT
This property will be set when validating a comment.- Since:
- 4.3
-
-
Method Detail
-
setProperty
void setProperty(String name, Object value)
Sets the property specified by name in the conversion context.- Parameters:
name
- A unique key for this property. SeeConversionContextPropertyName
for common names.value
- The value of the property.
-
getPageContext
@Deprecated PageContext getPageContext()
Deprecated.since 7.5.0, usegetRenderContext()
instead.- Returns:
- the underlying PageContext wrapped by the ConversionContext.
- See Also:
DefaultConversionContext
-
getRenderContext
default com.atlassian.renderer.RenderContext getRenderContext()
-
removeProperty
Object removeProperty(String name)
Removes the property references by the key from the conversion context and returns it.- Parameters:
name
- The unique key of the property. SeeConversionContextPropertyName
for common names.- Returns:
- The property from the conversion context.
-
getProperty
Object getProperty(String name)
Return a property from the context.- Parameters:
name
- of the property. SeeConversionContextPropertyName
for common names.- Returns:
- a property from the context.
-
getProperty
Object getProperty(String name, Object defaultValue)
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
String getPropertyAsString(String name)
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
boolean hasProperty(String name)
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.DESKTOP
but 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
default @Nullable PageTemplate getTemplate()
-
getSpaceKey
String getSpaceKey()
The spacekey for the current context if applicable or null otherwise.- Returns:
- The spacekey or null.
-
getTimeout
@Deprecated com.atlassian.util.concurrent.Timeout getTimeout()
Deprecated.since 7.0.1. Usetimeout()
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.
-
timeout
default 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
void checkTimeout() throws XhtmlTimeoutException
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.DIFF
orConversionContextOutputType.EMAIL
- Returns:
- true if the context is DIFF or EMAIL
-
addMarshallerMetricsConsumer
void addMarshallerMetricsConsumer(MarshallerMetricsConsumer consumer)
Adds a consumer ofMarshallerMetrics
that 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
boolean removeMarshallerMetricsConsumer(MarshallerMetricsConsumer consumer)
Removes a consumer ofMarshallerMetrics
that is associated with the current render.- Returns:
- true if the specified consumer was removed.
-
getMarshallerMetricsConsumers
Set<MarshallerMetricsConsumer> getMarshallerMetricsConsumers()
Returns the consumers ofMarshallerMetrics
that 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
-
-