public class DefaultResourceIdentifierContextUtility extends Object implements ResourceIdentifierContextUtility
Constructor and Description |
---|
DefaultResourceIdentifierContextUtility(ResourceIdentifierFactory riFactory,
ResourceIdentifierMatcher matcher) |
Modifier and Type | Method and Description |
---|---|
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 |
createAbsolutePageTemplateResourceIdentifier(PageTemplate template)
Create a ResourceIdentifier from the supplied PageTemplate.
|
ResourceIdentifier |
createAbsoluteResourceIdentifier(ContentEntityObject ceo)
Create a fully populated (absolute) ResourceIdentifier from the supplied ContentEntityObject.
|
ResourceIdentifier |
innerConvertToRelative(ResourceIdentifier ri,
ContentEntityObject ceo) |
public DefaultResourceIdentifierContextUtility(ResourceIdentifierFactory riFactory, ResourceIdentifierMatcher matcher)
public ResourceIdentifier createAbsoluteResourceIdentifier(ContentEntityObject ceo)
ResourceIdentifierContextUtility
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.
createAbsoluteResourceIdentifier
in interface ResourceIdentifierContextUtility
ceo
- The ContentEntityObject to get a conversion suitable ResourceIdentifier for.public ResourceIdentifier createAbsolutePageTemplateResourceIdentifier(PageTemplate template)
ResourceIdentifierContextUtility
To be used in place of ResourceIdentifierContextUtility.createAbsoluteResourceIdentifier(ContentEntityObject)
whenever
the conversion context is that of a PageTemplate. Necessary because a PageTemplate
is not a ContentEntityObject
createAbsolutePageTemplateResourceIdentifier
in interface ResourceIdentifierContextUtility
template
- The PageTemplate to get a conversion suitable ResourceIdentifer for.public ResourceIdentifier convertToAbsolute(ResourceIdentifier ri, ContentEntityObject ceo)
ResourceIdentifierContextUtility
convertToAbsolute
in interface ResourceIdentifierContextUtility
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.public ResourceIdentifier convertToRelative(ResourceIdentifier ri, ContentEntityObject ceo)
ResourceIdentifierContextUtility
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.
convertToRelative
in interface ResourceIdentifierContextUtility
ri
- The ResourceIdentifier to make relativeceo
- the ContentEntityObject to be used as context. If this is null then the ResourceIdentifier
will be returned unchanged.public ResourceIdentifier innerConvertToRelative(ResourceIdentifier ri, ContentEntityObject ceo)
Copyright © 2003–2021 Atlassian. All rights reserved.