SetaPDF_Core_Type_AbstractType Abstract class for all PDF types

File: /SetaPDF/Core/Type/AbstractType.php

Class hierarchy

Implements

Summary

Properties

$_observed

protected boolean SetaPDF_Core_Type_AbstractType::$_observed = false

Defines if this object is under observation

$_observers

protected array SetaPDF_Core_Type_AbstractType::$_observers = array()

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


Static Methods

writePdfString()

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

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()

The constructor.

__clone()

Implementation of __clone().

__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()

Add an observer to the object.

Implementation of the Observer Pattern.

Parameters
$observer : SplObserver
 

cleanUp()

This method is used to clean up an object by releasing memory and references.

The observers has to be removed with the detach()-method. Only if there is no observer left this method should really release resources.

The method has to be implemented by each object type

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

Returns the main value.

This method is used for automatically resolving of indirect references.

Parameters
$forceObservation : boolean|null
 

getValue()

abstract public mixed SetaPDF_Core_Type_AbstractType::getValue ( void )

Gets the PDF value.

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.

setValue()

abstract public void SetaPDF_Core_Type_AbstractType::setValue ( mixed $value )

Sets the value of the PDF type.

Parameters
$value : mixed
 

toPdfString()

abstract public string SetaPDF_Core_Type_AbstractType::toPdfString ( SetaPDF_Core_Document $pdfDocument )

Returns the type as a formatted PDF string.

Parameters
$pdfDocument : SetaPDF_Core_Document
 

toPhp()

abstract public mixed SetaPDF_Core_Type_AbstractType::toPhp ( void )

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

writeTo()

abstract public void SetaPDF_Core_Type_AbstractType::writeTo ( SetaPDF_Core_Document $pdfDocument )

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

Parameters
$pdfDocument : SetaPDF_Core_Document