SetaPDF_Core_Type_Dictionary Class representing a dictionary
File: /SetaPDF v2/Core/Type/Dictionary.php
Class hierarchy
Implements
Summary
Methods
- __construct()
- __sleep()
- _handlePdfStringCallback()
- attach()
- cleanUp()
- count()
- current()
- deepClone()
- detach()
- detachAll()
- ensure()
- getKeys()
- getValue()
- isObserved()
- key()
- next()
- notify()
- offsetExists()
- offsetGet()
- offsetSet()
- offsetUnset()
- registerPdfStringCallback()
- rewind()
- setValue()
- toPdfString()
- toPhp()
- unRegisterPdfStringCallback()
- update()
- valid()
- writeTo()
Properties
$_entries
The entries/values in the dictionary
An array of SetaPDF_Core_Type_Dictionary_Entry objects
$_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.
Static Methods
_ensureType()
Ensure that a value is an instance of a specific PDF type.
Parameters
- $type : string
- $value : mixed
- $errorMessage : string
- $ensure
Exceptions
Throws SetaPDF_Core_Type_Exception
ensureType()
Ensures that the passed value is a PdfDictionary instance.
Parameters
- $dictionary : mixed
Exceptions
Throws SetaPDF_Core_Type_Exception
ensureWithType()
Ensures that the passed value is an instance of the passed type.
Parameters
- $type : string
- $value : mixed
Exceptions
Throws SetaPDF_Core_Type_Exception
is()
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 an associative array to a pdf dictionary string and writes it to a writer.
Parameters
- $writer : SetaPDF_Core_WriteInterface
- $values : array
Exceptions
Throws InvalidArgumentException
See
Methods
__construct()
The constructor.
Parameters
- $entries : array
An array filled with
SetaPDF_Core_Type_Dictionary_Entry
OR an associative array
Exceptions
Throws InvalidArgumentException
__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.
_handlePdfStringCallback()
Execute the registered callbacks before the object is converted to a PDF string.
attach()
Add an observer to the object.
Implementation of the Observer Pattern. This overwritten method forwards the attach()-call to all dictionary values.
Parameters
- $observer : SplObserver
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
ensure()
Returns the main value.
This method is used for automatically resolving of indirect references.
Parameters
- $forceObservation : bool|null
getValue()
Gets the value.
Returns all entries of this dictionary or a specific value of a named entry.
Parameters
- $offset : string|null
The name of the entry or null to receive all entries
Return Values
An array of SetaPDF_Core_Type_Dictionary_Entry
objects,
a SetaPDF_Core_Type_AbstractType
instance or null if the given offset was not found
notify()
Notifies all attached observers.
Implementation of the Observer Pattern.
Has to be called by any method that changes a value.
offsetGet()
Offset to retrieve.
Parameters
- $offset : string
The offset to retrieve.
offsetSet()
Offset to set.
If offset is null then the value need to be a SetaPDF_Core_Type_Dictionary_Entry
.
If value is scalar and offset is already set the setValue method of the offset will be used.
Otherwise, it should be an instance of SetaPDF_Core_Type_AbstractType
.
Parameters
- $offset : null|string|SetaPDF_Core_Type_Name
The offset to assign the value to.
- $value : SetaPDF_Core_Type_Dictionary_Entry|SetaPDF_Core_Type_AbstractType|mixed
The value to set.
Exceptions
Throws InvalidArgumentException
registerPdfStringCallback()
Register a callback function which is called before the object is converted to a PDF string.
Parameters
- $callback : callback
- $name : string
setValue()
Set the values of the dictionary.
Parameters
- $entries : array
Array of
SetaPDF_Core_Type_Dictionary_Entry
objects
Exceptions
Throws InvalidArgumentException
toPdfString()
Returns the type as a formatted PDF string.
Parameters
- $pdfDocument : SetaPDF_Core_Document
update()
Triggered if a value of this object is changed. Forward this to the "parent" object.
Parameters
- $SplSubject : SplSubject
writeTo()
Writes the type as a formatted PDF string to the document.
Parameters
- $pdfDocument : SetaPDF_Core_Document