/** * @param string $script */ protected function addCacheFetch(&$script) { $backend = $this->parameters['backend']; $peerClassName = $this->builder->getStubPeerBuilder()->getClassname(); $objectClassName = $this->builder->getStubObjectBuilder()->getClassname(); $weAreInAnNameSpace = strlen($this->builder->getStubPeerBuilder()->getNamespace()) > 0; $script .= "\n/**\n * @param string \$key\n * @return null|array|{$objectClassName}|{$objectClassName}[]\n */\npublic static function cacheFetch(\$key)\n{\n \$result = \\Domino\\CacheStore\\Factory::factory('{$backend}')->get(self::TABLE_NAME, \$key);\n\n if (\$result !== null) {\n if (\$result instanceof " . ($weAreInAnNameSpace ? '\\' : '') . "ArrayAccess) {\n foreach (\$result as \$element) {\n if (\$element instanceof {$objectClassName}) {\n {$peerClassName}::addInstanceToPool(\$element);\n }\n }\n } else if (\$result instanceof {$objectClassName}) {\n {$peerClassName}::addInstanceToPool(\$result);\n }\n }\n\n return \$result;\n}\n "; }
/** * @param string $code * @param DataModelBuilder $builder * @return string */ public function addCreateEntityToCode($code, DataModelBuilder $builder) { $className = $builder->getStubObjectBuilder()->getClassname(); $code .= ' /** * @return ' . $className . ' */ public function createEntity() { return new ' . $className . '(); } '; return $code; }