Add getNames methods to managers

modifié:         core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilderManager.php
	modifié:         core/lib/Thelia/Core/FileFormat/Formatter/FormatterManager.php
This commit is contained in:
Benjamin Perche
2014-07-04 15:07:07 +02:00
parent d82ca5d767
commit a80a35b5de
2 changed files with 48 additions and 3 deletions

View File

@@ -22,6 +22,9 @@ class ArchiveBuilderManager
{ {
<<<<<<< HEAD <<<<<<< HEAD
<<<<<<< HEAD <<<<<<< HEAD
<<<<<<< HEAD
=======
>>>>>>> Add getNames methods to managers
/** @var array */ /** @var array */
protected $archiveBuilders = array(); protected $archiveBuilders = array();
======= =======
@@ -39,6 +42,7 @@ class ArchiveBuilderManager
} }
/** /**
<<<<<<< HEAD <<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD <<<<<<< HEAD
* @param AbstractArchiveBuilder $archiveBuilder * @param AbstractArchiveBuilder $archiveBuilder
* @return $this * @return $this
@@ -54,19 +58,26 @@ class ArchiveBuilderManager
======= =======
* @param AbstractArchiveBuilder $archiveCreator * @param AbstractArchiveBuilder $archiveCreator
>>>>>>> Fix cs >>>>>>> Fix cs
=======
* @param AbstractArchiveBuilder $archiveBuilder
>>>>>>> Add getNames methods to managers
* @return $this * @return $this
*/ */
public function add(AbstractArchiveBuilder $archiveCreator) public function add(AbstractArchiveBuilder $archiveBuilder)
{ {
if (null !== $archiveCreator) { if (null !== $archiveBuilder) {
$archiveCreator->setEnvironment($this->environment); $archiveBuilder->setEnvironment($this->environment);
<<<<<<< HEAD
<<<<<<< HEAD <<<<<<< HEAD
$this->archiveCreators[$archiveCreator->getName()] = $archiveCreator; $this->archiveCreators[$archiveCreator->getName()] = $archiveCreator;
>>>>>>> Define archive builders and formatters >>>>>>> Define archive builders and formatters
======= =======
$this->archiveBuilders[$archiveCreator->getName()] = $archiveCreator; $this->archiveBuilders[$archiveCreator->getName()] = $archiveCreator;
>>>>>>> Fix cs and add get method in managers >>>>>>> Fix cs and add get method in managers
=======
$this->archiveBuilders[$archiveBuilder->getName()] = $archiveBuilder;
>>>>>>> Add getNames methods to managers
} }
return $this; return $this;
@@ -112,6 +123,7 @@ class ArchiveBuilderManager
} }
/** /**
<<<<<<< HEAD
<<<<<<< HEAD <<<<<<< HEAD
* @return array * @return array
*/ */
@@ -158,12 +170,30 @@ class ArchiveBuilderManager
} }
======= =======
* @return array[AbstractArchiveBuilder] * @return array[AbstractArchiveBuilder]
=======
* @return array
>>>>>>> Add getNames methods to managers
*/ */
public function getAll() public function getAll()
{ {
return $this->archiveBuilders; return $this->archiveBuilders;
} }
/**
* @return array
*/
public function getNames()
{
$names = [];
/** @var AbstractArchiveBuilder $builder */
foreach($this->archiveBuilders as $builder) {
$names[] = $builder->getName();
}
return $names;
}
public function get($name) public function get($name)
{ {
if (!array_key_exists($name, $this->archiveBuilders)) { if (!array_key_exists($name, $this->archiveBuilders)) {

View File

@@ -69,6 +69,21 @@ class FormatterManager
return $this->formatters; return $this->formatters;
} }
/**
* @return array
*/
public function getNames()
{
$names = [];
/** @var AbstractFormatter $formatter */
foreach($this->formatters as $formatter) {
$names[] = $formatter->getName();
}
return $names;
}
/** /**
* @param $name * @param $name
* @throws \OutOfBoundsException * @throws \OutOfBoundsException