Pdf/ElementFactory.php
LICENSE
This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to license@zend.com so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Pdf
- Version
- $Id: ElementFactory.php 24593 2012-01-05 20:35:02Z matthew $
\Zend_Pdf_ElementFactory
Responsibility is to log PDF changes
- Implements
- \Zend_Pdf_ElementFactory_Interface
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Properties

array $_attachedFactories = array()Array of Zend_Pdf_ElementFactory_Interface objects
array()Details- Type
- array

integer $_identity = 00Details- Type
- integer

array $_modifiedObjects = array()Also contains new and removed objects
Array: ojbectNumber => Zend_Pdf_Element_Object
array()Details- Type
- array

integer $_objectCountActually it's an object number for new PDF object
- Type
- integer

array $_registeredObjects = array()Used for resources clean up when factory is destroyed.
Array of Zend_Pdf_Element objects
array()Details- Type
- array

\SplObjectStorage $_removedObjectsArray: ojbectNumber => Zend_Pdf_Element_Object
Methods

__construct(integer $objCount) : voidObject constructor
| Name | Type | Description |
|---|---|---|
| $objCount | integer |

attach(\Zend_Pdf_ElementFactory_Interface $factory) : voidAttach factory to the current;
| Name | Type | Description |
|---|---|---|
| $factory | \Zend_Pdf_ElementFactory_Interface |

calculateShift(\Zend_Pdf_ElementFactory_Interface $factory) : integerCalculate object enumeration shift.
| Name | Type | Description |
|---|---|---|
| $factory | \Zend_Pdf_ElementFactory_Interface |
| Type | Description |
|---|---|
| integer |

cleanEnumerationShiftCache() : integerClean enumeration shift cache.
Has to be used after PDF render operation to let followed updates be correct.
| Type | Description |
|---|---|
| integer |

createFactory(integer $objCount) : \Zend_Pdf_ElementFactory_InterfaceFactory generator
| Name | Type | Description |
|---|---|---|
| $objCount | integer |
| Type | Description |
|---|---|
| \Zend_Pdf_ElementFactory_Interface |

fetchObject(string $refString) : \Zend_Pdf_Element_Object | nullFetch object specified by reference
| Name | Type | Description |
|---|---|---|
| $refString | string |
| Type | Description |
|---|---|
| \Zend_Pdf_Element_Object | null |

getEnumerationShift(\Zend_Pdf_ElementFactory_Interface $factory) : integerRetrive object enumeration shift.
| Name | Type | Description |
|---|---|---|
| $factory | \Zend_Pdf_ElementFactory_Interface |
| Type | Description |
|---|---|
| integer |
| Exception | Description |
|---|---|
| \Zend_Pdf_Exception |

getFactory() : \Zend_Pdf_ElementFactory_InterfaceGet factory
| Type | Description |
|---|---|
| \Zend_Pdf_ElementFactory_Interface |

listModifiedObjects(\Zend_Pdf_ElementFactory_Interface $rootFactory = null) : arrayEnumerate modified objects.
Returns array of Zend_Pdf_UpdateInfoContainer
| Name | Type | Description |
|---|---|---|
| $rootFactory | \Zend_Pdf_ElementFactory_Interface |
| Type | Description |
|---|---|
| array |

markAsModified(\Zend_Pdf_Element_Object $obj) : voidMark object as modified in context of current factory.
| Name | Type | Description |
|---|---|---|
| $obj | \Zend_Pdf_Element_Object |
| Exception | Description |
|---|---|
| \Zend_Pdf_Exception |

newObject(\Zend_Pdf_Element $objectValue) : \Zend_Pdf_Element_ObjectGenerate new Zend_Pdf_Element_Object
| Name | Type | Description |
|---|---|---|
| $objectValue | \Zend_Pdf_Element |
| Type | Description |
|---|---|
| \Zend_Pdf_Element_Object |
- Todo
- Reusage of the freed object. It's not a support of new feature, but only improvement.

newStreamObject( $streamValue) : \Zend_Pdf_Element_Object_StreamGenerate new Zend_Pdf_Element_Object_Stream
| Name | Type | Description |
|---|---|---|
| $streamValue |
| Type | Description |
|---|---|
| \Zend_Pdf_Element_Object_Stream |
- Todo
- Reusage of the freed object. It's not a support of new feature, but only improvement.

registerObject(\Zend_Pdf_Element_Object $obj, string $refString) : voidRegister object in the factory
It's used to clear "parent object" referencies when factory is closed and clean up resources
| Name | Type | Description |
|---|---|---|
| $obj | \Zend_Pdf_Element_Object | |
| $refString | string |

remove(\Zend_Pdf_Element_Object $obj) : voidRemove object in context of current factory.
| Name | Type | Description |
|---|---|---|
| $obj | \Zend_Pdf_Element_Object |
| Exception | Description |
|---|---|
| \Zend_Pdf_Exception |

resolve() : \Zend_Pdf_ElementFactoryGet source factory object
| Type | Description |
|---|---|
| \Zend_Pdf_ElementFactory |