public class

DefaultResourceIdentifierContextUtility

extends Object
implements ResourceIdentifierContextUtility
java.lang.Object
   ↳ com.atlassian.confluence.content.render.xhtml.model.resource.identifiers.DefaultResourceIdentifierContextUtility

Summary

Public Constructors
DefaultResourceIdentifierContextUtility(ResourceIdentifierFactory riFactory, ResourceIdentifierMatcher matcher)
Public Methods
ResourceIdentifier convertToAbsolute(ResourceIdentifier ri, ContentEntityObject ceo)
Create and return a fully populated version of the supplied ResourceIdentifier with any missing attributes derived from the supplied context ContentEntityObject.
ResourceIdentifier convertToRelative(ResourceIdentifier ri, ContentEntityObject ceo)
Make the provided ResourceIdentifier as relative as possible to the provided ContentEntityObject.
ResourceIdentifier createAbsoluteResourceIdentifier(ContentEntityObject ceo)
Create a fully populated (absolute) ResourceIdentifier from the supplied ContentEntityObject.
ResourceIdentifier innerConvertToRelative(ResourceIdentifier ri, ContentEntityObject ceo)
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.atlassian.confluence.content.render.xhtml.model.resource.identifiers.ResourceIdentifierContextUtility

Public Constructors

public DefaultResourceIdentifierContextUtility (ResourceIdentifierFactory riFactory, ResourceIdentifierMatcher matcher)

Public Methods

public ResourceIdentifier convertToAbsolute (ResourceIdentifier ri, ContentEntityObject ceo)

Create and return a fully populated version of the supplied ResourceIdentifier with any missing attributes derived from the supplied context ContentEntityObject.

Parameters
ri the ResourceIdentifier to be expanded. If it is null then a new resource identifier will be returned based on the type of the supplied ContentEntityObject.
ceo the ContentEntityObject to be used as context. If this is null then the ResourceIdentifier will be returned unchanged.
Returns
  • a fully expanded ResourceIdentifier. May be null if a null ResourceIdentifier was provided along with a null ContentEntityObject

public ResourceIdentifier convertToRelative (ResourceIdentifier ri, ContentEntityObject ceo)

Make the provided ResourceIdentifier as relative as possible to the provided ContentEntityObject.

For instance if the RI and the CEO share the same space key then the space key will be dropped from the RI. If the RI and the CEO share all attributes then a null RI will be returned indicating that it is unnecessary.

This is a centralisation of the logic required for CONF-23328 which is to make links as relative as possible in storage.
Parameters
ri The ResourceIdentifier to make relative
ceo the ContentEntityObject to be used as context. If this is null then the ResourceIdentifier will be returned unchanged.
Returns
  • a new ResourceIdentifier as sparsely populated as possible or null if the RI would not be required at all.

public ResourceIdentifier createAbsoluteResourceIdentifier (ContentEntityObject ceo)

Create a fully populated (absolute) ResourceIdentifier from the supplied ContentEntityObject.

This differs from ResourceIdentifierFactory in that it is intended for use in the context of a conversion and therefore understandings relevant details such as that when converting a Comment the relevant ResourceIdentifier is that of the Comment's owner.
Parameters
ceo The ContentEntityObject to get a conversion suitable ResourceIdentifier for.
Returns
  • the relevant ResourceIdentifier.

public ResourceIdentifier innerConvertToRelative (ResourceIdentifier ri, ContentEntityObject ceo)