* Sets the given slot.
* If a slot with the same role is already present, it is replaced.
*
- * @note This may cause the slot meta-data for the revision to be lazy-loaded.
- *
* @param SlotRecord $slot
*/
public function setSlot( SlotRecord $slot ) {
}
/**
- * Sets the content for the slot with the given role.
+ * Sets the given slot to an inherited version of $slot.
* If a slot with the same role is already present, it is replaced.
*
- * @note This may cause the slot meta-data for the revision to be lazy-loaded.
+ * @param SlotRecord $slot
+ */
+ public function inheritSlot( SlotRecord $slot ) {
+ $this->setSlot( SlotRecord::newInherited( $slot ) );
+ }
+
+ /**
+ * Sets the content for the slot with the given role.
+ * If a slot with the same role is already present, it is replaced.
*
* @param string $role
* @param Content $content
/**
* Remove the slot for the given role, discontinue the corresponding stream.
*
- * @note This may cause the slot meta-data for the revision to be lazy-loaded.
- *
* @param string $role
*/
public function removeSlot( $role ) {
unset( $this->slots[$role] );
}
- /**
- * Return all slots that are not inherited.
- *
- * @note This may cause the slot meta-data for the revision to be lazy-loaded.
- *
- * @return SlotRecord[]
- */
- public function getTouchedSlots() {
- return array_filter(
- $this->getSlots(),
- function ( SlotRecord $slot ) {
- return !$slot->isInherited();
- }
- );
- }
-
- /**
- * Return all slots that are inherited.
- *
- * @note This may cause the slot meta-data for the revision to be lazy-loaded.
- *
- * @return SlotRecord[]
- */
- public function getInheritedSlots() {
- return array_filter(
- $this->getSlots(),
- function ( SlotRecord $slot ) {
- return $slot->isInherited();
- }
- );
- }
-
}