SetaPDF_Core_Type_Callback This class acts like a proxy for all available SetaPDF_Core_Type_* classes

File: /SetaPDF v2/Core/Type/Callback.php

The class allows a developer to attach callbacks before and/or after any native method of the original type instance.

Class hierarchy

Implements

Summary

Properties

$_callbacks

protected callback SetaPDF_Core_Type_Callback::$_callbacks

$_observed

protected boolean SetaPDF_Core_Type_Callback::$_observed = false

Defines if this object is under observation

$_observers

protected array SetaPDF_Core_Type_Callback::$_observers = array()

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

protected SetaPDF_Core_Type_AbstractType SetaPDF_Core_Type_Callback::$_value


Static Methods

writePdfString()

public static SetaPDF_Core_Type_AbstractType::writePdfString (
SetaPDF_Core_WriteInterface $writer, mixed $value
): void

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

PHP data type -> PDF data type

Null -> SetaPDF_Core_Type_Null

Boolean -> SetaPDF_Core_Type_Boolean

Integer/Double -> SetaPDF_Core_Type_Numeric

String -> SetaPDF_Core_Type_String or SetaPDF_Core_Type_Name(if the string starts with "/")

Indexed array -> SetaPDF_Core_Type_Array

Associative array -> SetaPDF_Core_Type_Dictionary

Parameters
$writer : SetaPDF_Core_WriteInterface
 
$value : mixed
 
Exceptions

Throws InvalidArgumentException


Methods

__construct()

__call()

public SetaPDF_Core_Type_Callback::__call (
string $method, array $arguments
): mixed

Overloads all method calls.

Parameters
$method : string
 
$arguments : array
 
Exceptions

Throws BadMethodCallException

__sleep()

public SetaPDF_Core_Type_AbstractType::__sleep (
void
): array

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.

addCallback()

public SetaPDF_Core_Type_Callback::addCallback (
string $method, callback $callback [, bool $before = true ]
): void

Add a callback before or after a specific method call.

Parameters
$method : string
 
$callback : callback
 
$before : bool
 
Exceptions

Throws InvalidArgumentException

attach()

Add an observer to the object.

Implementation of the Observer Pattern.

Parameters
$observer : SplObserver
 

cleanUp()

public SetaPDF_Core_Type_Callback::cleanUp (
void
): void

Release resources/memory.

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 SetaPDF_Core_Type_AbstractType::ensure (
[ boolean|null $forceObservation = null ]
): SetaPDF_Core_Type_AbstractType

Returns the main value.

This method is used for automatically resolving of indirect references.

Parameters
$forceObservation : boolean|null
 

getValue()

public SetaPDF_Core_Type_Callback::getValue (
void
): mixed

Gets the PDF value.

isObserved()

public SetaPDF_Core_Type_AbstractType::isObserved (
void
): boolean

Checks if this object is observed.

notify()

public SetaPDF_Core_Type_AbstractType::notify (
void
): void

Notifies all attached observers.

Implementation of the Observer Pattern.

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

setValue()

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

Sets the value of the PDF type.

Parameters
$value : mixed
 

toPdfString()

Returns the type as a formatted PDF string.

Parameters
$pdfDocument : SetaPDF_Core_Document
 

toPhp()

public SetaPDF_Core_Type_Callback::toPhp (
void
): mixed

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

writeTo()

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

Parameters
$pdfDocument : SetaPDF_Core_Document