protected function getSampleValues() { // Get the constraints from the context's definition.
$constraints =
$this->
getConstraintObjects();
$entity_type_manager = \Drupal::
entityTypeManager();
$entity_type_id =
$this->
getEntityTypeId();
$entity_type =
$entity_type_manager->
getDefinition($entity_type_id);
$storage =
$entity_type_manager->
getStorage($entity_type_id);
// If the storage can generate a sample entity we might delegate to that.
if ($storage instanceof ContentEntityStorageInterface
) { if (!
empty($constraints['Bundle'
]) &&
$constraints['Bundle'
] instanceof BundleConstraint
) { foreach ($constraints['Bundle'
]->
getBundleOption() as $bundle) { // We have a bundle, we are bundleable and we can generate a sample.
$values =
[$entity_type->
getKey('bundle'
) =>
$bundle];
yield EntityAdapter::
createFromEntity($storage->
create($values));
} return;
} } // Either no bundle, or not bundleable, so generate an entity adapter.
$definition = EntityDataDefinition::
create($entity_type_id);
yield new EntityAdapter($definition);
}