ParserPartProxy
        
        extends PartBuilder
    
    
            
            in package
            
        
    
    
    
        
            Proxy between a MessagePart and a Parser.
ParserPartProxy objects are responsible for ferrying requests from message parts to a proxy as they're requested, and for maintaining state information for a parser as necessary.
Tags
Table of Contents
- $parser : IParser
 - $partBuilder : PartBuilder
 - $headerContainer : PartHeaderContainer
 - $messageHandle : resource
 - $messageStream : StreamInterface
 - $parent : ParserPartProxy
 - $part : IMessagePart
 - $streamContentEndPos : int
 - $streamContentStartPos : int
 - $streamPartEndPos : int
 - $streamPartStartPos : int
 - __construct() : mixed
 - __destruct() : mixed
 - getHeaderContainer() : PartHeaderContainer
 - Returns this part's PartHeaderContainer.
 - getMessageResourceHandle() : resource
 - Returns the resource handle for a the message's stream, getting it from the parent part if this is a child part.
 - getMessageResourceHandlePos() : int
 - Shortcut for calling ftell($partBuilder->getMessageResourceHandle()).
 - getParent() : ParserPartProxy
 - The ParserPartProxy parent of this PartBuilder.
 - getPart() : IMessagePart
 - Returns the IMessagePart associated with this proxy.
 - getStream() : StreamInterface
 - Returns the raw message StreamInterface for a message, getting it from the parent part if this is a child part.
 - getStreamContentLength() : int
 - Returns the length of this part's content stream.
 - getStreamContentStartPos() : int|null
 - Returns the byte offset start position of the content of this part within the main raw message stream, or null if not set.
 - getStreamPartLength() : int
 - Returns the number of raw bytes this part has.
 - getStreamPartStartPos() : int|null
 - Returns the byte offset start position for this part within the message stream if it's been set, or null otherwise.
 - isContentParsed() : bool
 - Returns true if the byte offset positions for this part's content have been set.
 - isMime() : bool
 - Returns true if this part, or any parent, have a Content-Type or MIME-Version header set.
 - parseAll() : mixed
 - Parses everything under this part.
 - parseContent() : mixed
 - Requests the parser to parse this part's content, and call setStreamContentStartPos/EndPos to setup this part's boundaries within the main message's raw stream.
 - setPart() : mixed
 - Sets the associated part.
 - setStreamContentStartPos() : mixed
 - Sets the byte offset start position of the content in the raw message stream.
 - setStreamPartAndContentEndPos() : mixed
 - Sets the byte offset end position of the content and part in the raw message stream.
 - setStreamPartEndPos() : mixed
 - Sets the byte offset end position of the part in the raw message stream, and also calls its parent's setParentStreamPartEndPos to expand to parent PartBuilders.
 - setStreamPartStartPos() : mixed
 - Sets the byte offset start position of the part in the raw message stream.
 
Properties
$parser
    protected
        IParser
    $parser
    
    
        The parser.
$partBuilder
    protected
        PartBuilder
    $partBuilder
    
    
        The part's PartBuilder.
$headerContainer
    private
        PartHeaderContainer
    $headerContainer
    
    
        The parsed part's headers.
$messageHandle
    private
        resource
    $messageHandle
     = null
    
        the raw message input stream handle constructed from $messageStream or null for a child part
$messageStream
    private
        StreamInterface
    $messageStream
     = null
    
        the raw message input stream for a message, or null for a child part.
$parent
    private
        ParserPartProxy
    $parent
     = null
    
        The parent ParserPartProxy.
$part
    private
        IMessagePart
    $part
    
    
        The part.
$streamContentEndPos
    private
        int
    $streamContentEndPos
     = null
    
        The offset read end position in the message's stream for the end of this part's content (body).
$streamContentStartPos
    private
        int
    $streamContentStartPos
     = null
    
        The offset read start position in the message's stream for the beginning of this part's content (body).
$streamPartEndPos
    private
        int
    $streamPartEndPos
     = null
    
        The offset read end position for this part. If the part is a multipart mime part, the end position is after all of this parts children.
$streamPartStartPos
    private
        int
    $streamPartStartPos
     = null
    
        The offset read start position for this part (beginning of headers) in the message's stream.
Methods
__construct()
    public
                __construct(PartBuilder $partBuilder, IParser $parser) : mixed
        
        Parameters
- $partBuilder : PartBuilder
 - $parser : IParser
 
Return values
mixed —__destruct()
    public
                __destruct() : mixed
        
    
    
        Return values
mixed —getHeaderContainer()
Returns this part's PartHeaderContainer.
    public
                getHeaderContainer() : PartHeaderContainer
    
    
    
        Return values
PartHeaderContainer —the container
getMessageResourceHandle()
Returns the resource handle for a the message's stream, getting it from the parent part if this is a child part.
    public
                getMessageResourceHandle() : resource
    
    
    
        Return values
resource —getMessageResourceHandlePos()
Shortcut for calling ftell($partBuilder->getMessageResourceHandle()).
    public
                getMessageResourceHandlePos() : int
    
    
    
        Return values
int —getParent()
The ParserPartProxy parent of this PartBuilder.
    public
                getParent() : ParserPartProxy
    
    
    
        Return values
ParserPartProxy —getPart()
Returns the IMessagePart associated with this proxy.
    public
                getPart() : IMessagePart
    
    
    
        Return values
IMessagePart —the part.
getStream()
Returns the raw message StreamInterface for a message, getting it from the parent part if this is a child part.
    public
                getStream() : StreamInterface
    
    
    
        Return values
StreamInterface —getStreamContentLength()
Returns the length of this part's content stream.
    public
                getStreamContentLength() : int
        This method does not perform checks on whether the start pos and end pos of this part's content have been set, and so could cause errors if called before being set and are still null.
Return values
int —getStreamContentStartPos()
Returns the byte offset start position of the content of this part within the main raw message stream, or null if not set.
    public
                getStreamContentStartPos() : int|null
    
    
    
        Return values
int|null —getStreamPartLength()
Returns the number of raw bytes this part has.
    public
                getStreamPartLength() : int
        This method does not perform checks on whether the start pos and end pos of this part have been set, and so could cause errors if called before being set and are still null.
Return values
int —getStreamPartStartPos()
Returns the byte offset start position for this part within the message stream if it's been set, or null otherwise.
    public
                getStreamPartStartPos() : int|null
    
    
    
        Return values
int|null —isContentParsed()
Returns true if the byte offset positions for this part's content have been set.
    public
                isContentParsed() : bool
    
    
    
        Return values
bool —true if set.
isMime()
Returns true if this part, or any parent, have a Content-Type or MIME-Version header set.
    public
                isMime() : bool
    
    
    
        Return values
bool —true if it's a mime message or child of a mime message.
parseAll()
Parses everything under this part.
    public
                parseAll() : mixed
        For ParserPartProxy, this is just content, but sub-classes may override this to parse all children as well for example. .
Return values
mixed —parseContent()
Requests the parser to parse this part's content, and call setStreamContentStartPos/EndPos to setup this part's boundaries within the main message's raw stream.
    public
                parseContent() : mixed
        The method first checks to see if the content has already been parsed, and is safe to call multiple times.
Return values
mixed —setPart()
Sets the associated part.
    public
                setPart(IMessagePart $part) : mixed
    
        Parameters
- $part : IMessagePart
 - 
                    
The part
 
Return values
mixed —setStreamContentStartPos()
Sets the byte offset start position of the content in the raw message stream.
    public
                setStreamContentStartPos(mixed $streamContentStartPos) : mixed
    
        Parameters
- $streamContentStartPos : mixed
 
Return values
mixed —setStreamPartAndContentEndPos()
Sets the byte offset end position of the content and part in the raw message stream.
    public
                setStreamPartAndContentEndPos(mixed $streamContentEndPos) : mixed
    
        Parameters
- $streamContentEndPos : mixed
 
Return values
mixed —setStreamPartEndPos()
Sets the byte offset end position of the part in the raw message stream, and also calls its parent's setParentStreamPartEndPos to expand to parent PartBuilders.
    public
                setStreamPartEndPos(mixed $streamPartEndPos) : mixed
    
        Parameters
- $streamPartEndPos : mixed
 
Return values
mixed —setStreamPartStartPos()
Sets the byte offset start position of the part in the raw message stream.
    public
                setStreamPartStartPos(mixed $streamPartStartPos) : mixed
    
        Parameters
- $streamPartStartPos : mixed