API Documentation

Zend/Pdf/FileParserDataSource.php

Show: inherited
Table of Contents

Zend Framework

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  
Subpackage
FileParser  
Version
$Id: FileParserDataSource.php 24594 2012-01-05 21:27:01Z matthew $  

\Zend_Pdf_FileParserDataSource

Package: Zend\Pdf\FileParser

Abstract helper class for {@link Zend_Pdf_FileParser} that provides the data source for parsing.

Concrete subclasses allow for parsing of in-memory, filesystem, and other sources through a common API. These subclasses also take care of error handling and other mundane tasks.

Subclasses must implement at minimum {@link __construct()}, {@link __destruct()}, {@link readBytes()}, and {@link readAllBytes()}. Subclasses should also override {@link moveToOffset()} and {@link __toString()} as appropriate.

Children
\Zend_Pdf_FileParserDataSource_String
\Zend_Pdf_FileParserDataSource_File
Copyright
Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  

Properties

Propertyprotectedinteger  $_offset= '0'

Byte offset of the current read position within the data source.

Default value0Details
Type
integer
Propertyprotectedinteger  $_size= '0'

Total size in bytes of the data source.

Default value0Details
Type
integer

Methods

methodpublic__construct( ) : void
abstract

Object constructor. Opens the data source for parsing.

Must set $this->_size to the total size in bytes of the data source.

Upon return the data source can be interrogated using the primitive methods described here.

If the data source cannot be opened for any reason (such as insufficient permissions, missing file, etc.), will throw an appropriate exception.

Throws
Exception Description
\Zend_Pdf_Exception
methodpublic__destruct( ) : void
abstract

Object destructor. Closes the data source.

May also perform cleanup tasks such as deleting temporary files.

methodpublic__toString( ) : string

Returns a description of the object for debugging purposes.

Subclasses should override this method to provide a more specific description of the actual object being represented.

Returns
Type Description
string
methodpublicgetOffset( ) : integer

Returns the byte offset of the current read position within the data source.

Returns
Type Description
integer
methodpublicgetSize( ) : integer

Returns the total size in bytes of the data source.

Returns
Type Description
integer
methodpublicmoveToOffset( integer $offset ) : void

Moves the current read position to the specified byte offset.

Throws an exception you attempt to move before the beginning or beyond the end of the data source.

If a subclass needs to perform additional tasks (such as performing a fseek() on a filesystem source), it should do so after calling this parent method.

Parameters
Name Type Description
$offset integer

Destination byte offset.

Throws
Exception Description
\Zend_Pdf_Exception
methodpublicreadAllBytes( ) : string
abstract

Returns the entire contents of the data source as a string.

This method may be called at any time and so must preserve the byte offset of the read position, both through $this->_offset and whatever other additional pointers (such as the seek position of a file pointer) that might be used.

Returns
Type Description
string
methodpublicreadBytes( integer $byteCount ) : string
abstract

Returns the specified number of raw bytes from the data source at the byte offset of the current read position.

Must advance the read position by the number of bytes read by updating $this->_offset.

Throws an exception if there is insufficient data to completely fulfill the request or if an error occurs.

Parameters
Name Type Description
$byteCount integer

Number of bytes to read.

Returns
Type Description
string
Throws
Exception Description
\Zend_Pdf_Exception
methodpublicskipBytes( integer $byteCount ) : void

Shifts the current read position within the data source by the specified number of bytes.

You may move forward (positive numbers) or backward (negative numbers). Throws an exception you attempt to move before the beginning or beyond the end of the data source.

Parameters
Name Type Description
$byteCount integer

Number of bytes to skip.

Throws
Exception Description
\Zend_Pdf_Exception
Documentation was generated by DocBlox 0.15.1.