# Class: com.pnfsoftware.jeb.core.units.code.asm.sig.NativeSignaturePackageEntry

Represents a signature package available through the [NativeSignatureDBManager](NativeSignatureDBManager). The corresponding signatures are not necessarily loaded in memory \(see [NativeSignaturePackageEntry#isLoadedInMemory()](NativeSignaturePackageEntry#isLoadedInMemory()). 

 The entry also stores signatures intended to be written into the package, see [NativeSignaturePackageEntry#getSignatureToWrite()](NativeSignaturePackageEntry#getSignatureToWrite()). 

 Notes: once loaded in memory, the signatures are not stored in this class, but in an internal storage of the [NativeSignatureDBManager](NativeSignatureDBManager).

## Constructor: NativeSignaturePackageEntry
- parameter: `file`, type: `java.io.File`
- parameter: `metadata`, type: `com.pnfsoftware.jeb.core.units.code.asm.sig.NativeSignaturePackageMetadata`

Description: Create a signature package entry.
parameter: file: package file
parameter: metadata: package metadata

## Method: addSignatureToWrite
- parameter: `sig`, type: `com.pnfsoftware.jeb.core.units.code.asm.sig.INativeSignature`

Description: Add a signature to be written into the package.
parameter: sig: signature to write

## Method: clearSignaturesToWrite

Description: Clear the signatures queued for writing into this package.

## Method: decrementOpenHandle

Description: Decrement the number of analyses using this package in memory.

## Method: getFile
- return type: `java.io.File`

Description: Get the package file.
return: package file

## Method: getMetadata
- return type: `com.pnfsoftware.jeb.core.units.code.asm.sig.NativeSignaturePackageMetadata`

Description: Get the package metadata.
return: package metadata

## Method: getSignatureToWrite
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.asm.sig.INativeSignature>`

Description: Retrieve the signatures that should be added to the package.
return: list of signatures, possibly null

## Method: getSize
- return type: `long`

Description: Get the package file size in bytes.
return: package file size

## Method: getStatus
- return type: `com.pnfsoftware.jeb.core.units.code.asm.sig.NativeSignaturePackageEntry.PackageStatus`

Description: Get the package status.
return: package status

## Method: incrementOpenHandle

Description: Increment the number of analyses using this package in memory.

## Method: isActive
- return type: `boolean`

Description: Determine whether this package entry is active.
return: true if the package is active

## Method: isLoadedInMemory
- return type: `boolean`

Description: Determine whether the package signatures are loaded in memory.
return: true if the signatures of this package are loaded in memory, false otherwise

## Method: isUserCreated
- return type: `boolean`

Description: Returns true if the package was created by a user, false if it is an official PNF Software package.
return: true if this package is user\-created

## Method: setStatus
- parameter: `status`, type: `com.pnfsoftware.jeb.core.units.code.asm.sig.NativeSignaturePackageEntry.PackageStatus`

Description: Set the package status.
parameter: status: package status

## Method: toString
- return type: `java.lang.String`


