/**
  * @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()));
 }
Exemple #2
0
 /**
  * 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()));
 }
Exemple #4
0
 /**
  * @see SchemaId::getCurieMajor
  * @return string
  */
 public function getCurieMajor()
 {
     return $this->id->getCurieMajor();
 }