SetaPDF_Core_Type_IndirectObject Class representing an indirect object

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

Class hierarchy

Implements

Summary

Properties

$_gen

The initial generation number

$_objectId

The initial object id

$_objectIdent

The object identifier

$_observed

protected boolean SetaPDF_Core_Type_IndirectObject::$_observed = false

Defines if this object is under observation

$_observers

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

$_value

The value of the indirect object


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

public SetaPDF_Core_Type_IndirectObject::__construct ( [ null|SetaPDF_Core_Type_AbstractType $value = null [, SetaPDF_Core_Type_Owner $owner = null [, integer $objectId = 0 [, integer $gen = 0 ]]]] )

The constructor.

Parameters
$value : null|SetaPDF_Core_Type_AbstractType
 
$owner : SetaPDF_Core_Type_Owner
 
$objectId : integer
 
$gen : integer
 
Exceptions

Throws InvalidArgumentException

attach()

Add an observer to the object.

Implementation of the Observer Pattern. This overwritten method forwards the attach()-call to the value of the indirect object.

Parameters
$observer : SplObserver
 

cleanUp()

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

Ensures the access to the value.

This method automatically forwards the request to the value.

Parameters
$forceObservation : boolean|null
 

getGen()

public integer SetaPDF_Core_Type_IndirectObject::getGen ( void )

Returns the initial generation number.

getObjectId()

Returns the initial object id.

getObjectIdent()

Get the Object Identifier.

This identifier has nothing to do with the object numbers of a PDF document. They will be used to map an object to document related object numbers.

getOwner()

Get the owner object of this indirect object.

getOwnerPdfDocument()

Returns the owner document.

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.

observe()

Observe the object if an owner document is attached.

setValue()

Sets the value of the PDF type.

Parameters
$value : SetaPDF_Core_Type_AbstractType
 
Exceptions

Throws InvalidArgumentException

toPdfString()

Returns the type as a formatted PDF string.

Parameters
$pdfDocument : SetaPDF_Core_Document
 

toPhp()

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

See

update()

Triggered if a value of this object is changed.

Forward this to other observing objects.

Parameters
$SplSubject : SplSubject
 

writeTo()

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

Parameters
$pdfDocument : SetaPDF_Core_Document