org.apache.fop.pdf

## Class PDFFileSpec

- java.lang.Object
- - org.apache.fop.pdf.PDFObject
  - - org.apache.fop.pdf.PDFDictionary
    - - org.apache.fop.pdf.PDFFileSpec

- All Implemented Interfaces:
    PDFWritable

      public class PDFFileSpec
      extends PDFDictionary

  Class representing a /FileSpec object.

- - ### Field Summary

    - ### Fields inherited from class org.apache.fop.pdf.PDFDictionary

      `entries, order`

    - ### Fields inherited from class org.apache.fop.pdf.PDFObject

      `log`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PDFFileSpec(String filename)` create a /FileSpec object.
    `PDFFileSpec(String filename, String unicodeFilename)` create a /FileSpec object.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected boolean` | `contentEquals(PDFObject obj)` Check if the other PDFObject has the same content as the current object.
    `String` | `getFilename()` Gets the filename.
    `String` | `getUnicodeFilename()` Gets the unicode filename
    `void` | `setDescription(String description)` Sets a description for the file spec.
    `void` | `setEmbeddedFile(PDFDictionary embeddedFileDict)` Associates an dictionary with pointers to embedded file streams with this file spec.

    - ### Methods inherited from class org.apache.fop.pdf.PDFDictionary

      `containsKey, get, getChildren, getChildren, keySet, output, put, put, remove, writeDictionary`

    - ### Methods inherited from class org.apache.fop.pdf.PDFObject

      `encode, encodeBinaryToHexString, encodeString, encodeText, formatObject, getDocument, getDocumentSafely, getGeneration, getObjectID, getObjectNumber, getParent, hasObjectNumber, makeReference, outputInline, referencePDF, setDocument, setObjectNumber, setObjectNumber, setObjectNumber, setParent, supportsObjectStream, toPDF, toPDFString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PDFFileSpec

          public PDFFileSpec(String filename)

      create a /FileSpec object.
      Parameters:
        `filename` - the filename represented by this object

    - #### PDFFileSpec

          public PDFFileSpec(String filename,
                             String unicodeFilename)

      create a /FileSpec object.
      Parameters:
        `filename` - the filename represented by this object
        `unicodeFilename` - the unicode filename represented by this object

  - ### Method Detail

    - #### getFilename

          public String getFilename()

      Gets the filename.
      Returns:
        filename

    - #### getUnicodeFilename

          public String getUnicodeFilename()

      Gets the unicode filename
      Returns:
        unicode filename

    - #### setEmbeddedFile

          public void setEmbeddedFile(PDFDictionary embeddedFileDict)

      Associates an dictionary with pointers to embedded file streams with this file spec.
      Parameters:
        `embeddedFileDict` - the dictionary with pointers to embedded file streams

    - #### setDescription

          public void setDescription(String description)

      Sets a description for the file spec.
      Parameters:
        `description` - the description
      Since:
        PDF 1.6

    - #### contentEquals

          protected boolean contentEquals(PDFObject obj)

      Check if the other PDFObject has the same content as the current object.

      Note: This function has a contract which is less binding than `Object.equals(Object)`. Whereas equals would require all values to be identical, this method is not required to check everything. In the case of PDFObjects, this means that the overriding function does not have to check for `PDFObject.getObjectID()`.

      Overrides:
        `contentEquals` in class `PDFObject`
      Parameters:
        `obj` - object to compare to.
      Returns:
        true if the other object has the same content.

Copyright © 2025 Apache Software Foundation. All rights reserved.