Class XrefEntry

java.lang.Object
org.sejda.sambox.xref.XrefEntry
Direct Known Subclasses:
CompressedXrefEntry

public class XrefEntry extends Object
Entry of the xref table or stream
Author:
Andrea Vacondio
  • Field Details

    • DEFAULT_FREE_ENTRY

      public static final XrefEntry DEFAULT_FREE_ENTRY
    • UNKNOWN_OFFSET

      public static final long UNKNOWN_OFFSET
      See Also:
  • Method Details

    • getType

      public XrefType getType()
    • getByteOffset

      public long getByteOffset()
    • setByteOffset

      public void setByteOffset(long byteOffset)
    • getObjectNumber

      public long getObjectNumber()
    • getGenerationNumber

      public int getGenerationNumber()
    • isUnknownOffset

      public boolean isUnknownOffset()
    • key

      public COSObjectKey key()
    • owns

      public boolean owns(XrefEntry entry)
      Parameters:
      entry -
      Returns:
      true if the given input entry is part of an object stream and this is the entry representing that object stream.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toXrefTableEntry

      public String toXrefTableEntry()
      Returns:
      a xref table line corresponding to this entry
      Throws:
      IllegalArgumentException - if the entry is a compressed one
    • toXrefStreamEntry

      public byte[] toXrefStreamEntry(int secondFieldLength, int thirdFieldLength)
      Creates Cross-reference stream data for this entry as defined in Chap 7.5.8.3 of PDF32000-1:2008, table 18.
      Parameters:
      secondFieldLength - length of the second field
      thirdFieldLength - length of the second field
      Returns:
      an entry corresponding to this xref entry to be used in the xref stream.
    • copyBytesTo

      protected void copyBytesTo(long data, int length, byte[] destination, int destinationIndex)
    • inUseEntry

      public static XrefEntry inUseEntry(long objectNumber, long byteOffset, int generationNumber)
      Factory method for an in use xref table/stream entry
      Parameters:
      objectNumber -
      byteOffset -
      generationNumber -
      Returns:
      the newly created instance
    • unknownOffsetEntry

      public static XrefEntry unknownOffsetEntry(long objectNumber, int generationNumber)
      Factory method for an in use xref table/stream entry with unknown offset
      Parameters:
      objectNumber -
      generationNumber -
      Returns:
      the newly created instance
    • freeEntry

      public static XrefEntry freeEntry(long objectNumber, int generationNumber)
      Factory method for a free xref tabe/stream entry
      Parameters:
      objectNumber -
      generationNumber -
      Returns:
      the newly created instance