public function StaticMethodLoader::loadClassMetadata

Load a Class Metadata.

Parameters

ClassMetadata $metadata A metadata:

Return value

Boolean

Overrides LoaderInterface::loadClassMetadata

File

drupal/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/StaticMethodLoader.php, line 29

Class

StaticMethodLoader

Namespace

Symfony\Component\Validator\Mapping\Loader

Code

public function loadClassMetadata(ClassMetadata $metadata) {

  /** @var \ReflectionClass $reflClass */
  $reflClass = $metadata
    ->getReflectionClass();
  if (!$reflClass
    ->isInterface() && $reflClass
    ->hasMethod($this->methodName)) {
    $reflMethod = $reflClass
      ->getMethod($this->methodName);
    if (!$reflMethod
      ->isStatic()) {
      throw new MappingException(sprintf('The method %s::%s should be static', $reflClass->name, $this->methodName));
    }
    if ($reflMethod
      ->getDeclaringClass()->name != $reflClass->name) {
      return false;
    }
    $reflMethod
      ->invoke(null, $metadata);
    return true;
  }
  return false;
}