lsolesen\pel\PelIfd::addEntry PHP Method

addEntry() public method

Adds an entry to the directory.
public addEntry ( lsolesen\pel\PelEntry $e )
$e lsolesen\pel\PelEntry the entry that will be added. If the entry is not valid in this IFD (as per {@link isValidTag()}) an {@link PelInvalidDataException} is thrown.
    public function addEntry(PelEntry $e)
    {
        if ($this->isValidTag($e->getTag())) {
            $e->setIfdType($this->type);
            $this->entries[$e->getTag()] = $e;
        } else {
            throw new PelInvalidDataException("IFD %s cannot hold\n%s", $this->getName(), $e->__toString());
        }
    }

Usage Example

Beispiel #1
0
 function testIteratorAggretate()
 {
     $ifd = new PelIfd(PelIfd::IFD0);
     $this->assertEqual(sizeof($ifd->getIterator()), 0);
     $desc = new PelEntryAscii(PelTag::IMAGE_DESCRIPTION, 'Hello?');
     $date = new PelEntryTime(PelTag::DATE_TIME, 12345678);
     $ifd->addEntry($desc);
     $ifd->addEntry($date);
     $this->assertEqual(sizeof($ifd->getIterator()), 2);
     $entries = array();
     foreach ($ifd as $tag => $entry) {
         $entries[$tag] = $entry;
     }
     $this->assertIdentical($entries[PelTag::IMAGE_DESCRIPTION], $desc);
     $this->assertIdentical($entries[PelTag::DATE_TIME], $date);
 }