Interface CMSItemDeepCloningService
-
- All Known Implementing Classes:
DefaultCMSItemDeepCloningService
public interface CMSItemDeepCloningService
Service to deep clone item models by specifying aCMSModelCloningContext
to theCMSItemModelCloneCreator
.Note:
CMSModelCloningContext
andCMSItemModelCloneCreator
respectively extends theModelCloningContext
andItemModelCloneCreator
to override some platform behaviour.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ItemModel
deepCloneComponent(ItemModel srcComponent, ModelCloningContext cloningContext)
Creates a clone of the given component and deep copies all the component's attributes.java.lang.String
generateCloneComponentName(java.lang.String originalComponentName)
Creates a new name to be used on a cloned component to avoid clashing with the original one.java.lang.String
generateCloneItemUid()
Creates a uid consisting of the prefixclone_
and a generated number.
-
-
-
Method Detail
-
deepCloneComponent
ItemModel deepCloneComponent(ItemModel srcComponent, ModelCloningContext cloningContext)
Creates a clone of the given component and deep copies all the component's attributes.- Parameters:
srcComponent
- - the cms component to be clonedcloningContext
- - the cloning context- Returns:
- a newly cloned component
-
generateCloneItemUid
java.lang.String generateCloneItemUid()
Creates a uid consisting of the prefixclone_
and a generated number.- Returns:
- a new uid to be assigned to a cloned item; never null
-
generateCloneComponentName
java.lang.String generateCloneComponentName(java.lang.String originalComponentName)
Creates a new name to be used on a cloned component to avoid clashing with the original one. This method takes the original name, removes everything after the last space, and adds a generated number at the end. Examples:- Input: component1 Output: component1 123
- Input: component1 123 Output: component1 456
- Input: this is a component Output: this is a 789
- Parameters:
originalComponentName
- - the original name to use as a base for the clone name.- Returns:
- the name to use for the cloned component
-
-