/** * Short description of method createInstance * * @access public * @author Jerome Bogaerts, <*****@*****.**> * @param Class clazz * @param string label * @param string comment * @param string uri * @return core_kernel_classes_Resource */ public static function createInstance(core_kernel_classes_Class $clazz, $label = '', $comment = '', $uri = '') { $returnValue = null; $newUri = !empty($uri) ? self::checkProvidedUri($uri) : common_Utils::getNewUri(); $newResource = new core_kernel_classes_Class($newUri); $propertiesValues = array(RDF_TYPE => $clazz->getUri()); if (!empty($label)) { $propertiesValues[RDFS_LABEL] = $label; } if (!empty($comment)) { $propertiesValues[RDFS_COMMENT] = $comment; } $check = $newResource->setPropertiesValues($propertiesValues); if ($check) { $returnValue = $newResource; } else { $msg = "Failed to create an instance of class '" . $clazz->getUri() . "'."; throw new common_Exception($msg); common_Logger::e($msg); } return $returnValue; }
/** * (non-PHPdoc) * @see core_kernel_persistence_ClassInterface::createSubClass() */ public function createSubClass(core_kernel_classes_Class $resource, $label = '', $comment = '', $uri = '') { if (!empty($uri)) { common_Logger::w('Use of parameter uri in ' . __METHOD__ . ' is deprecated'); } $uri = empty($uri) ? common_Utils::getNewUri() : $uri; $returnValue = new core_kernel_classes_Class($uri, __METHOD__); $properties = array(RDFS_SUBCLASSOF => $resource); if (!empty($label)) { $properties[RDFS_LABEL] = $label; } if (!empty($comment)) { $properties[RDFS_COMMENT] = $comment; } $returnValue->setPropertiesValues($properties); return $returnValue; }