/** * Returns a table builder * * @param TableTypeInterface|string $type * @param array $options * * @return \Ekyna\Component\Table\TableBuilder */ public function createBuilder($type = 'table', array $options = []) { $type = $type instanceof TableTypeInterface ? $type : $this->getTableType($type); // TODO wrong place $resolver = new OptionsResolver(); $type->configureOptions($resolver); $resolvedOptions = $resolver->resolve($options); $builder = new TableBuilder($type, $resolvedOptions); $builder->setFactory($this); $type->buildTable($builder, $resolvedOptions); return $builder; }