Stavy životního cyklu objektu

Každý objekt v načteném dokumentu nese explicitní stav životního cyklu z THPDFObjectLifecycleState: olsRaw pro indexované, ale zatím nezmaterializované komprimované členy, olsParsed pro objekty zmaterializované ze zdrojových bajtů beze změn, olsDirty / olsMustWrite pro změněné nebo aktualizací vyžadované objekty, olsFlushed pro objekty už serializované do výstupního dokumentu a olsReleased pro objekty, kterým se uvolnily podkladové buffery

Dotazy na stav

GetLoadedObjectLifecycleState vrací stav libovolného čísla objektu a pro komprimované členy, jejichž tělo ještě nebylo materializováno, vrací olsRaw; GetLoadedObjectLifecycleStatistics agreguje počty podle stavů včetně nových polí RawCount, ParsedCount a FlushedCount; THPDFObject.MarkRaw, MarkParsed a MarkFlushed nastavují stavy explicitně

Chování při ukládání

Cesty úplného uložení přesunou každý zapsaný objekt do olsFlushed (obálku i vnitřní objekt), snímky transakcí grafu při rollbacku obnoví zachycený stav a baseline inkrementální aktualizace stále resetuje objekty na olsClean, takže připojené revize obsahují jen explicitně označené položky; IsDirty si zachovává původní význam olsDirty nebo olsMustWrite, takže nové stavy nikdy nespustí falešné přepisy