setasign\SetaPDF2\Core\Type

PdfNumeric Class representing a numeric object

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

Class hierarchy

Implements

Summary

Properties

$_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.

$_value

protected int|float PdfNumeric::$_value = 0

The numeric 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

ensure32BitInteger()

public static PdfNumeric::ensure32BitInteger (
int $value
): int

This helper method simulates the overflow behavior of a 32bit system on a 64bit system.

Parameters
$value : int
 

ensureType()

public static PdfNumeric::ensureType (
mixed $value
): self

Ensures that the passed value is a PdfNumeric instance.

Parameters
$value : 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

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
 

writePdfString()

public static PdfNumeric::writePdfString (
\SetaPDF_Core_WriteInterface $writer,
int|float $value
): void

Parses a php integer or float value to a pdf numeric string and write it into a writer.

Parameters
$writer : \SetaPDF_Core_WriteInterface
 
$value : int|float
 
Exceptions

Throws \InvalidArgumentException

See

Methods

__construct()

public PdfNumeric::__construct (
int|float $value = null
)

The constructor.

Parameters
$value : int|float
 

__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.

__wakeup()

public AbstractType::__wakeup (
void
): void

Implementation of __wakeup.

Unset the observed flag.

attach()

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

Add an observer to the object.

Implementation of the Observer Pattern.

Parameters
$observer : \SplObserver
 

cleanUp()

public AbstractType::cleanUp (
void
): void

This method is used to clean up an object by releasing memory and references.

The observers have to be removed with the "detach()"-method. Only if there is no observer left this method should really release resources.

The method has to be implemented by each object type

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 PdfNumeric::getValue (
void
): float

Ger the numeric value.

See

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.

setValue()

public PdfNumeric::setValue (
float|int $value
): void

Set the numeric value.

Parameters
$value : float|int
 
See

toPdfString()

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

Returns the type as a formatted PDF string.

Parameters
$pdfDocument : ?\SetaPDF_Core_Document
 

toPhp()

public PdfNumeric::toPhp (
void
): float

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

writeTo()

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

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

Parameters
$pdfDocument : \SetaPDF_Core_Document