Get the bean getters related to the parameters of the bean's constructor.

@return \qtism\common\beans\BeanMethodCollection A collection of BeanMethod objects.
184369
public function getConstructorGetters()
    {
        $getters = new BeanMethodCollection();

        foreach ($this->getConstructorParameters() as $param) {
            $getters[] = $this->getGetter($param->getName());
        }

        return $getters;
    }
1195938
public function getMethods()
    {
        $aMethods = [];
        foreach($this->reflectionClass->getMethods(\ReflectionMethod::IS_PUBLIC) as $xMethod)
        {
            $sMethodName = $xMethod->getShortName();
            // Don't take magic __call, __construct, __destruct methods
            if(strlen($sMethodName) > 2 && substr($sMethodName, 0, 2) == '__')
            {
                continue;
            }
            // Don't take excluded methods
            if(in_array($sMethodName, $this->aProtectedMethods))
            {
                continue;
            }
            $aMethods[] = $sMethodName;
        }
        return $aMethods;
    }
815830
public function getPublicMethods() {
        $reflect = new ReflectionClass($this);
        $publicMethods = $reflect->getMethods(ReflectionMethod::IS_PUBLIC);
        $publicMethods = array_map(
            function ($m) {
                return $m->name;
            },
            $publicMethods
        );
        $publicMethods = array_filter(
            $publicMethods,
            function ($m) {
                $ignoreMethods = array('__construct', 'main', 'getPublicMethods');
                return !in_array($m, $ignoreMethods);
            }
        );
        return $publicMethods;
    }
226438
public List<ConstructorType<BeanType<T>>> getAllConstructor()
   {
      List<ConstructorType<BeanType<T>>> list = new ArrayList<ConstructorType<BeanType<T>>>();
      List<Node> nodeList = childNode.get("constructor");
      for(Node node: nodeList)
      {
         ConstructorType<BeanType<T>>  type = new ConstructorTypeImpl<BeanType<T>>(this, "constructor", childNode, node);
         list.add(type);
      }
      return list;
   }
208813
public JMethod []getConstructors()
  {
    ArrayList<JavaMethod> ctorList = new ArrayList<JavaMethod>();
    
    for (JavaMethod method : getMethodList()) {
      if (method.getName().equals("<init>"))
        ctorList.add(method);
    }
    
    JMethod[] methods = new JMethod[ctorList.size()];

    ctorList.toArray(methods);

    return methods;
  }
712668
protected function setupMethods() {
		//PARAMETERS
		$parameterPrimary = new ParameterGenerator();
		$parameterPrimary->setName($this->getNames()->primary);
		
		$parameterProperty = new ParameterGenerator();
		$parameterProperty->setName('property');
		//--
		$paramTagProperty = new ParamTag();
		$paramTagProperty->setTypes(['string']);
		$paramTagProperty->setVariableName('property');
		
		$parameterValue = new ParameterGenerator();
		$parameterValue->setName('value');
		
		$paramTagValue = new ParamTag();
		$paramTagValue->setTypes(['mixed']);
		$paramTagValue->setVariableName('value');
		
		$parameterPrepend = new ParameterGenerator();
		$parameterPrepend->setName('prepend');
		$parameterPrepend->setDefaultValue('get');
		//--
		$paramTagPrepend = new ParamTag();
		$paramTagPrepend->setTypes(['string']);
		$paramTagPrepend->setVariableName('prepend');
			
		$parameterDataArray = new ParameterGenerator();
		$parameterDataArray->setName($this->getNames()->entityVariable);
		
		$returnTagString = new ReturnTag();
		$returnTagString->setTypes(['string']);
		
		$returnTagMixed = new ReturnTag();
		$returnTagMixed->setTypes(['mixed']);

		$returnTagEntity = new ReturnTag(['datatype' => $this->getNames()->entityName]);
		
		//===============================================
		
		//METHODS
		// METHOD:parseMethodName
		$method = $this->buildMethod('parseMethodName');
		$method->setVisibility('private');
		$method->setParameter($parameterProperty);
		$method->setParameter($parameterPrepend);
		$body = <<<MBODY
return \$prepend.str_replace(' ','',ucwords(str_replace('_',' ',\$property)));
MBODY;
		$docBlock = new DocBlockGenerator();
		$docBlock->setTag($paramTagProperty);
		$docBlock->setTag($paramTagPrepend);
		$docBlock->setTag($returnTagString);
		$docBlock->setShortDescription("Convert a column name to a user friendly method name.");
		$method->setDocBlock($docBlock);
		$method->setBody($body);
		$this->_class->addMethodFromGenerator($method);
		
		//===============================================
		
		// METHOD:__sleep
		$method = $this->buildMethod('__sleep');
		$body = <<<MBODY
return \$this->getDataTable()->getColumns();
MBODY;
		$method->setBody($body);
		$docBlock = new DocBlockGenerator();
		$docBlock->setShortDescription('magic method: _sleep');
		$method->setDocBlock($docBlock);
		$this->_class->addMethodFromGenerator($method);
		
		//===============================================
		
		// METHOD:__wakeup
		$method = $this->buildMethod('__wakeup');
		$body = <<<MBODY
MBODY;
		$method->setBody($body);
		$docBlock = new DocBlockGenerator();
		$docBlock->setShortDescription('magic method: _wakeup');
		$method->setDocBlock($docBlock);
		$this->_class->addMethodFromGenerator($method);
		
		//===============================================
		
		// METHOD:__get
		$method = $this->buildMethod('__get');
		$method->setParameter($parameterProperty);
		$body = <<<MBODY
if (!in_array(\$property, \$this->getDataTable()->getColumns())) {
	throw new \Exception("Invalid Property:\\n\\t{$this->getNames()->entityName} has no property: {\$property}");
}
\$method = \$this->parseMethodName(\$property);
return \$this->\$method();
MBODY;
		$method->setBody($body);
		$docBlock = new DocBlockGenerator();
		$docBlock->setShortDescription('magic method: __get');
		$docBlock->setTag($paramTagProperty);
		$docBlock->setTag($returnTagMixed);
		$method->setDocBlock($docBlock);
		$this->_class->addMethodFromGenerator($method);
		
		//===============================================
		
		// METHOD:__set
		$method = $this->buildMethod('__set');
		$method->setParameter($parameterProperty);
		$method->setParameter($parameterValue);
		$body = <<<MBODY
if (!in_array(\$property, \$this->getDataTable()->getColumns())) {
	throw new \Exception("Invalid Property:\\n\\t{$this->getNames()->entityName} has no property: {\$property}");
}
\$method = \$this->parseMethodName(\$property, 'set');
\$this->\$method(\$value);
return \$this;
MBODY;
		$method->setBody($body);
		$docBlock = new DocBlockGenerator();
		$docBlock->setShortDescription('magic method: __set');
		$docBlock->setTag($paramTagProperty);
		$docBlock->setTag($paramTagValue);
		$docBlock->setTag($returnTagEntity);
		$method->setDocBlock($docBlock);
		$this->_class->addMethodFromGenerator($method);
		
		//===============================================
		
		// METHOD:getDataTable
		$method = $this->buildMethod('getDataTable');
		$body = <<<MBODY
if (!\$this->dataTable) {
	\$this->dataTable = new {$this->getNames()->modelName}();
}
return \$this->dataTable;
MBODY;
		$method->setBody($body);
		$tag = new ReturnTag();
		$tag->setTypes(["\\{$this->getNames()->namespace_model}\\{$this->getNames()->modelName}"]);
		$docBlock = new DocBlockGenerator();
		$docBlock->setTag($tag);
		$docBlock->setShortDescription("DataTable for {$this->getNames()->entityName}");
		$method->setDocBlock($docBlock);
		$this->_class->addMethodFromGenerator($method);
		
		//===============================================
		
		// METHOD:Getter/Setter
		$relationColumns = [];
		foreach (array_keys($this->getNames()->properties) as $name) {
			if (0 === strpos($name, 'fk_')) {
				$relationColumns[] = $name;
			}
			$this->addGetterSetter($name);
		}
		foreach ($relationColumns as $columnName) {
			$this->addRelationParent($columnName);
		}
		
		//===============================================
		
		// METHOD:RelationChildren
		foreach ($this->getNames()->relationChildren as $tableName) {
			$this->addRelationChild($tableName);
		}
		
		//===============================================
		
		// METHOD:get
		$method = $this->buildMethod('get');
		$method->setParameter($parameterPrimary);
		
		$body = <<<MBODY
\${$this->getNames()->entityVariable} = \$this->getDataTable()->get{$this->getNames()->entityName}(\${$this->getNames()->primary});
if(!\${$this->getNames()->entityVariable}) {
    return false;
}
\$this->exchangeArray(\${$this->getNames()->entityVariable}->getArrayCopy());
return \$this;
MBODY;
		$docBlock = new DocBlockGenerator();
		$docBlock->setShortDescription("Get {$this->getNames()->entityName} by primary key value");
		$docBlock->setTag(new ParamTag($this->getNames()->primary, ['datatype'  => $this->getNames()->properties[$this->getNames()->primary]['type']]));
		$docBlock->setTag($returnTagEntity);
		$method->setDocBlock($docBlock);
		
		$method->setBody($body);
		$this->_class->addMethodFromGenerator($method);
		
		//===============================================
		
		// METHOD:save
		$method = $this->buildMethod('save');
		$body = <<<MBODY
\$this->getDataTable()->save{$this->getNames()->entityName}(\$this);
return \$this;
MBODY;
		$docBlock = new DocBlockGenerator();
		$docBlock->setShortDescription("Save the entity to database");
		$docBlock->setTag($returnTagEntity);
		$method->setDocBlock($docBlock);
		
		$method->setBody($body);
		$this->_class->addMethodFromGenerator($method);
		
		//===============================================
		
		// METHOD:delete
		$method = $this->buildMethod('delete');
		$body = <<<MBODY
\$this->getDataTable()->delete{$this->getNames()->entityName}(\$this->{$this->getNames()->primary});
MBODY;
		$method->setBody($body);
		$docBlock = new DocBlockGenerator();
		$docBlock->setShortDescription("Deletes the entity from table");
		$method->setDocBlock($docBlock);
		$this->_class->addMethodFromGenerator($method);
		
		//===============================================
		
		// METHOD:exchangeArray
		$method = $this->buildMethod('exchangeArray');
		$method->setParameter($parameterDataArray);
		$body = <<<MBODY
foreach ( \$this->getDataTable()->getColumns() as \$property ) {
	\$cols = \$this->getDataTable()->getColumnDefaults();
	
	if (is_array(\${$this->getNames()->entityVariable}))
		\${$this->getNames()->entityVariable} = (object)\${$this->getNames()->entityVariable};

	if (property_exists(\${$this->getNames()->entityVariable}, \$property)) {
		\$this->\$property = \${$this->getNames()->entityVariable}->\$property;
	} else {
		\$this->\$property = \$cols[\$property];
	}
}
return \$this;
MBODY;
		$docBlock = new DocBlockGenerator();
		$docBlock->setShortDescription("Load the properties from an array");
		$docBlock->setTag(new ParamTag($this->getNames()->entityVariable, ['datatype'  => 'Array']));
		$docBlock->setTag($returnTagEntity);
		$method->setDocBlock($docBlock);
		
		$method->setBody($body);
		$this->_class->addMethodFromGenerator($method);
		
		//===============================================
		
		// METHOD:getArrayCopy
		$method = $this->buildMethod('getArrayCopy');
		$method->setParameter(new ParameterGenerator('ignorePrimaryColumn', 'bool', false));
		$body = <<<MBODY
\$data = [];
\$columns = \$this->getDataTable()->getColumns();
foreach (\$columns as \$key)
	if (!\$ignorePrimaryColumn || \$key != \$this->getDataTable()->getPrimaryKeyField())
		\$data[\$key] = \$this->\$key;

return \$data;
MBODY;
		$method->setBody($body);
		$docBlock = new DocBlockGenerator();
		$docBlock->setTag(new ParamTag('ignorePrimaryColumn', ['datatype'  => 'bool']));
		$docBlock->setTag(new ReturnTag(['datatype'  => 'Array']));
		$docBlock->setShortDescription("Array copy of object");
		$method->setDocBlock($docBlock);
		$this->_class->addMethodFromGenerator($method);
	}
675565
public function getAllMethods() {
    $methods = array();
    foreach ($this->methodsOrder as $methodName) {
      $method = $this->methods[$methodName];
      $methods[$method->getName()] = $method;
    }
    return $methods;
  }
1048905
@Override
    public final Collection<V> getAll() {
        return getTemplate().query(getSelectAllValuesQuery(),
                BeanPropertyRowMapper.newInstance(getType()));
    }
23207
public function getAllAdapters()
    {
        $classCollection = $this->classAwake->wakeByInterfaces(
            array(
                __DIR__ . '/Sources/',
            ),
            'CrudGenerator\Metadata\Sources\MetaDataDAOFactoryInterface'
        );

        $adapterCollection = new MetaDataSourceCollection();

        foreach ($classCollection as $className) {
            $adapterCollection->append(
                $this->metaDataSourceHydrator->adapterNameToMetaDataSource(
                    $className
                )
            );
        }

        return $adapterCollection;
    }
1088612
private function getReferenceMapping() : array
    {
        $this->requiresCurrentField();
        assert($this->currentField !== null);

        try {
            return $this->class->getFieldMapping($this->currentField);
        } catch (MappingException $e) {
            if (empty($this->class->discriminatorMap)) {
                throw $e;
            }
            $mapping = null;
            $foundIn = null;
            foreach ($this->class->discriminatorMap as $child) {
                $childClass = $this->dm->getClassMetadata($child);
                if (! $childClass->hasAssociation($this->currentField)) {
                    continue;
                }

                if ($foundIn !== null && $mapping !== null && $mapping !== $childClass->getFieldMapping($this->currentField)) {
                    throw MappingException::referenceFieldConflict($this->currentField, $foundIn->name, $childClass->name);
                }
                $mapping = $childClass->getFieldMapping($this->currentField);
                $foundIn = $childClass;
            }
            if ($mapping === null) {
                throw MappingException::mappingNotFoundInClassNorDescendants($this->class->name, $this->currentField);
            }

            return $mapping;
        }
    }
1012760
protected function getCommonMethods()/*# : array */
    {
        // di.common node
        $commNode = $this->getResolver()->getSectionId('', 'common');

        return $this->mergeMethods(
            $this->getResolver()->get($commNode)
        );
    }
841680
protected function getSettingsMethods()
    {
        if (empty($this->settingsMethods)) {
            $settings = $this->getSettingsRepository();

            $methods = get_class_methods($settings);

            $this->settingsMethods = array_diff($methods, ['__construct']);
        }

        return $this->settingsMethods;
    }
631285
public function getRelations()
    {
        if (empty($this->_relations)) {
            $properties = $this->getInspector()->getClassProperties();
            foreach ($properties as $property) {
                $annotations = $this->getInspector()
                    ->getPropertyAnnotations($property);
                foreach (static::$_annotations as $name => $class) {
                    if ($annotations->hasAnnotation($name)) {
                        $this->_relations[$property] = call_user_func_array(
                            [$class, 'create'],
                            [
                                $annotations->getAnnotation($name),
                                $this->getEntity(),
                                trim($property, '_')
                            ]
                        );
                        break;
                    }
                }
            }
        }
        return $this->_relations;
    }
584692
public static function getCollectors()
    {
        $collectorClassList = ClassMapGenerator::createMap(base_path().'/vendor/abuseio');
        /** @noinspection PhpUnusedParameterInspection */
        $collectorClassListFiltered = array_where(
            array_keys($collectorClassList),
            function ($value, $key) {
                // Get all collectors, ignore all other packages.
                if (strpos($value, 'AbuseIO\Collectors\\') !== false) {
                    return $value;
                }
                return false;
            }
        );

        $collectors = [];
        $collectorList = array_map('class_basename', $collectorClassListFiltered);
        foreach ($collectorList as $collector) {
            if (!in_array($collector, ['Factory', 'Collector'])) {
                $collectors[] = $collector;
            }
        }
        return $collectors;
    }
1067279
public MethodDescriptor[] getMethodDescriptors() {
        BeanInfo info = getBeanInfo();
        if (info == null) {
            return null;
        }

        MethodDescriptor[] mds = info.getMethodDescriptors();      
        getTeaToolsUtils().sortMethodDescriptors(mds);
        return mds;
    }
1370500
public static Method[] getMethods(Class<?> beanClass) throws SecurityException {
		Method[] allMethods = METHODS_CACHE.get(beanClass);
		if (null != allMethods) {
			return allMethods;
		}

		allMethods = getMethodsDirectly(beanClass, true);
		return METHODS_CACHE.put(beanClass, allMethods);
	}
285329
public function getFields()
    {
        if (null == $this->fields) {
            $properties = $this->inspector->getClassProperties();
            $this->fields = new FieldsCollection();
            foreach ($properties as $property) {
                $this->addDescriptor($property);
            }
        }
        return $this->fields;
    }