/** * @param Schema $schema * @param SchemaId $resolvedSchemaId * @param string $resolvedClassName */ public function __construct(Schema $schema, SchemaId $resolvedSchemaId, $resolvedClassName) { $this->schema = $schema; $this->resolvedSchemaId = $resolvedSchemaId; $this->resolvedClassName = $resolvedClassName; parent::__construct(sprintf('Schema id [%s] with curie [%s] was resolved to [%s] but ' . 'that message has a curie of [%s]. They must match.', $this->resolvedSchemaId->toString(), $this->resolvedSchemaId->getCurieMajor(), $resolvedClassName, $this->schema->getId()->getCurieMajor())); }
/** * Returns the fully qualified php class name to be used for the provided schema id. * * @param SchemaId $id * @return string * @throws NoMessageForSchemaId */ public static function resolveId(SchemaId $id) { $curieMajor = $id->getCurieMajor(); if (isset(self::$resolved[$curieMajor])) { return self::$resolved[$curieMajor]; } if (isset(self::$messages[$curieMajor])) { $className = self::$messages[$curieMajor]; self::$resolved[$curieMajor] = $className; return $className; } $curie = $id->getCurie()->toString(); if (isset(self::$messages[$curie])) { $className = self::$messages[$curie]; self::$resolved[$curieMajor] = $className; self::$resolved[$curie] = $className; return $className; } throw new NoMessageForSchemaId($id); }
/** * @param SchemaId $schemaId */ public function __construct(SchemaId $schemaId) { $this->schemaId = $schemaId; parent::__construct(sprintf('MessageResolver is unable to resolve schema id [%s] ' . 'using curie [%s] to a class name.', $schemaId->toString(), $schemaId->getCurieMajor())); }
/** * @see SchemaId::getCurieMajor * @return string */ public function getCurieMajor() { return $this->id->getCurieMajor(); }