/** * @param \Heystack\Core\DataObjectSchema\SchemaInterface $schema * @return void */ public function addSchema(SchemaInterface $schema) { $identifier = strtolower($schema->getIdentifier()->getFull()); if ($schema->getReference()) { $this->referenceSchemas[$identifier] = $schema; } else { if ($this->hasSchema($identifier) && !$schema->getReplace()) { $this->schemas[$identifier]->mergeSchema($schema); } else { $this->schemas[$identifier] = $schema; } } }