/** * Creates an instance with data * * @param array $data * @return Resource */ public static function create(array $data = array()) { $defaults = array('id' => null, 'uuid' => null, 'hash' => null, 'date_created' => new DateTime(), 'data' => new IdentifiableDataContainer(array()), 'mimetype' => null, 'size' => null, 'exclusive' => false); $data = array_merge($defaults, $data); $obj = new self(); $obj->setUuid($data['uuid']); $obj->setId($data['id']); $obj->setHash($data['hash']); $obj->setDateCreated($data['date_created']); $obj->setData($data['data']); $obj->setMimetype($data['mimetype']); $obj->setSize($data['size']); $obj->setExclusive($data['exclusive']); return $obj; }