public function parseFile(\blaze\persistence\cfg\Configuration $config, $file) { $f = null; if ($file instanceof \blaze\io\File) { $f = $file; } else { $f = new \blaze\io\File(\blaze\lang\String::asNative($file)); } $doc = new \DOMDocument(); $doc->load($f->getAbsolutePath()); $this->parseDom($config, $doc, $f->getName(), $f); }
/** * * @param \blaze\persistence\meta\ClassDescriptor $config * @param File $file */ public function save(\blaze\persistence\meta\ClassDescriptor $config, $file) { $f = null; if ($file instanceof \blaze\io\File) { $f = $file; } else { $f = new \blaze\io\File(\blaze\lang\String::asNative($file)); } $doc = new \DOMDocument(); $root = $doc->createElement('persistence-mapping'); $doc->appendChild($root); $node = $doc->createElement('class'); $root->appendChild($node); AttributeUtil::set($node, 'package', $config->getPackage()); AttributeUtil::set($node, 'name', $config->getName()); AttributeUtil::set($node, 'schema', $config->getTableDescriptor()->getSchema()); AttributeUtil::set($node, 'table', $config->getTableDescriptor()->getName()); foreach ($config->getIdentifiers() as $member) { $this->saveId($node, $doc, $member); } foreach ($config->getSingleFields() as $member) { $this->saveField($node, $doc, $member); } foreach ($config->getCollectionFields() as $member) { $this->saveCollection($node, $doc, $member); } $doc->save($f->getAbsolutePath()); }
/** * {@inheritDoc} */ public function get(\blaze\lang\String $key) { $f = new \blaze\io\File($this->cacheDir, $key); if (!$f->exists()) { return null; } return unserialize(file_get_contents($f->getAbsolutePath())); }