# org.pdfclown.objects.PdfReference Class Reference

PDF indirect reference object [PDF:1.6:3.2.9]. More...

Inheritance diagram for org.pdfclown.objects.PdfReference:

List of all members.

## Public Member Functions
override PdfObject | Accept (IVisitor visitor, object data)
| Accepts a visit.
PdfObject | Clone (File context)
virtual PdfObject | Clone (File context)
| Creates a deep copy of this object within the specified file context.
object | Clone ()
| Creates a shallow copy of this object.
override int | CompareTo (PdfDirectObject obj)
void | Delete ()
| Removes the object from its file context.
override bool | Equals (object @object)
override int | GetHashCode ()
PdfDataObject | Resolve ()
| Ensures this object to be resolved into its corresponding data object.
override PdfObject | Swap (PdfObject other)
| Swaps contents between this object and the other one.
override string | ToString ()
PdfDirectObject | Unresolve ()
| Ensures this object to be unresolved into its corresponding indirect reference, if available.
override void | WriteTo (IOutputStream stream, File context)
| Serializes this object to the specified stream.
## Static Public Member Functions
static PdfObject | Clone (PdfObject @object, File context)
| Gets the clone of the specified object, registered inside the specified file context.
static PdfDataObject | Resolve (PdfObject @object)
| Ensures an indirect reference to be resolved into its corresponding data object.
static PdfDirectObject | Unresolve (PdfDataObject @object)
| Ensures a data object to be unresolved into its corresponding indirect reference, if available.
## Protected Member Functions
internal void | Update ()
| Updates the state of this object.
## Properties
virtual PdfIndirectObject | Container`[get]`
| Gets the indirect object containing this object.
PdfIndirectObject | DataContainer`[get]`
| Gets the indirect object containing the data associated to this object.
PdfDataObject | DataObject`[get, set]`
| Gets/Sets the actual data associated to the indirect reference.
virtual File | File`[get]`
| Gets the file containing this object.
int | GenerationNumber`[get]`
| Gets the generation number.
string | Id`[get]`
| Gets the object identifier.
override PdfIndirectObject | IndirectObject`[get]`
| Gets the indirect object associated to the indirect reference.
string | IndirectReference`[get]`
| Gets the object reference.
int | ObjectNumber`[get]`
| Gets the object number.
override PdfObject | Parent`[get, set]`
| Gets/Sets the parent of this object.
override PdfReference | Reference`[get]`
| Gets the indirect reference associated to the indirect object.
override bool | Updateable`[get, set]`
| Gets/Sets whether the detection of object state changes is enabled.
override bool | Updated`[get, set]`
| Gets/Sets whether the initial state of this object has been modified.
internal override bool | Virtual`[get, set]`
| Gets/Sets whether this object acts like a null-object placeholder.

##

PDF indirect reference object [PDF:1.6:3.2.9].

## Member Function Documentation

override PdfObject org.pdfclown.objects.PdfReference.Accept | ( | IVisitor | visitor,
|  | object | data |
| ) |  |  | `[virtual]`

Accepts a visit.

Parameters:

  | visitor | Visiting object.
  | data | Supplemental data.

Returns:
  Result object.

Implements org.pdfclown.objects.PdfObject.

References org.pdfclown.objects.IVisitor.Visit().

PdfObject org.pdfclown.objects.IPdfIndirectObject.Clone | ( | File | context | ) | `[inherited]`

Referenced by org.pdfclown.objects.Cloner.Visit().

virtual PdfObject org.pdfclown.objects.PdfObject.Clone | ( | File | context | ) | `[virtual, inherited]`

Creates a deep copy of this object within the specified file context.

Reimplemented in org.pdfclown.objects.PdfSimpleObject< TValue >.

References org.pdfclown.files.File.Cloner.

object org.pdfclown.objects.PdfObject.Clone | ( |  | ) | `[inherited]`

Creates a shallow copy of this object.

References org.pdfclown.objects.PdfObject.Parent.

static PdfObject org.pdfclown.objects.PdfObject.Clone | ( | PdfObject @ | object,
|  | File | context |
| ) |  |  | `[static, inherited]`

Gets the clone of the specified object, registered inside the specified file context.

Parameters:

  | object | Object to clone into the specified file context.
  | context | File context of the cloning.

Referenced by org.pdfclown.objects.PdfObjectWrapper< PdfTextString >.Clone(), and org.pdfclown.objects.Cloner.Visit().

override int org.pdfclown.objects.PdfReference.CompareTo | ( | PdfDirectObject | obj | ) | `[virtual]`

Implements org.pdfclown.objects.PdfDirectObject.

void org.pdfclown.objects.PdfReference.Delete | ( |  | ) |

Removes the object from its file context.

The object is no more usable after this method returns.

Implements org.pdfclown.objects.IPdfIndirectObject.

Referenced by org.pdfclown.objects.Tree< TKey, TValue >.Remove().

override bool org.pdfclown.objects.PdfReference.Equals | ( | object @ | object | ) |

override int org.pdfclown.objects.PdfReference.GetHashCode | ( |  | ) |

PdfDataObject org.pdfclown.objects.PdfObject.Resolve | ( |  | ) | `[inherited]`

Ensures this object to be resolved into its corresponding data object.

See also:
  Unresolve()

References org.pdfclown.objects.PdfReference.DataObject.

static PdfDataObject org.pdfclown.objects.PdfObject.Resolve | ( | PdfObject @ | object | ) | `[static, inherited]`

Ensures an indirect reference to be resolved into its corresponding data object.

Parameters:

  | object | Object to resolve.

Referenced by org.pdfclown.objects.Tree< TKey, TValue >.Remove(), org.pdfclown.documents.Pages.Remove(), org.pdfclown.documents.Page.ToXObject(), org.pdfclown.documents.contents.xObjects.XObject.Wrap(), org.pdfclown.documents.multimedia.Rendition.Wrap(), org.pdfclown.documents.contents.PropertyList.Wrap(), org.pdfclown.documents.contents.colorSpaces.Pattern.Wrap(), org.pdfclown.documents.multimedia.MediaOffset.Wrap(), org.pdfclown.documents.multimedia.MediaClip.Wrap(), org.pdfclown.documents.interchange.access.LanguageIdentifier.Wrap(), org.pdfclown.documents.contents.layers.LayerNode.Wrap(), org.pdfclown.documents.functions.Function.Wrap(), org.pdfclown.documents.files.FileSpecification.Wrap(), org.pdfclown.documents.interaction.navigation.document.Destination.Wrap(), org.pdfclown.documents.contents.colorSpaces.ColorSpace.Wrap(), org.pdfclown.documents.interaction.annotations.Annotation.Wrap(), and org.pdfclown.documents.interaction.actions.Action.Wrap().

override PdfObject org.pdfclown.objects.PdfReference.Swap | ( | PdfObject | other | ) | `[virtual]`

Swaps contents between this object and the other one.

Parameters:

  | other | Object whose contents have to be swapped with this one's.

Returns:
  This object.

Implements org.pdfclown.objects.PdfObject.

override string org.pdfclown.objects.PdfReference.ToString | ( |  | ) |

PdfDirectObject org.pdfclown.objects.PdfObject.Unresolve | ( |  | ) | `[inherited]`

Ensures this object to be unresolved into its corresponding indirect reference, if available.

Returns:
  PdfReference, if available;

      this

  , otherwise.

See also:
  Resolve()

static PdfDirectObject org.pdfclown.objects.PdfObject.Unresolve | ( | PdfDataObject @ | object | ) | `[static, inherited]`

Ensures a data object to be unresolved into its corresponding indirect reference, if available.

Parameters:

  | object | Object to unresolve.

Returns:
  PdfReference, if available;

      object

  , otherwise.

internal void org.pdfclown.objects.PdfObject.Update | ( |  | ) | `[protected, inherited]`

Updates the state of this object.

Referenced by org.pdfclown.objects.PdfStream.Swap(), org.pdfclown.objects.PdfDictionary.Swap(), and org.pdfclown.objects.PdfArray.Swap().

override void org.pdfclown.objects.PdfReference.WriteTo | ( | IOutputStream | stream,
|  | File | context |
| ) |  |  | `[virtual]`

Serializes this object to the specified stream.

Parameters:

  | stream | Target stream.
  | context | File context.

Implements org.pdfclown.objects.PdfObject.

References org.pdfclown.bytes.IOutputStream.Write().

## Property Documentation

virtual PdfIndirectObject org.pdfclown.objects.PdfObject.Container`[get, inherited]`

Gets the indirect object containing this object.

See also:
  DataContainer, IndirectObject

Reimplemented in org.pdfclown.objects.PdfIndirectObject.

Referenced by org.pdfclown.tokens.CompressedWriter.WriteIncremental().

PdfIndirectObject org.pdfclown.objects.PdfObject.DataContainer`[get, inherited]`

Gets the indirect object containing the data associated to this object.

See also:
  Container, IndirectObject

PdfDataObject org.pdfclown.objects.PdfReference.DataObject`[get, set]`

Gets/Sets the actual data associated to the indirect reference.

Implements org.pdfclown.objects.IPdfIndirectObject.

Referenced by org.pdfclown.documents.interaction.navigation.document.Bookmarks.Add(), org.pdfclown.objects.Tree< TKey, TValue >.Remove(), org.pdfclown.documents.interaction.forms.Fields.Remove(), org.pdfclown.objects.PdfObject.Resolve(), org.pdfclown.documents.contents.fonts.Font.Wrap(), and org.pdfclown.documents.interaction.forms.Field.Wrap().

virtual File org.pdfclown.objects.PdfObject.File`[get, inherited]`

Gets the file containing this object.

Reimplemented in org.pdfclown.objects.PdfIndirectObject.

Referenced by org.pdfclown.objects.Cloner.Visit().

int org.pdfclown.objects.PdfReference.GenerationNumber`[get]`

Gets the generation number.

string org.pdfclown.objects.PdfReference.Id`[get]`

Gets the object identifier.

This corresponds to the serialized representation of an object identifier within a PDF file.

override PdfIndirectObject org.pdfclown.objects.PdfReference.IndirectObject`[get]`

Gets the indirect object associated to the indirect reference.

Implements org.pdfclown.objects.IPdfIndirectObject.

Referenced by org.pdfclown.objects.Visitor.Visit(), org.pdfclown.objects.Cloner.Visit(), and org.pdfclown.documents.contents.fonts.Font.Wrap().

string org.pdfclown.objects.PdfReference.IndirectReference`[get]`

Gets the object reference.

This corresponds to the serialized representation of a reference within a PDF file.

int org.pdfclown.objects.PdfReference.ObjectNumber`[get]`

Gets the object number.

Referenced by org.pdfclown.objects.PdfIndirectObject.Compress(), org.pdfclown.files.IndirectObjects.Contains(), org.pdfclown.files.IndirectObjects.IndexOf(), org.pdfclown.files.IndirectObjects.Remove(), and org.pdfclown.files.File.Unregister().

override PdfObject org.pdfclown.objects.PdfReference.Parent`[get, set]`

Gets/Sets the parent of this object.

See also:
  Container

Reimplemented from org.pdfclown.objects.PdfObject.

Referenced by org.pdfclown.objects.Tree< TKey, TValue >.Remove().

override PdfReference org.pdfclown.objects.PdfReference.Reference`[get]`

Gets the indirect reference associated to the indirect object.

Implements org.pdfclown.objects.IPdfIndirectObject.

Referenced by org.pdfclown.objects.Tree< TKey, TValue >.Remove().

override bool org.pdfclown.objects.PdfReference.Updateable`[get, set]`

Gets/Sets whether the detection of object state changes is enabled.

Reimplemented from org.pdfclown.objects.PdfObject.

override bool org.pdfclown.objects.PdfReference.Updated`[get, set]`

Gets/Sets whether the initial state of this object has been modified.

Reimplemented from org.pdfclown.objects.PdfObject.

internal override bool org.pdfclown.objects.PdfReference.Virtual`[get, set, protected]`

Gets/Sets whether this object acts like a null-object placeholder.

Reimplemented from org.pdfclown.objects.PdfObject.

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