iText 8.0.2 API
iText.Kernel.Pdf.Tagutils.WaitingTagsManager Class Reference

This class is used to manage waiting tags state. More...

Public Member Functions

virtual Object  AssignWaitingState (TagTreePointer pointerToTag, Object associatedObj)
  Assigns waiting state to the tag at which given TagTreePointer points, associating it with the given System.Object. More...
 
virtual bool  IsObjectAssociatedWithWaitingTag (Object obj)
  Checks if there is waiting tag which state was assigned using given System.Object. More...
 
virtual bool  TryMovePointerToWaitingTag (TagTreePointer tagPointer, Object associatedObject)
  Moves given TagTreePointer to the waiting tag which is associated with the given object. More...
 
virtual bool  RemoveWaitingState (Object associatedObject)
  Removes waiting state of the tag which is associated with the given object. More...
 
virtual void  RemoveAllWaitingStates ()
  Removes waiting state of all waiting tags by removing association with objects. More...
 

Detailed Description

This class is used to manage waiting tags state.

This class is used to manage waiting tags state. Any tag in the structure tree could be marked as "waiting". This state indicates that tag is not yet finished and therefore should not be flushed or removed if page tags are flushed or removed or if parent tags are flushed.

Waiting state of tags is defined by the association with arbitrary objects instances.

Waiting state could also be perceived as a temporal association of the object to some particular tag.

Member Function Documentation

◆ AssignWaitingState()

virtual Object iText.Kernel.Pdf.Tagutils.WaitingTagsManager.AssignWaitingState ( TagTreePointer  pointerToTag,
Object  associatedObj 
)
inlinevirtual

Assigns waiting state to the tag at which given TagTreePointer points, associating it with the given System.Object.

Assigns waiting state to the tag at which given TagTreePointer points, associating it with the given System.Object . If current tag of the given TagTreePointer is already waiting, then after this method call it's associated object will change to the one passed as the argument and the old one will not longer be an associated object.

Parameters
pointerToTag a TagTreePointer pointing at a tag which is desired to be marked as waiting.
associatedObj an object that is to be associated with the waiting tag. A null value is forbidden.
Returns
the previous associated object with the tag if it has already had waiting state, or null if it was not waiting tag.

◆ IsObjectAssociatedWithWaitingTag()

virtual bool iText.Kernel.Pdf.Tagutils.WaitingTagsManager.IsObjectAssociatedWithWaitingTag ( Object  obj )
inlinevirtual

Checks if there is waiting tag which state was assigned using given System.Object.

Parameters
obj an System.Object which is to be checked if it is associated with any waiting tag. A null value is forbidden.
Returns
true if object is currently associated with some waiting tag.

◆ RemoveAllWaitingStates()

virtual void iText.Kernel.Pdf.Tagutils.WaitingTagsManager.RemoveAllWaitingStates ( )
inlinevirtual

Removes waiting state of all waiting tags by removing association with objects.

Removes waiting state of all waiting tags by removing association with objects.

NOTE: if parent of the waiting tag is already flushed, the tag and it's children will be also immediately flushed right after the waiting state removal.

◆ RemoveWaitingState()

virtual bool iText.Kernel.Pdf.Tagutils.WaitingTagsManager.RemoveWaitingState ( Object  associatedObject )
inlinevirtual

Removes waiting state of the tag which is associated with the given object.

             Gets an object that is associated with the tag (if there is one) at which given {@link TagTreePointer} points.
             Essentially, this method could be used as indication that current tag has waiting state.
             @param pointer a {@link TagTreePointer} which points at the tag for which associated object is to be retrieved.
             @return an object that is associated with the tag at which given {@link TagTreePointer} points, or null if
             current tag of the {@link TagTreePointer} is not a waiting tag.
            ‍/

public Object getAssociatedObject(TagTreePointer pointer) { return getObjForStructDict(pointer.getCurrentStructElem().getPdfObject()); } /**

Removes waiting state of the tag which is associated with the given object.

NOTE: if parent of the waiting tag is already flushed, the tag and it's children (unless they are waiting tags on their own) will be also immediately flushed right after the waiting state removal.

Parameters
associatedObject an object which association with the waiting tag is to be removed.
Returns
true if object was actually associated with some tag and it's association was removed.

◆ TryMovePointerToWaitingTag()

virtual bool iText.Kernel.Pdf.Tagutils.WaitingTagsManager.TryMovePointerToWaitingTag ( TagTreePointer  tagPointer,
Object  associatedObject 
)
inlinevirtual

Moves given TagTreePointer to the waiting tag which is associated with the given object.

Moves given TagTreePointer to the waiting tag which is associated with the given object. If the passed object is not associated with any waiting tag, TagTreePointer position won't change.

Parameters
tagPointer a TagTreePointer which position in the tree is to be changed to the waiting tag in case of the successful call.
associatedObject an object which is associated with the waiting tag to which TagTreePointer is to be moved.
Returns
true if given object is actually associated with the waiting tag and TagTreePointer was moved in order to point at it.