setasign\SetaPDF2\Core\Type\Dictionary

Entry Class representing a pair of a name object and a value in a dictionary

File: /SetaPDF v2/Core/Type/Dictionary/Entry.php
Old class name (alias): \SetaPDF_Core_Type_Dictionary_Entry

Class hierarchy

Implements

Summary

Properties

$_key

The key

$_observed

Defines if this object is under observation

$_observers

The Objects to notify on any change

This will be the PDF document or another value holding this one. Initially this will be an array.

$_value

$metadata

An array for individual metadata.


Static Methods

_ensureType()

protected static \setasign\SetaPDF2\Core\Type\AbstractType::_ensureType (
string $type,
mixed $value,
string $errorMessage,
$ensure = true
): mixed

Ensure that a value is an instance of a specific PDF type.

Parameters
$type : string
 
$value : mixed
 
$errorMessage : string
 
$ensure
 
Exceptions

Throws \setasign\SetaPDF2\Core\Type\Exception

ensureType()

Ensures that the passed value is a \setasign\SetaPDF2\Core\Type\AbstractType instance.

Parameters
$value : mixed
 
Exceptions

Throws \setasign\SetaPDF2\Core\Type\Exception

ensureWithType()

Ensures that the passed value is an instance of the passed type.

Parameters
$type : string
 
$value : mixed
 
Exceptions

Throws \setasign\SetaPDF2\Core\Type\Exception

is()

public static \setasign\SetaPDF2\Core\Type\AbstractType::is (
string $type,
mixed $value,
bool $ensure = true
): bool

Checks if the type of a value is the expected one.

Indirect references will be evaluated if $ensure is set to true.

Parameters
$type : string
 
$value : mixed
 
$ensure : bool
 

writePdfString()

Parses a php value to a pdf string and writes it into a writer.

PHP data type -> PDF data type

Null -> \setasign\SetaPDF2\Core\Type\PdfNull

Boolean -> \setasign\SetaPDF2\Core\Type\PdfBoolean

Integer/Double -> \setasign\SetaPDF2\Core\Type\PdfNumeric

String -> \setasign\SetaPDF2\Core\Type\PdfString or \setasign\SetaPDF2\Core\Type\PdfName(if the string starts with "/")

Indexed array -> \setasign\SetaPDF2\Core\Type\PdfArray

Associative array -> \setasign\SetaPDF2\Core\Type\PdfDictionary

Parameters
$writer : \SetaPDF_Core_WriteInterface
 
$value : mixed
 
Exceptions

Throws \InvalidArgumentException


Methods

__construct()

The constructor.

Parameters
$key : ?\SetaPDF_Core_Type_Name
 
$value : ?\SetaPDF_Core_Type_AbstractType
 

__sleep()

Implementation of __sleep.

We remove the observers from all elements because they will get read if they are waked up in an observed object.

__wakeup()

Implementation of __wakeup.

Unset the observed flag.

attach()

public Entry::attach (
\SplObserver $observer
): void

Add an observer to the object.

Implementation of the observer pattern.

This overwritten method forwards the attach()-call to the key and value.

Parameters
$observer : \SplObserver
 

cleanUp()

public Entry::cleanUp (
void
): void

Release objects/memory.

See

deepClone()

Clone the object recursively in the context of a document.

Parameters
$document : \SetaPDF_Core_Document
 

detach()

Detach an observer from the object.

Implementation of the Observer Pattern.

Parameters
$observer : \SplObserver
 

detachAll()

Detach all observers from this object.

Be careful with this method!!!

ensure()

public Entry::ensure (
bool $forceObservation = null,
array &$ensuredObjectsList = array ( )
): \SetaPDF_Core_Type_AbstractType

Ensures the value.

Parameters
$forceObservation : bool
 
$ensuredObjectsList : array

A list of all ensured indirect objects to prevent recursion

See

getKey()

Get the key object.

getKeyValue()

public Entry::getKeyValue (
void
): string

Get the key value.

getValue()

isObserved()

Checks if this object is observed.

notify()

Notifies all attached observers.

Implementation of the Observer Pattern.

Has to be called by any method that changes a value.

setKey()

public Entry::setKey (): void

Set the key object.

Parameters
$key : \SetaPDF_Core_Type_Name
 

setValue()

public Entry::setValue (
mixed $value
): void

Set the value object.

Parameters
$value : mixed
 
Exceptions

Throws \InvalidArgumentException

toPdfString()

public Entry::toPdfString (
?\SetaPDF_Core_Document $pdfDocument = null
): string

Converts the object to a pdf string.

Parameters
$pdfDocument : ?\SetaPDF_Core_Document
 

toPhp()

public Entry::toPhp (
void
): array

Converts the PDF data type to a PHP array and returns it.

See

update()

public Entry::update (
\SplSubject $SplSubject
): void

Triggered if a value of this object is changed.

Forward this to the parent document.

Parameters
$SplSubject : \SplSubject
 

writeTo()

public Entry::writeTo (
\SetaPDF_Core_Document $pdfDocument
): void

Writes the type as a formatted PDF string to the document.

Parameters
$pdfDocument : \SetaPDF_Core_Document