Restore merge exceptions and add structure factory method

This commit is contained in:
Thibaud Fabre
2016-10-19 11:50:04 +02:00
parent f5452eac1e
commit f79a78e4c5
2 changed files with 23 additions and 3 deletions

View File

@@ -46,7 +46,7 @@ final class GlobalStructure implements Structure
/**
* @param \databox[] $databoxes
* @return self
* @return GlobalStructure
*/
public static function createFromDataboxes(array $databoxes)
{
@@ -66,6 +66,26 @@ final class GlobalStructure implements Structure
return new self($fields, $flags, MetadataHelper::createTags());
}
/**
* @param \databox $databox
* @return GlobalStructure
*/
public static function createFromDatabox(\databox $databox)
{
$fields = [];
$flags = [];
foreach ($databox->get_meta_structure() as $fieldStructure) {
$fields[] = Field::createFromLegacyField($fieldStructure);
}
foreach ($databox->getStatusStructure() as $status) {
$flags[] = Flag::createFromLegacyStatus($status);
}
return new self($fields, $flags, MetadataHelper::createTags());
}
/**
* GlobalStructure constructor.
* @param Field[] $fields