org.apache.pdfbox.pdmodel.interactive.annotation

## Class PDAnnotationFileAttachment

- java.lang.Object
- - org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotation
  - - org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotationMarkup
    - - org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotationFileAttachment

All Implemented Interfaces:
  COSObjectable

    public class PDAnnotationFileAttachment
    extends PDAnnotationMarkup

This is the class that represents a file attachment.

Author:
  Ben Litchfield

### Field Summary

Fields
`static String` `ATTACHMENT_NAME_GRAPH` See get/setAttachmentName.
`static String` `ATTACHMENT_NAME_PAPERCLIP` See get/setAttachmentName.
`static String` `ATTACHMENT_NAME_PUSH_PIN` See get/setAttachmentName.
`static String` `ATTACHMENT_NAME_TAG` See get/setAttachmentName.
`static String` `SUB_TYPE` The type of annotation.

### Fields inherited from class org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotationMarkup

`IT_FREE_TEXT, IT_FREE_TEXT_CALLOUT, IT_FREE_TEXT_TYPE_WRITER, RT_GROUP, RT_REPLY, SUB_TYPE_CARET, SUB_TYPE_FREETEXT, SUB_TYPE_INK, SUB_TYPE_POLYGON, SUB_TYPE_POLYLINE, SUB_TYPE_SOUND`

### Constructor Summary

Constructors
Constructor and Description
`PDAnnotationFileAttachment()` Constructor.
`PDAnnotationFileAttachment(COSDictionary field)` Creates a Link annotation from a COSDictionary, expected to be a correct object definition.

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`String` `getAttachmentName()` This is the name used to draw the type of attachment.
`PDFileSpecification` `getFile()` Return the attached file.
`void` `setAttachementName(String name)` Deprecated. use `setAttachmentName(java.lang.String)`.
`void` `setAttachmentName(String name)` Set the name used to draw the attachment icon.
`void` `setFile(PDFileSpecification file)` Set the attached file.

### Methods inherited from class org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotationMarkup

`constructAppearances, constructAppearances, getBorderEffect, getBorderStyle, getCallout, getConstantOpacity, getCreationDate, getDefaultAppearance, getDefaultStyleString, getEndPointEndingStyle, getExternalData, getInkList, getInReplyTo, getIntent, getInteriorColor, getLineEndingStyle, getPath, getPopup, getQ, getRectDifference, getRectDifferences, getReplyType, getRichContents, getStartPointEndingStyle, getSubject, getTitlePopup, getVertices, setBorderEffect, setBorderStyle, setCallout, setConstantOpacity, setCreationDate, setCustomAppearanceHandler, setDefaultAppearance, setDefaultStyleString, setEndPointEndingStyle, setExternalData, setInkList, setInReplyTo, setIntent, setInteriorColor, setLineEndingStyle, setPopup, setQ, setRectDifference, setRectDifferences, setRectDifferences, setReplyType, setRichContents, setStartPointEndingStyle, setSubject, setTitlePopup, setVertices`

### Methods inherited from class org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotation

`createAnnotation, equals, getAnnotationFlags, getAnnotationName, getAppearance, getAppearanceState, getBorder, getColor, getColor, getContents, getCOSObject, getModifiedDate, getNormalAppearanceStream, getOptionalContent, getPage, getRectangle, getStructParent, getSubtype, hashCode, isHidden, isInvisible, isLocked, isLockedContents, isNoRotate, isNoView, isNoZoom, isPrinted, isReadOnly, isToggleNoView, setAnnotationFlags, setAnnotationName, setAppearance, setAppearanceState, setBorder, setColor, setContents, setHidden, setInvisible, setLocked, setLockedContents, setModifiedDate, setModifiedDate, setNoRotate, setNoView, setNoZoom, setOptionalContent, setPage, setPrinted, setReadOnly, setRectangle, setStructParent, setToggleNoView`

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

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

### Field Detail

#### ATTACHMENT_NAME_PUSH_PIN

    public static final String ATTACHMENT_NAME_PUSH_PIN

See get/setAttachmentName.

See Also:
  Constant Field Values

#### ATTACHMENT_NAME_GRAPH

    public static final String ATTACHMENT_NAME_GRAPH

See get/setAttachmentName.

See Also:
  Constant Field Values

#### ATTACHMENT_NAME_PAPERCLIP

    public static final String ATTACHMENT_NAME_PAPERCLIP

See get/setAttachmentName.

See Also:
  Constant Field Values

#### ATTACHMENT_NAME_TAG

    public static final String ATTACHMENT_NAME_TAG

See get/setAttachmentName.

See Also:
  Constant Field Values

#### SUB_TYPE

    public static final String SUB_TYPE

The type of annotation.

See Also:
  Constant Field Values

### Constructor Detail

#### PDAnnotationFileAttachment

    public PDAnnotationFileAttachment()

Constructor.

#### PDAnnotationFileAttachment

    public PDAnnotationFileAttachment(COSDictionary field)

Creates a Link annotation from a COSDictionary, expected to be a correct object definition.

Parameters:
  `field` - the PDF object to represent as a field.

### Method Detail

#### getFile

    public PDFileSpecification getFile()
                                throws IOException

Return the attached file.

Returns:
  The attached file.
Throws:
  `IOException` - If there is an error creating the file spec.

#### setFile

    public void setFile(PDFileSpecification file)

Set the attached file.

Parameters:
  `file` - The file that is attached.

#### getAttachmentName

    public String getAttachmentName()

This is the name used to draw the type of attachment. See the ATTACHMENT_NAME_XXX constants.

Returns:
  The name that describes the visual cue for the attachment.

#### setAttachementName

    @Deprecated
    public void setAttachementName(String name)

Deprecated. use `setAttachmentName(java.lang.String)`.
Set the name used to draw the attachment icon. See the ATTACHMENT_NAME_XXX constants.

Parameters:
  `name` - The name of the visual icon to draw.

#### setAttachmentName

    public void setAttachmentName(String name)

Set the name used to draw the attachment icon. See the ATTACHMENT_NAME_XXX constants.

Parameters:
  `name` - The name of the visual icon to draw.