ElggEntity::getAnnotations PHP Method

getAnnotations() public method

To retrieve annotations on an unsaved entity, pass array('name' => [annotation name]) as the options array.
See also: elgg_get_annotations()
public getAnnotations ( array $options = [] ) : array
$options array Array of options for elgg_get_annotations() except guid.
return array
    public function getAnnotations(array $options = [])
    {
        if ($this->guid) {
            $options['guid'] = $this->guid;
            return elgg_get_annotations($options);
        } else {
            $name = elgg_extract('annotation_name', $options, '');
            if (isset($this->temp_annotations[$name])) {
                return array($this->temp_annotations[$name]);
            }
        }
        return array();
    }

Usage Example

Example #1
0
 public function testElggEnityGetAndSetAnnotations()
 {
     $this->assertIdentical($this->entity->getAnnotations(array('annotation_name' => 'non_existent')), array());
     // save entity and check for annotation
     $this->entity->annotate('non_existent', 'foo');
     $annotations = $this->entity->getAnnotations(array('annotation_name' => 'non_existent'));
     $this->assertIsA($annotations[0], '\\ElggAnnotation');
     $this->assertIdentical($annotations[0]->name, 'non_existent');
     $this->assertEqual($this->entity->countAnnotations('non_existent'), 1);
     // @todo belongs in Annotations API test class
     $this->assertIdentical($annotations, elgg_get_annotations(array('guid' => $this->entity->getGUID())));
     $this->assertIdentical($annotations, elgg_get_annotations(array('guid' => $this->entity->getGUID(), 'type' => 'object')));
     $this->assertIdentical(false, elgg_get_annotations(array('guid' => $this->entity->getGUID(), 'type' => 'object', 'subtype' => 'fail')));
     //  clear annotation
     $this->assertTrue($this->entity->deleteAnnotations());
     $this->assertEqual($this->entity->countAnnotations('non_existent'), 0);
     // @todo belongs in Annotations API test class
     $this->assertIdentical(array(), elgg_get_annotations(array('guid' => $this->entity->getGUID())));
     $this->assertIdentical(array(), elgg_get_annotations(array('guid' => $this->entity->getGUID(), 'type' => 'object')));
 }