SimpleSAML_Metadata_SAMLParser::__construct PHP Method

__construct() private method

This is the constructor for the SAMLParser class.
private __construct ( SAML2\XML\md\EntityDescriptor $entityElement, integer | null $maxExpireTime, array $validators = [], array $parentExtensions = null )
$entityElement SAML2\XML\md\EntityDescriptor The EntityDescriptor.
$maxExpireTime integer | null The unix timestamp for when this entity should expire, or NULL if unknown.
$validators array An array of parent elements that may validate this element.
$parentExtensions array An optional array of extensions from the parent element.
    private function __construct(\SAML2\XML\md\EntityDescriptor $entityElement, $maxExpireTime, array $validators = array(), array $parentExtensions = null)
    {
        assert('is_null($maxExpireTime) || is_int($maxExpireTime)');
        $this->spDescriptors = array();
        $this->idpDescriptors = array();
        $e = $entityElement->toXML();
        $e = $e->ownerDocument->saveXML($e);
        $this->entityDescriptor = base64_encode($e);
        $this->entityId = $entityElement->entityID;
        $expireTime = self::getExpireTime($entityElement, $maxExpireTime);
        $this->validators = $validators;
        $this->validators[] = $entityElement;
        // process Extensions element, if it exists
        $ext = self::processExtensions($entityElement, $parentExtensions);
        $this->scopes = $ext['scope'];
        $this->tags = $ext['tags'];
        $this->entityAttributes = $ext['EntityAttributes'];
        $this->registrationInfo = $ext['RegistrationInfo'];
        // look over the RoleDescriptors
        foreach ($entityElement->RoleDescriptor as $child) {
            if ($child instanceof \SAML2\XML\md\SPSSODescriptor) {
                $this->processSPSSODescriptor($child, $expireTime);
            } elseif ($child instanceof \SAML2\XML\md\IDPSSODescriptor) {
                $this->processIDPSSODescriptor($child, $expireTime);
            } elseif ($child instanceof \SAML2\XML\md\AttributeAuthorityDescriptor) {
                $this->processAttributeAuthorityDescriptor($child, $expireTime);
            }
        }
        if ($entityElement->Organization) {
            $this->processOrganization($entityElement->Organization);
        }
        if (!empty($entityElement->ContactPerson)) {
            foreach ($entityElement->ContactPerson as $contact) {
                $this->processContactPerson($contact);
            }
        }
    }