# Interface: com.pnfsoftware.jeb.core.units.code.android.IDexFile

Representation of a DEX entry. For dex version 40 and below, each entry is mapped to a single  file \(hence the name of this class, at the time it was introduced\). For dex version 41 and above  with containers, a single dex file may generate multiple dex entries.  

  IMPORTANT\! This interface will be renamed to `IDexEntry` in a future release.

## Abstract Method: getActualChecksum
- return type: `int`

Description: Get the computed checksum. It may differ from the expected one.
return: the actual checksum

## Abstract Method: getActualSignature
- return type: `byte[]`

Description: Get the computed signature. It may differ from the expected one.
return: the actual SHA\-1 signature

## Abstract Method: getCallSitesPoolOffset
- return type: `int`

Description: Convenience method. Always return 0 for DEX files version 37\-.
return: the call site pool offset

## Abstract Method: getCallSitesPoolSize
- return type: `int`

Description: Convenience method. Always return 0 for DEX files version 37\-.
return: the call site pool size

## Abstract Method: getClassesPoolOffset
- return type: `int`

Description: Get the class pool offset.
return: the class pool offset

## Abstract Method: getClassesPoolSize
- return type: `int`

Description: Get the class pool size.
return: the class pool size

## Abstract Method: getData
- return type: `byte[]`

Description: Retrieve the bytes of the underlying `dex` file. Multiple entries may share the  share byte buffer.
return: the backing dex bytes

## Abstract Method: getDataSectionOffset
- return type: `int`

Description: Get the data section offset.
return: the data section offset

## Abstract Method: getDataSectionSize
- return type: `int`

Description: Get the data section size.
return: the data section size

## Abstract Method: getEndianness
- return type: `com.pnfsoftware.jeb.util.io.Endianness`

Description: Get the endianness of this file. Currently, all DEX files use a little\-endian byte ordering.
return: the file endianness

## Abstract Method: getExpectedChecksum
- return type: `int`

Description: Get the header provided file checksum.
return: the expected checksum

## Default Method: getExpectedFileSize
- return type: `int`

Description: Get the header provided expected DEX size.
deprecated: use [#getExpectedSize()](#getExpectedSize()) instead
return: the expected dex size

## Abstract Method: getExpectedSignature
- return type: `byte[]`

Description: Get the header provided SHA\-1 file signature.
return: the expected SHA\-1 signature

## Abstract Method: getExpectedSize
- return type: `int`

Description: Get the header provided expected DEX size.
return: the expected dex size

## Abstract Method: getFieldsPoolOffset
- return type: `int`

Description: Get the field pool offset.
return: the field pool offset

## Abstract Method: getFieldsPoolSize
- return type: `int`

Description: Get the field pool size.
return: the field pool size

## Abstract Method: getFileIndex
- return type: `int`

Description: The underlying dex file index. When children of an APK unit, 0 would be attributed to means  `classes.dex`, 1 to `classes2.dex`, etc.
return: the physical dex file index

## Abstract Method: getHeaderSize
- return type: `int`

Description: Get the size of header.
return: the header size

## Abstract Method: getIndexInContainer
- return type: `int`

Description: The index of this entry in their dex container, if the corresponding physical dex file is a  v41 container. The primary entry at offset 0 would have index 0, subsequent entries indices  1, 2, etc.
return: the entry index in the dex container

## Abstract Method: getLinkSectionOffset
- return type: `int`

Description: Get the link section offset.
return: the link section offset

## Abstract Method: getLinkSectionSize
- return type: `int`

Description: Get the link section size.
return: the link section size

## Abstract Method: getMap
- return type: `com.pnfsoftware.jeb.core.units.code.android.dex.IDexMap`

Description: Get a map  object for this file.
return: the dex map

## Abstract Method: getMapOffset
- return type: `int`

Description: Get the map offset.
return: the map offset

## Abstract Method: getMethodHandlesPoolOffset
- return type: `int`

Description: Convenience method. Always return 0 for DEX files version 37\-.
return: the method handle pool offset

## Abstract Method: getMethodHandlesPoolSize
- return type: `int`

Description: Convenience method. Always return 0 for DEX files version 37\-.
return: the method handle pool size

## Abstract Method: getMethodsPoolOffset
- return type: `int`

Description: Get the method pool offset.
return: the method pool offset

## Abstract Method: getMethodsPoolSize
- return type: `int`

Description: Get the method pool size.
return: the method pool size

## Abstract Method: getNameTag
- return type: `java.lang.String`

Description: Get the optional name tag associated with this dex entry.
return: an optional name tag associated with the object \(usually, the file name that          contained the dex file or dex container used to create this object\)

## Abstract Method: getOffset
- return type: `int`

Description: Offset within [data](#getData()) of the start of this dex.
return: an offset, generally 0

## Abstract Method: getOwnerUnit
- return type: `com.pnfsoftware.jeb.core.units.code.android.IDexUnit`

Description: Retrieve the owner DEX unit.
return: the owner dex unit

## Abstract Method: getPrototypesPoolOffset
- return type: `int`

Description: Get the prototype pool offset.
return: the prototype pool offset

## Abstract Method: getPrototypesPoolSize
- return type: `int`

Description: Get the prototype pool size.
return: the prototype pool size

## Abstract Method: getStringsPoolOffset
- return type: `int`

Description: Get the string pool offset.
return: the string pool offset

## Abstract Method: getStringsPoolSize
- return type: `int`

Description: Get the string pool size.
return: the string pool size

## Abstract Method: getTypesPoolOffset
- return type: `int`

Description: Get the type pool offset.
return: the type pool offset

## Abstract Method: getTypesPoolSize
- return type: `int`

Description: Get the type pool size.
return: the type pool size

## Abstract Method: getVersion
- return type: `int`

Description: Get the DEX version number.
return: the dex version number

