Obtention de contextes de création

Vous avez besoin d'un contexte de création pour définir les propriétés immuables d'une ressource que vous créez. Vous pouvez utiliser la fabrique du générateur de contexte de création pour en générer plusieurs sans devoir implémenter directement ces interfaces.

Pourquoi et quand exécuter cette tâche

La fabrique du générateur de contexte de création peut effectuer ces deux opérations :
  • Générer des contextes de création simples, qui contiennent une ou plusieurs propriétés immuables. Exemples :
    • Un contexte de création pour un ID objet contient uniquement la propriété d'ID objet.
    • Un contexte de création de contrôle de présentation contient deux propriétés : l'une de définition de portlet, l'autre d'entité de portlet.
  • Regrouper plusieurs contextes de création en un seul pour définir plusieurs propriétés immuables.
Remarque : Vous pouvez uniquement regrouper des contextes de création n'ayant pas déjà été regroupés avec le générateur de contexte de création.

Exemple

Exemple 1 - Obtention d'un contexte de création simple :
// obtain creation context builder
final CreationContextBuilderFactory builder = CreationContextBuilderFactory.getInstance();

// obtain creation context
final CreationContext creationContext = builder.newIdentifiableCreationContext(objectID);
Exemple 2 - Obtention d'un contexte de création combiné :
// obtain creation context builder
final CreationContextBuilderFactory builder = CreationContextBuilderFactory.getInstance();

// obtain combined creation context
final CreationContext creationContext = builder.combine(new CreationContext[] 
     {builder.newContentPageCreationContext(true), builder.newIdentifiableCreationContext(objectID)});

Que faire ensuite

la liste suivante décrit les contextes de création que vous pouvez créer à l'aide de la fabrique du générateur de contexte de création :
ContentPageCreationContext
Utilisez ce contexte de création pour déterminer si une page créée est privée. Ceci s'applique au type de ressource ContentPage sur ContentModelController.
DerivedContentPageCreationContext
Utilisez ce contexte de création pour définir le parent de dérivation d'une page que vous voulez créer. Ceci s'applique au type de ressource ContentPage sur ContentModelController.
Remarque : Ce contexte de création dérive de ContentPageCreationContext.
IdentifiableCreationContext
Utilisez ce contexte de création afin de définir un ID objet pour une ressource à créer. Ceci s'applique à tous les types de ressources : ContentModelController, LayoutModelController, PortletModelController.
PortletDefinitionCloningContext
Utilisez ce contexte de création pour définir l'ID définition de portlet et éventuellement le domaine de la définition de portlet que vous voulez cloner. Ceci s'applique au type de ressource PortletDefinition sur PortletModelController.
PortletEntityCreationContext
Utilisez ce contexte de création pour définir l'ID parent et éventuellement le domaine pour l'entité de portlet que vous voulez créer. Ceci s'applique au type de ressource PortletEntity sur PortletModelController.