| @@ 592-603 (lines=12) @@ | ||
| 589 | * @param Datastore_Interface $datastore | |
| 590 | * @return Container $this | |
| 591 | */ | |
| 592 | 	public function set_datastore( Datastore_Interface $datastore, $set_as_default = false ) { | |
| 593 | 		if ( $set_as_default && ! $this->has_default_datastore() ) { | |
| 594 | return $this; // datastore has been overriden with a custom one - abort changing to a default one | |
| 595 | } | |
| 596 | $this->datastore = $datastore; | |
| 597 | $this->has_default_datastore = $set_as_default; | |
| 598 | ||
| 599 | 		foreach ( $this->fields as $field ) { | |
| 600 | $field->set_datastore( $this->get_datastore(), true ); | |
| 601 | } | |
| 602 | return $this; | |
| 603 | } | |
| 604 | ||
| 605 | /** | |
| 606 | * Get the DataStore instance | |
| @@ 159-168 (lines=10) @@ | ||
| 156 | * @param boolean $set_as_default | |
| 157 | * @return self $this | |
| 158 | */ | |
| 159 | 	public function set_datastore( Datastore_Interface $datastore, $set_as_default = false ) { | |
| 160 | 		if ( $set_as_default && ! $this->has_default_datastore() ) { | |
| 161 | return $this; // datastore has been overriden with a custom one - abort changing to a default one | |
| 162 | } | |
| 163 | $this->datastore = $datastore; | |
| 164 | $this->has_default_datastore = $set_as_default; | |
| 165 | ||
| 166 | $this->update_child_datastore( $this->get_datastore(), true ); | |
| 167 | return $this; | |
| 168 | } | |
| 169 | ||
| 170 | /** | |
| 171 | * Propagate the datastore down the hierarchy | |