setasign\SetaPDF2\Core\Type

PdfHexString Class representing a hexadecimal string

File: /SetaPDF v2/Core/Type/PdfHexString.php
Old class name (alias): \SetaPDF_Core_Type_HexString

Class hierarchy

Implements

Summary

Static Properties

$_filter

A singleton AsciiHex filter instance


Properties

$_bypassSecHandler

protected bool PdfHexString::$_bypassSecHandler = false

Flag indicating that the object should bypass the security handler

$_encrypted

protected bool PdfHexString::$_encrypted = false

Flag indicating if the string is currently encrypted

$_observed

protected bool AbstractType::$_observed = false

Defines if this object is under observation

$_observers

protected array AbstractType::$_observers = array()

The Objects to notify on any change

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

$_owningObject

$_value

protected string PdfHexString::$_value = ''

The value

$metadata

public array AbstractType::$metadata = array()

An array for individual metadata.


Static Methods

_ensureType()

protected static AbstractType::_ensureType (
string $type,
mixed $value,
string $errorMessage,
$ensure = true
): mixed

Ensure that a value is an instance of a specific PDF type.

Parameters
$type : string
 
$value : mixed
 
$errorMessage : string
 
$ensure
 
Exceptions

Throws Exception

_getFilter()

Singleton method to get an AsciiHex filter instance.

ensureType()

public static PdfHexString::ensureType (
mixed $hexString
): self

Ensures that the passed value is a PdfHexString instance.

Parameters
$hexString : mixed
 
Exceptions

Throws Exception

ensureWithType()

public static AbstractType::ensureWithType (
string $type,
mixed $value
): \SetaPDF_Core_Type_AbstractType

Ensures that the passed value is an instance of the passed type.

Parameters
$type : string
 
$value : mixed
 
Exceptions

Throws Exception

hex2str()

public static PdfHexString::hex2str (
string $hex
): string

Converts a hex encoded string to a normal string.

Parameters
$hex : string
 

is()

public static AbstractType::is (
string $type,
mixed $value,
bool $ensure = true
): bool

Checks if the type of a value is the expected one.

Indirect references will be evaluated if $ensure is set to true.

Parameters
$type : string
 
$value : mixed
 
$ensure : bool
 

str2hex()

public static PdfHexString::str2hex (
string $str
): string

Converts a string to a hex encoded string.

Parameters
$str : string
 

writePdfString()

public static PdfHexString::writePdfString (
\SetaPDF_Core_WriteInterface $writer,
string $value,
bool $fromString = true
): string|void

Writes a string as hex encoded string to a writer instance.

Parameters
$writer : \SetaPDF_Core_WriteInterface
 
$value : string
 
$fromString : bool

Convert the string to hex encoded string

Exceptions

Throws \InvalidArgumentException

See

Methods

__construct()

public PdfHexString::__construct (
string $value = null,
bool $fromString = true,
\SetaPDF_Core_Type_AbstractType $owningObject = null
)

The constructor.

Parameters
$value : string
 
$fromString : bool
 
$owningObject : \SetaPDF_Core_Type_AbstractType
 

__clone()

public AbstractType::__clone (
void
): void

Implementation of __clone().

__sleep()

public AbstractType::__sleep (
void
): array

Implementation of __sleep.

We remove the observers from all elements because they will get read if they are waked up in an observed object.

_decrypt()

protected PdfHexString::_decrypt (
void
): string

Decrypts the value.

attach()

public AbstractType::attach (
\SplObserver $observer
): void

Add an observer to the object.

Implementation of the Observer Pattern.

Parameters
$observer : \SplObserver
 

cleanUp()

public PdfHexString::cleanUp (
void
): void

Release memory.

See

deepClone()

Clone the object recursively in the context of a document.

Parameters
$document : \SetaPDF_Core_Document
 

detach()

public AbstractType::detach (
\SplObserver $observer
): void

Detach an observer from the object.

Implementation of the Observer Pattern.

Parameters
$observer : \SplObserver
 

detachAll()

public AbstractType::detachAll (
void
): void

Detach all observers from this object.

Be careful with this method!!!

ensure()

public AbstractType::ensure (
?bool $forceObservation = null,
array &$ensuredObjectsList = array ( )
): \SetaPDF_Core_Type_AbstractType

Returns the main value.

This method is used for automatically resolving of indirect references.

Parameters
$forceObservation : ?bool
 
$ensuredObjectsList : array

A list of all ensured indirect objects to prevent recursion

getValue()

public PdfHexString::getValue (
bool $asString = true
): string

Get the value.

If $asString is set to true the value will be passed to the hex2str() method before it is returned.

Parameters
$asString : bool
 

isObserved()

public AbstractType::isObserved (
void
): bool

Checks if this object is observed.

notify()

public AbstractType::notify (
void
): void

Notifies all attached observers.

Implementation of the Observer Pattern.

Has to be called by any method that changes a value.

setBypassSecHandler()

public PdfHexString::setBypassSecHandler (
bool $bypassSecHandler = true
): void

Bypass the security handler or not.

Parameters
$bypassSecHandler : bool
 

setValue()

public PdfHexString::setValue (
string $value,
bool $fromString = true
): void

Set the value.

Parameters
$value : string
 
$fromString : bool
 

toPdfString()

public PdfHexString::toPdfString (
?\SetaPDF_Core_Document $pdfDocument = null
): string

Returns the type as a formatted PDF string.

Parameters
$pdfDocument : ?\SetaPDF_Core_Document
 

toPhp()

public PdfHexString::toPhp (
void
): string

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

See

writeTo()

public PdfHexString::writeTo (
\SetaPDF_Core_Document $pdfDocument
): void

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

Parameters
$pdfDocument : \SetaPDF_Core_Document