/**
  * 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;
 }
示例#2
0
 /**
  * (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;
 }