org.pdfclown.objects.PdfObjectWrapper< TDataObject > Class Template Reference

High-level representation of a strongly-typed PDF object. More...

Inheritance diagram for org.pdfclown.objects.PdfObjectWrapper< TDataObject >:
org.pdfclown.objects.PdfObjectWrapper org.pdfclown.objects.IPdfObjectWrapper

List of all members.

Public Member Functions

virtual object Clone (Document context)
 Gets a clone of the object, registered inside the given document context.
virtual bool Delete ()
 Removes the object from its document context.
override bool Equals (object obj)
bool Exists ()
 Gets whether the underlying data object is concrete.
override int GetHashCode ()

Static Public Member Functions

static PdfDirectObject GetBaseObject (PdfObjectWrapper wrapper)
 Gets the PDF object backing the specified wrapper.

Protected Member Functions

void CheckCompatibility (object feature)
 Checks whether the specified feature is compatible with the document's conformance version.
 PdfObjectWrapper (File context, TDataObject baseDataObject)
 Instantiates a wrapper registering the specified base data object into the specified file context.
 PdfObjectWrapper (Document context, TDataObject baseDataObject)
 Instantiates a wrapper registering the specified base data object into the specified document context.
 PdfObjectWrapper (PdfDirectObject baseObject)
 Instantiates a wrapper from the specified base object.
 PdfObjectWrapper ()
 Instantiates an empty wrapper.
virtual PdfString RetrieveName ()
 Retrieves the name possibly associated to this object, walking through the document's name dictionary.
PdfDirectObject RetrieveNamedBaseObject ()
 Retrieves the object name, if available; otherwise, behaves like PdfObjectWrapper.BaseObject.

Properties

TDataObject BaseDataObject [get]
 Gets the underlying data object.
virtual PdfDirectObject BaseObject [get, set]
 Gets the underlying reference object, if available; otherwise, gets the underlying data object.
PdfIndirectObject Container [get]
 Gets the indirect object containing the base object.
PdfIndirectObject DataContainer [get]
 Gets the indirect object containing the base data object.
Document Document [get]
 Gets the document context.
File File [get]
 Gets the file context.
Metadata Metadata [get, set]
 Gets/Sets the metadata associated to this object.

template<TDataObject>
class org::pdfclown::objects::PdfObjectWrapper< TDataObject >

High-level representation of a strongly-typed PDF object.

Specialized objects don't inherit directly from their low-level counterparts (e.g. Contents extends PdfStream, Pages extends PdfArray and so on) because there's no plain one-to-one mapping between primitive PDF types and specialized instances: the

Content

entry of

Page

dictionaries may be a simple reference to a

PdfStream

or a

PdfArray

of references to

PdfStream

s,

Pages

collections may be spread across a B-tree instead of a flat

PdfArray

and so on.

So, in order to hide all these annoying inner workings, I chose to adopt a composition pattern instead of the apparently-reasonable (but actually awkward!) inheritance pattern. Nonetheless, users can navigate through the low-level structure getting the BaseDataObject backing this object.

Type Constraints
TDataObject :PdfDataObject 

Constructor & Destructor Documentation

template<TDataObject >
org.pdfclown.objects.PdfObjectWrapper< TDataObject >.PdfObjectWrapper (  )  [protected]

Instantiates an empty wrapper.

Reimplemented from org.pdfclown.objects.PdfObjectWrapper.

template<TDataObject >
org.pdfclown.objects.PdfObjectWrapper< TDataObject >.PdfObjectWrapper ( PdfDirectObject  baseObject  )  [protected]

Instantiates a wrapper from the specified base object.

Parameters:
baseObject PDF object backing this wrapper. MUST be a PdfReference every time available.

Reimplemented from org.pdfclown.objects.PdfObjectWrapper.

template<TDataObject >
org.pdfclown.objects.PdfObjectWrapper< TDataObject >.PdfObjectWrapper ( Document  context,
TDataObject  baseDataObject 
) [protected]

Instantiates a wrapper registering the specified base data object into the specified document context.

Parameters:
context Document context into which the specified data object has to be registered.
baseDataObject PDF data object backing this wrapper.
See also:
PdfObjectWrapper(File, PdfDataObject)
template<TDataObject >
org.pdfclown.objects.PdfObjectWrapper< TDataObject >.PdfObjectWrapper ( File  context,
TDataObject  baseDataObject 
) [protected]

Instantiates a wrapper registering the specified base data object into the specified file context.

Parameters:
context File context into which the specified data object has to be registered.
baseDataObject PDF data object backing this wrapper.
See also:
PdfObjectWrapper(Document, PdfDataObject)

Member Function Documentation

void org.pdfclown.objects.PdfObjectWrapper.CheckCompatibility ( object  feature  )  [protected, inherited]

Checks whether the specified feature is compatible with the document's conformance version.

Parameters:
feature Entity whose compatibility has to be checked. Supported types:

virtual object org.pdfclown.objects.PdfObjectWrapper.Clone ( Document  context  )  [virtual, inherited]

Gets a clone of the object, registered inside the given document context.

Parameters:
context Which document the clone has to be registered in.

Referenced by org.pdfclown.documents.Document.Include(), and org.pdfclown.tools.PageManager.Split().

virtual bool org.pdfclown.objects.PdfObjectWrapper.Delete (  )  [virtual, inherited]

Removes the object from its document context.

The object is no more usable after this method returns.

Returns:
Whether the object was actually decontextualized (only indirect objects can be decontextualize).

Reimplemented in org.pdfclown.documents.interaction.annotations.Annotation, org.pdfclown.documents.interaction.navigation.page.Article, and org.pdfclown.documents.interaction.navigation.page.ArticleElement.

Referenced by org.pdfclown.documents.Document.Exclude().

override bool org.pdfclown.objects.PdfObjectWrapper.Equals ( object  obj  )  [inherited]
template<TDataObject >
bool org.pdfclown.objects.PdfObjectWrapper< TDataObject >.Exists (  ) 

Gets whether the underlying data object is concrete.

static PdfDirectObject org.pdfclown.objects.PdfObjectWrapper.GetBaseObject ( PdfObjectWrapper  wrapper  )  [static, inherited]

Gets the PDF object backing the specified wrapper.

Parameters:
wrapper Object to extract the base from.
override int org.pdfclown.objects.PdfObjectWrapper.GetHashCode (  )  [inherited]
virtual PdfString org.pdfclown.objects.PdfObjectWrapper.RetrieveName (  )  [protected, virtual, inherited]

Retrieves the name possibly associated to this object, walking through the document's name dictionary.

Reimplemented in org.pdfclown.documents.multimedia.Rendition.

PdfDirectObject org.pdfclown.objects.PdfObjectWrapper.RetrieveNamedBaseObject (  )  [protected, inherited]

Retrieves the object name, if available; otherwise, behaves like PdfObjectWrapper.BaseObject.


Property Documentation

template<TDataObject >
TDataObject org.pdfclown.objects.PdfObjectWrapper< TDataObject >.BaseDataObject [get]

Gets the underlying data object.

virtual PdfDirectObject org.pdfclown.objects.PdfObjectWrapper.BaseObject [get, set, inherited]

Gets the underlying reference object, if available; otherwise, gets the underlying data object.

Implements org.pdfclown.objects.IPdfObjectWrapper.

Referenced by org.pdfclown.documents.files.RelatedFiles.Add(), org.pdfclown.documents.functions.Functions.Add(), org.pdfclown.documents.interaction.forms.FieldWidgets.Add(), org.pdfclown.documents.interaction.forms.Fields.Add(), org.pdfclown.documents.interaction.forms.ChoiceItems.Add(), org.pdfclown.documents.interaction.actions.ChainedActions.Add(), org.pdfclown.documents.interaction.navigation.document.Bookmarks.Add(), org.pdfclown.documents.interaction.annotations.AppearanceStates.Add(), org.pdfclown.documents.interaction.annotations.AnnotationActions.Add(), org.pdfclown.objects.PdfObjectWrapper< PdfTextString >.Clone(), org.pdfclown.documents.functions.Functions.Contains(), org.pdfclown.documents.interaction.forms.FieldWidgets.Contains(), org.pdfclown.documents.interaction.forms.ChoiceItems.Contains(), org.pdfclown.objects.PdfObjectWrapper< PdfTextString >.GetBaseObject(), org.pdfclown.tools.PageManager.GetSize(), org.pdfclown.documents.functions.Functions.IndexOf(), org.pdfclown.documents.interaction.forms.FieldWidgets.IndexOf(), org.pdfclown.documents.interaction.forms.ChoiceItems.IndexOf(), org.pdfclown.documents.functions.Functions.Insert(), org.pdfclown.documents.interaction.forms.FieldWidgets.Insert(), org.pdfclown.documents.interaction.forms.ChoiceItems.Insert(), org.pdfclown.documents.interaction.actions.ChainedActions.Insert(), org.pdfclown.documents.Pages.Remove(), org.pdfclown.documents.functions.Functions.Remove(), org.pdfclown.documents.interaction.forms.FieldWidgets.Remove(), org.pdfclown.documents.interaction.forms.Fields.Remove(), org.pdfclown.documents.interaction.forms.ChoiceItems.Remove(), org.pdfclown.documents.interaction.annotations.Screen.Screen(), and org.pdfclown.objects.PdfStream.SetDataFile().

PdfIndirectObject org.pdfclown.objects.PdfObjectWrapper.Container [get, inherited]

Gets the indirect object containing the base object.

PdfIndirectObject org.pdfclown.objects.PdfObjectWrapper.DataContainer [get, inherited]

Gets the indirect object containing the base data object.

Document org.pdfclown.objects.PdfObjectWrapper.Document [get, inherited]
File org.pdfclown.objects.PdfObjectWrapper.File [get, inherited]
template<TDataObject >
Metadata org.pdfclown.objects.PdfObjectWrapper< TDataObject >.Metadata [get, set]

Gets/Sets the metadata associated to this object.

Returns:
null
, if base data object's type isn't suitable (only PdfDictionary and PdfStream objects are allowed).

<throws>NotSupportedException If base data object's type isn't suitable (only PdfDictionary and PdfStream objects are allowed).</throws>

Copyright 2006-2013 Stefano Chizzolini. For more information, please visit PDF Clown home page.

Generated on Sat Feb 9 21:08:40 2013 for PDF Clown 0.1.2 by  doxygen 1.6.3