<commit_before><?php

namespace Indigo\Supervisor\Section;

use Symfony\Component\OptionsResolver\OptionsResolver;

class AbstractSection implements SectionInterface
{
	/**
	 * Options
	 *
	 * @var array
	 */
	protected $options = array();

	/**
	 * Name of section (eg. supervisord or program:test)
	 *
	 * @var string
	 */
	protected $name;

	/**
	 * Create a new Section instance
	 *
	 * @param array $options
	 */
	public function __construct(array $options = array())
	{
        $resolver = new OptionsResolver();
        $this->setDefaultOptions($resolver);

        $this->options = $resolver->resolve($options);
	}

	/**
	 * Get the name of section
	 *
	 * @return string
	 */
	public function getName()
	{
		return $this->name;
	}

	/**
	 * Get options
	 *
	 * @return array
	 */
	public function getOptions()
	{
		return $this->options;
	}
}
<commit_msg>Added abstract method<commit_after><?php

namespace Indigo\Supervisor\Section;

use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;

class AbstractSection implements SectionInterface
{
	/**
	 * Options
	 *
	 * @var array
	 */
	protected $options = array();

	/**
	 * Name of section (eg. supervisord or program:test)
	 *
	 * @var string
	 */
	protected $name;

	/**
	 * Create a new Section instance
	 *
	 * @param array $options
	 */
	public function __construct(array $options = array())
	{
        $resolver = new OptionsResolver();
        $this->setDefaultOptions($resolver);

        $this->options = $resolver->resolve($options);
	}

	/**
	 * Get the name of section
	 *
	 * @return string
	 */
	public function getName()
	{
		return $this->name;
	}

	/**
	 * Get options
	 *
	 * @return array
	 */
	public function getOptions()
	{
		return $this->options;
	}

	/**
	 * Set default options
	 *
	 * @param OptionsResolverInterface $resolver
	 */
	abstract protected function setDefaultOptions(OptionsResolverInterface $resolver);
}

{'fraction_non_alphanumeric': 0.12899949212798376, 'fraction_numerical': 0.0, 'mean_word_length': 3.2004264392324093, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7480746', 'n_tokens_mistral': 630, 'n_tokens_neox': 572, 'n_words': 147}