2 namespace Consolidation\OutputFormatters\StructuredData;
4 use Consolidation\OutputFormatters\Options\FormatterOptions;
7 * A RowsOfFields data structure that also contains metadata.
8 * @see MetadataHolderTrait
10 class RowsOfFieldsWithMetadata extends RowsOfFields implements MetadataInterface, MetadataHolderInterface
12 use MetadataHolderTrait;
14 public function __constructor($data)
16 parent::__construct($data);
20 * Restructure this data for output by converting it into a table
21 * transformation object. First, though, remove any metadata items.
23 * @param FormatterOptions $options Options that affect output formatting.
24 * @return Consolidation\OutputFormatters\Transformations\TableTransformation
26 public function restructure(FormatterOptions $options)
28 $originalData = $this->getArrayCopy();
29 $data = $this->extractData($originalData);
30 $tableTranformer = $this->createTableTransformation($data, $options);
31 $tableTranformer->setOriginalData($this);
32 return $tableTranformer;
35 public function getMetadata()
37 return $this->extractMetadata($this->getArrayCopy());