Class DefaultContentCreator
java.lang.Object
com.atlassian.confluence.content.apisupport.DefaultContentCreator
- All Implemented Interfaces:
ContentCreator
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultContentCreator
(SpaceManager spaceManager, ContentBodyConversionService contentBodyConversionService, PermissionManager permissionManager, PageManagerInternal pageManager, CustomContentManager customContentEntityManager, com.atlassian.event.api.EventPublisher eventPublisher, DraftAttributesCopier draftAttributesCopier, LabelManagerInternal labelManager, RelationManager relationManager, ContentEntityManagerInternal contentEntityManager) -
Method Summary
Modifier and TypeMethodDescription<T extends ContentEntityObject>
TcloneForUpdate
(T ceo) <T extends ContentEntityObject>
TsaveNewContent
(T entity, @Nullable Version version, @Nullable Draft draft) Save a newly created content entity object<T extends ContentEntityObject>
TsaveNewVersion
(T ceo, T originalCEO, Version version) Save a new version of the CEO due to an updateboolean
setCommonMetadata
(Content updatedContent, ContentEntityObject entity) Sets the common metadata on the entityvoid
setCommonPropertiesForCreate
(Content newContent, ContentEntityObject entity, ConfluenceUser authenticatedUser) Sets common properties on a newly created entity in preparation for being saved.boolean
setCommonPropertiesForUpdate
(Content updatedContent, ContentEntityObject entity) Sets common properties on the entity in preparation for an update.boolean
setContentBodyOnEntity
(Content updatedContent, ContentEntityObject entity) Sets the body content in updatedContent on the entityboolean
setContentStatusOnEntity
(Content updatedContent, ContentEntityObject entity) Sets the content status from updatedContent on the entityboolean
setLabelsMetadataOnEntity
(Content updatedContent, ContentEntityObject entity) Sets the labels metadata on the entityboolean
setOriginalVersionOnEntity
(Content updatedContent, ContentEntityObject entity) This property only applies to shared drafts.void
setSpaceForCreate
(Content newContent, SpaceContentEntityObject spacedEntity, ConfluenceUser authenticatedUser) Sets the space in newContent on this spacedEntityboolean
setTitleOnEntity
(Content updatedContent, ContentEntityObject entity) Sets the title in updatedContent on the entity<T extends ContentEntityObject>
TSaves CEOvalidateCreate
(ConfluenceUser confluenceUser, Content newContent, Class<? extends ContentEntityObject> entityClass) Perform common validation checks for creation of content in a spacevalidateUpdate
(ConfluenceUser user, Content updatedContent, ContentEntityObject entity) Perform common validation checks for updating content
-
Constructor Details
-
DefaultContentCreator
public DefaultContentCreator(SpaceManager spaceManager, ContentBodyConversionService contentBodyConversionService, PermissionManager permissionManager, PageManagerInternal pageManager, CustomContentManager customContentEntityManager, com.atlassian.event.api.EventPublisher eventPublisher, DraftAttributesCopier draftAttributesCopier, LabelManagerInternal labelManager, RelationManager relationManager, ContentEntityManagerInternal contentEntityManager)
-
-
Method Details
-
setCommonPropertiesForCreate
public void setCommonPropertiesForCreate(Content newContent, ContentEntityObject entity, ConfluenceUser authenticatedUser) Sets common properties on a newly created entity in preparation for being saved.The properties set include the title and content body, and if the entity is a SpacedContentEntityObject also the space
- Specified by:
setCommonPropertiesForCreate
in interfaceContentCreator
- Parameters:
newContent
- the content containing the new properties to set on the entityentity
- the entity to set the new properties onauthenticatedUser
- the user that performing the operation
-
validateUpdate
public ValidationResult validateUpdate(ConfluenceUser user, Content updatedContent, ContentEntityObject entity) Perform common validation checks for updating content- Specified by:
validateUpdate
in interfaceContentCreator
- Parameters:
user
- the user to perform permission checks onupdatedContent
- the content to be updatedentity
- the entity to be updated- Returns:
- a validation result indicating any validation errors that would occur on update
-
validateCreate
public ValidationResult validateCreate(ConfluenceUser confluenceUser, Content newContent, Class<? extends ContentEntityObject> entityClass) Perform common validation checks for creation of content in a space- Specified by:
validateCreate
in interfaceContentCreator
- Parameters:
confluenceUser
- the user to perform permission checks onnewContent
- the content to be createdentityClass
- the class of content to create- Returns:
- a validation result indicating any errors that would occur attempting to create content
-
setCommonPropertiesForUpdate
Sets common properties on the entity in preparation for an update. For properties initialized include the title and the content body.- Specified by:
setCommonPropertiesForUpdate
in interfaceContentCreator
- Parameters:
updatedContent
- the content containing the properties to update on the entityentity
- the entity to be updated- Returns:
- true if the entity was updated and requires being saved to the database
-
setLabelsMetadataOnEntity
Sets the labels metadata on the entity- Specified by:
setLabelsMetadataOnEntity
in interfaceContentCreator
- Parameters:
updatedContent
- the content with the new body contententity
- the entity to be updated- Returns:
- true if the entity was updated with labels metadata different to what it already had
-
setCommonMetadata
Sets the common metadata on the entity- Specified by:
setCommonMetadata
in interfaceContentCreator
- Parameters:
updatedContent
- the content containing the properties to update on the entityentity
- the entity to be updated- Returns:
- true if the entity was updated
-
setTitleOnEntity
Sets the title in updatedContent on the entity- Specified by:
setTitleOnEntity
in interfaceContentCreator
- Parameters:
updatedContent
- the content with the new titleentity
- the entity to be updated- Returns:
- true if the entity was updated with a different title to what it already had
-
setContentBodyOnEntity
Sets the body content in updatedContent on the entity- Specified by:
setContentBodyOnEntity
in interfaceContentCreator
- Parameters:
updatedContent
- the content with the new body contententity
- the entity to be updated- Returns:
- true if the entity was updated with body content different to what it already had
-
setContentStatusOnEntity
Sets the content status from updatedContent on the entity- Specified by:
setContentStatusOnEntity
in interfaceContentCreator
- Parameters:
updatedContent
- the content with the new titleentity
- the entity to be updated- Returns:
- true if the content status was updated
-
setOriginalVersionOnEntity
This property only applies to shared drafts. If the content to be persisted is a draft, and the contentId provided already references an existing piece of content with CURRENT status, we set the original version on the draft to link the draft to the existing content.- Specified by:
setOriginalVersionOnEntity
in interfaceContentCreator
- Parameters:
updatedContent
- the content with the existing contentIdentity
- the entity to be updated- Returns:
- true if the original version was updated
-
setSpaceForCreate
public void setSpaceForCreate(Content newContent, SpaceContentEntityObject spacedEntity, ConfluenceUser authenticatedUser) Sets the space in newContent on this spacedEntity- Specified by:
setSpaceForCreate
in interfaceContentCreator
- Parameters:
newContent
- the content with the new space to setspacedEntity
- the entity to be updated with the space
-
saveNewVersion
Save a new version of the CEO due to an update- Specified by:
saveNewVersion
in interfaceContentCreator
- Parameters:
ceo
- the new version of the CEOoriginalCEO
- the original version of the ceoversion
- the version object with information about the new version to be saved- Returns:
- the latest version of the CEO fetched from the database
-
update
Saves CEO- Specified by:
update
in interfaceContentCreator
- Parameters:
ceo
- CEOoriginalCEO
- ceo we are updating fromversion
- current version to update to- Returns:
- the latest version of the CEO fetched from the database
-
saveNewContent
public <T extends ContentEntityObject> T saveNewContent(T entity, @Nullable Version version, @Nullable Draft draft) Save a newly created content entity object- Specified by:
saveNewContent
in interfaceContentCreator
- Parameters:
entity
- the entity object to be savedversion
- the versiondraft
- the draft object contains metadata which will be transferred into the entity- Returns:
- the latest version of the content entity object fetched from the database
- Since:
- 6.13.0
-
cloneForUpdate
- Specified by:
cloneForUpdate
in interfaceContentCreator
-