SubjectToken
        
        extends Token
    
    
            
            in package
            
        
    
    
    
        
            Specialized token for subjects that preserves whitespace, except for new lines.
New lines are either discarded if followed by a whitespace as should happen with folding whitespace, or replaced by a single space character if somehow aren't followed by whitespace.
Tags
Table of Contents
- $canIgnoreSpacesAfter : bool
 - $canIgnoreSpacesBefore : bool
 - $charsetConverter : MbWrapper
 - $isSpace : bool
 - True if the part is a space token
 - $logger : LoggerInterface
 - $rawValue : string
 - $value : string
 - $errors : array<string|int, mixed>
 - $validated : bool
 - __construct() : mixed
 - __toString() : string
 - Returns the value of the part (which is a string).
 - addError() : static
 - Creates and adds an Error object to this ErrorBag.
 - getAllErrors() : array<string|int, Error>
 - Returns any errors on this object, and all IErrorBag children of this object at or above the passed PSR log level from Psr\Log\LogLevel (defaulting to LogLevel::ERROR).
 - getComments() : array<string|int, CommentPart>
 - Returns any CommentParts under this part container.
 - getErrorLoggingContextName() : string
 - Returns the class name. Override to identify objects in logs.
 - getErrors() : array<string|int, Error>
 - Returns any local errors this object has at or above the passed PSR log level in Psr\Log\LogLevel (defaulting to LogLevel::ERROR).
 - getRawValue() : string
 - Returns the part's raw value.
 - getValue() : string
 - Returns the part's representative value after any necessary processing has been performed. For the raw value, call getRawValue().
 - hasAnyErrors() : bool
 - Returns true if there are errors on this object, or any IErrorBag child of this object at or above the passed PSR log level in Psr\Log\LogLevel (defaulting to LogLevel::ERROR). Note that this will stop after finding the first error and return, so may be slightly more performant if an error actually exists over calling getAllErrors if only interested in whether an error exists.
 - hasErrors() : bool
 - Returns true if this object has an error in its error bag at or above the passed $minPsrLevel (defaults to ERROR). If $validate is true, additional validation may be performed.
 - convertEncoding() : string
 - Ensures the encoding of the passed string is set to UTF-8.
 - getErrorBagChildren() : array<string|int, IErrorBag>
 - Return any children ErrorBag objects.
 - validate() : void
 - Perform any extra validation and call 'addError'.
 
Properties
$canIgnoreSpacesAfter
    protected
        bool
    $canIgnoreSpacesAfter
     = false
    
        set to true to ignore spaces after this part
$canIgnoreSpacesBefore
    protected
        bool
    $canIgnoreSpacesBefore
     = false
    
        set to true to ignore spaces before this part
$charsetConverter
    protected
        MbWrapper
    $charsetConverter
    
    
        the charset converter used for converting strings in HeaderPart::convertEncoding
$isSpace
True if the part is a space token
    protected
        bool
    $isSpace
     = false
    
        
    
$logger
    protected
        LoggerInterface
    $logger
    
        
        
    
$rawValue
    protected
        string
    $rawValue
    
    
        the raw value of the part.
$value
    protected
        string
    $value
    
    
        the representative value of the part after any conversion or processing has been done on it (e.g. removing new lines, converting, whatever else).
$errors
    private
        array<string|int, mixed>
    $errors
     = []
    
        array of Error objects belonging to this object.
$validated
    private
        bool
    $validated
     = false
    
        true once the object has been validated.
Methods
__construct()
    public
                    __construct(LoggerInterface $logger, MbWrapper $charsetConverter, string $value) : mixed
        
        Parameters
- $logger : LoggerInterface
 - $charsetConverter : MbWrapper
 - $value : string
 
Return values
mixed —__toString()
Returns the value of the part (which is a string).
    public
                    __toString() : string
    
    
    
        Return values
string —the value
addError()
Creates and adds an Error object to this ErrorBag.
    public
                    addError(string $message, string $psrLogLevel[, Throwable|null $exception = null ]) : static
    
        Parameters
- $message : string
 - $psrLogLevel : string
 - $exception : Throwable|null = null
 
Return values
static —getAllErrors()
Returns any errors on this object, and all IErrorBag children of this object at or above the passed PSR log level from Psr\Log\LogLevel (defaulting to LogLevel::ERROR).
    public
                    getAllErrors([bool $validate = false ][, string $minPsrLevel = LogLevel::ERROR ]) : array<string|int, Error>
        Care should be taken using this if the intention is to only 'preview' a message without parsing it entirely, since this will cause the whole message to be parsed as it traverses children, and could be slow on messages with large attachments, etc...
If $validate is true, additional validation may be performed on children to check for errors.
Parameters
- $validate : bool = false
 - $minPsrLevel : string = LogLevel::ERROR
 
Return values
array<string|int, Error> —getComments()
Returns any CommentParts under this part container.
    public
                    getComments() : array<string|int, CommentPart>
    
    
    
        Return values
array<string|int, CommentPart> —getErrorLoggingContextName()
Returns the class name. Override to identify objects in logs.
    public
                    getErrorLoggingContextName() : string
    
    
    
        Return values
string —getErrors()
Returns any local errors this object has at or above the passed PSR log level in Psr\Log\LogLevel (defaulting to LogLevel::ERROR).
    public
                    getErrors([bool $validate = false ][, string $minPsrLevel = LogLevel::ERROR ]) : array<string|int, Error>
        If $validate is true, additional validation may be performed on the object to check for errors.
Parameters
- $validate : bool = false
 - $minPsrLevel : string = LogLevel::ERROR
 
Return values
array<string|int, Error> —getRawValue()
Returns the part's raw value.
    public
                    getRawValue() : string
    
    
    
        Return values
string —getValue()
Returns the part's representative value after any necessary processing has been performed. For the raw value, call getRawValue().
    public
                    getValue() : string
    
    
    
        Return values
string —The value of the part
hasAnyErrors()
Returns true if there are errors on this object, or any IErrorBag child of this object at or above the passed PSR log level in Psr\Log\LogLevel (defaulting to LogLevel::ERROR). Note that this will stop after finding the first error and return, so may be slightly more performant if an error actually exists over calling getAllErrors if only interested in whether an error exists.
    public
                    hasAnyErrors([bool $validate = false ][, string $minPsrLevel = LogLevel::ERROR ]) : bool
        Care should be taken using this if the intention is to only 'preview' a message without parsing it entirely, since this will cause the whole message to be parsed as it traverses children, and could be slow on messages with large attachments, etc...
If $validate is true, additional validation may be performed to check for errors.
Parameters
- $validate : bool = false
 - $minPsrLevel : string = LogLevel::ERROR
 
Return values
bool —hasErrors()
Returns true if this object has an error in its error bag at or above the passed $minPsrLevel (defaults to ERROR). If $validate is true, additional validation may be performed.
    public
                    hasErrors([bool $validate = false ][, string $minPsrLevel = LogLevel::ERROR ]) : bool
        The PSR levels are defined in Psr\Log\LogLevel.
Parameters
- $validate : bool = false
 - $minPsrLevel : string = LogLevel::ERROR
 
Return values
bool —convertEncoding()
Ensures the encoding of the passed string is set to UTF-8.
    protected
                    convertEncoding(string $str[, string $from = 'ISO-8859-1' ][, bool $force = false ]) : string
        The method does nothing if the passed $from charset is UTF-8 already, or if $force is set to false and mb_check_encoding for $str returns true for 'UTF-8'.
Parameters
- $str : string
 - $from : string = 'ISO-8859-1'
 - $force : bool = false
 
Return values
string —utf-8 string
getErrorBagChildren()
Return any children ErrorBag objects.
    protected
    abstract                getErrorBagChildren() : array<string|int, IErrorBag>
    
    
    
        Return values
array<string|int, IErrorBag> —validate()
Perform any extra validation and call 'addError'.
    protected
                    validate() : void
        getErrors and getAllErrors call validate() if their $validate parameter is true. validate() is only called once on an object with getErrors getAllErrors.