Get an array of setters by name

@return array|string[]
168415
public function getSetters(): array
    {
        if (null !== $this->setters) {
            return $this->setters;
        }
        $skip            = [
            'addPropertyChangedListener'     => true,
            'setEntityCollectionAndNotify'   => true,
            'addToEntityCollectionAndNotify' => true,
            'setEntityAndNotify'             => true,
        ];
        $this->setters   = [];
        $reflectionClass = $this->getReflectionClass();
        foreach ($reflectionClass->getMethods(
            \ReflectionMethod::IS_PRIVATE | \ReflectionMethod::IS_PUBLIC
        ) as $method) {
            $methodName = $method->getName();
            if (isset($skip[$methodName])) {
                continue;
            }
            if (\ts\stringStartsWith($methodName, 'set')) {
                $this->setters[$this->getGetterForSetter($methodName)] = $methodName;
                continue;
            }
        }

        return $this->setters;
    }
1254701
public function getFieldsByName($name)
    {
        $result = [];

        foreach ($this->fields as $field) {
            if ($field->getName() == $name) {
                $result[] = $field;
            }
        }

        return $result;
    }
409795
public function getAssignmentsByName($name)
    {
        $result = [];

        foreach ($this->getAssignments() as $assignment) {
            /* @var AssignmentElement $assignment */
            if ($assignment->getName() === $name) {
                $result[] = $assignment;
            }
        }

        return $result;
    }
699866
public function GetListSettingAsArray()
    {
        $aSettings = array();
        $iPointer = $this->getItemPointer();
        $this->GoToStart();
        while ($oItem = $this->Next()) {
            $aTmpSetting = $oItem->GetActiveSettingAsArray();
            $aSettings = array_merge_recursive($aSettings, $aTmpSetting);
        }
        $this->setItemPointer($iPointer);

        return $aSettings;
    }
857785
protected function getList($name)
    {
        if (null === ($list = $this->cache->get($name)) || !\is_array($list)) {
            return [];
        }

        return $list;
    }
419672
public function get($name, $default = '') {
        $setting = &$this->settings;
        $names   = explode('.', $name);
        $lname   = array_pop($names);
        if ($names) {
            foreach ($names as $n) {
                if (!isset($setting[ $n ])) {
                    $setting[ $n ] = [];
                }
                $setting = &$setting[ $n ];
            }
        }

        return isset($setting [ $lname ]) ? $setting [ $lname ] : $default;
    }
78584
static public function getPresets($name = self::FULL)
    {
        if ($presets = ArrayHelper::getValue(self::$presets, $name)) {
            return (array)$presets;
        }

        return [];
    }
289256
public function get_setting() {
        $result = $this->config_read($this->name);

        if (is_null($result)) {
            return NULL;
        }
        if ($result === '') {
            return array();
        }
        $enabled = explode(',', $result);
        $setting = array();
        foreach ($enabled as $option) {
            $setting[$option] = 1;
        }
        return $setting;
    }
165527
public function names()
	{
		$names = array();

		foreach ($this->items as $item)
		{
			$names[] = $item->name;
		}

		return array_values($names);
	}
830107
public function getChange($name)
    {
        if ($this->hasChange($name)) {
            return [$this->getOriginal($name), $this->$name];
        }
    }
395430
public function parseTable($name): array
    {
        if ($name instanceof Model) {
            return [$name->alias(), $name->name()];
        }

        if (is_array($name)) {
            return [key($name), current($name)];
        }

        if (is_scalar($name)) {
            return static::parseName($name);
        }

        return [null, $name];
    }
978437
public function getFieldsByName( $name )
	{
		$name	= strtolower( $name );
		if( isset( $this->fields[$name] ) )
			return $this->fields[$name];
		return array();
	}
1144680
public static function getNameList(): array
    {
        $list = [];
        foreach (self::getAll() as $tree) {
            $list[$tree->name] = $tree->title;
        }

        return $list;
    }
377855
protected function collectSetterMethods(\ReflectionClass $ref, SetterInjection $setter)
	{
		$methods = [];
		
		foreach($ref->getMethods() as $method)
		{
			if($method->isStatic() || $method->isAbstract() || !$method->isPublic())
			{
				continue;
			}
			
			if($setter->accept($method))
			{
				$methods[strtolower($method->getName())] = $method;
			}
		}
		
		return $methods;
	}
1322355
public static function getSet(string $name): array
    {
        $obj = new RedisSet(self::handle(), $name);
        return $obj->all();
    }
818923
protected function getFields(): array {
    if (!$this->fields) {
      // Search the pattern for named subpatterns and get their names.
      // @link https://stackoverflow.com/a/47753964/3260408
      preg_match_all("~(?<!\\\\)(?:\\\\{2})*\(\?(?|P?<([_A-Za-z]\w{0,31})>|'([_A-Za-z]\w{0,31})')~", $this->getPattern(), $matches);
      $this->fields = $matches[1];

      if (!$this->fields) {
        throw new \RuntimeException('Pattern must contain named subpatterns.');
      }
      if (count(array_unique($this->fields)) != count($this->fields)) {
        throw new \RuntimeException('Subpattern names must be unique.');
      }
    }

    return $this->fields;
  }
814089
public function getSetterProperty($name) {
		if (!isset($this->setterProperties[$name])) {
			
			$classDescriptor = $this->getClassDescriptor();
			$methodProperties = $classDescriptor->getInjectablePropertiesBySetter();
			if (isset($methodProperties[$name])) {
				$this->setterProperties[$name] = new MoufInstancePropertyDescriptor($this->moufManager, $this, $this->getClassDescriptor()->getInjectablePropertyBySetter($name));
			} else {
				$found = false;
				foreach ($methodProperties as $methodProperty) {
					if ($methodProperty->getName() == $name) {
						$this->setterProperties[$name] = new MoufInstancePropertyDescriptor($this->moufManager, $this, $this->getClassDescriptor()->getInjectablePropertyBySetter($methodProperty->getMethodName()));
						$found = true;
						break;
					}
				}
				if (!$found) {
					// This must be an orphan
					$this->setterProperties[$name] = new MoufInstancePropertyDescriptor($this->moufManager, $this, null, "setter", $name);
				}
			}
		}
		return $this->setterProperties[$name];
	}