Interface ConversionContext

    • 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. See ConversionContextPropertyName for common names.
        value - The value of the property.
      • 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. See ConversionContextPropertyName 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. See ConversionContextPropertyName 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 property
        defaultValue - 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 call 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 calling
        getPropertyAsString("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
      • 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. Use timeout()
        The Timeout object for this Conversion. This can be checked to see if conversion should be terminated using Timeout.isExpired(), or how much longer conversion should be allowed to run using Timeout.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 using Timeout.isExpired(), or how much longer conversion should be allowed to run using Timeout.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. Use timeout() and Timeout.isExpired() to check the timeout without throwing an exception.
        Throws:
        XhtmlTimeoutException - if the conversion has exceeded its time limit.
      • addMarshallerMetricsConsumer

        void addMarshallerMetricsConsumer​(MarshallerMetricsConsumer consumer)
        Adds a consumer of MarshallerMetrics 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 of MarshallerMetrics that is associated with the current render.
        Returns:
        true if the specified consumer was removed.
      • getMarshallerMetricsConsumers

        Set<MarshallerMetricsConsumer> getMarshallerMetricsConsumers()
        Returns the consumers of MarshallerMetrics 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