D E F G I M P R S V

## D

Driver - Class in <Unnamed>
  This is the main class of the program.
Driver() - Constructor for class Driver

## E

Ext2File - Class in <Unnamed>
  This class provides a way to read bytes in a Randomly Accessed File, either from a given offset or from the current file pointer
Ext2File(Volume, String) - Constructor for class Ext2File
  Constructor of Ext2File class Will fix minor errors of the path input by the user

## F

FileInfo - Class in <Unnamed>
  This is a class that will read each directory or file name in a path, and if that pathname exists in the volume, it will read and print the data contained there; both in UTF-8 and Hexadecimal.
FileInfo(Inode, String[]) - Constructor for class FileInfo
  Constructor of the FileInfo class
findPath(String) - Method in class FileInfo
  This class calculates the inode number, needed to read the data contained in the block that the inode points to If there was no match, method returns integer 0

## G

getBlockGroupCount(int, int) - Method in class Superblock
getBlockPointers() - Method in class Inode
getBlocksCount() - Method in class Superblock
getBlocksPerGroup() - Method in class Superblock
getContainingBLock(int) - Static method in class Driver
  A static method, used for fetching the block number (offset), that an inode points to.
getDate() - Method in class Inode
getFileInfo() - Method in class FileInfo
  This method will call findPath() method, to get the number of the inode, if the names in spli_path array match the names in the volume If the inode number is 0, the program will be terminated.
getGDpointer() - Method in class GroupDescriptor
getGid() - Method in class Inode
getHardLinks() - Method in class Inode
getInodeCount() - Method in class Superblock
getInodeSize() - Method in class Superblock
getInodesPerGroup() - Method in class Superblock
getLength() - Method in class Volume
getRandomAccessFile() - Method in class Volume
  Accessor method for the Random Access File
getSizeLower() - Method in class Inode
getSizeUpper() - Method in class Inode
getUid() - Method in class Inode
getVolumeName() - Method in class Superblock
GroupDescriptor - Class in <Unnamed>
  This class opens the Group Descriptor of a block group and reads the Inode Table Pointers for all the block groups
GroupDescriptor(byte[], int) - Constructor for class GroupDescriptor
  Constructor of the GroupDescriptor class

## I

Inode - Class in <Unnamed>
  This class reads an Inode and all the metadata it provides
Inode(byte[]) - Constructor for class Inode
  Constructor of the inode class
isFile() - Method in class Inode

## M

main(String[]) - Static method in class Driver

## P

position() - Method in class Ext2File
printBlockData(int) - Method in class FileInfo
  This method will print the data contained in a file or the metadata from the inode, if it is a Directory

## R

read(long, long) - Method in class Ext2File
  Reads at most length bytes starting at byte offset startByte from start of file.
read(long) - Method in class Ext2File
  Reads at most length bytes, starting from the current file pointer.
read() - Method in class GroupDescriptor
  This method reads the group descripor for each block group and adds the offset of the inode table pointer to the gd_pointer[] array
read() - Method in class Inode
  This method will read all the data that is contained in the inode, from the buffer, in which the byte array was parsed
read() - Method in class Superblock
  This method will read all the data that is contained in the Superblock, from the buffer in which the byte array was parsed
readBlockData(Inode) - Method in class FileInfo
  This method will read the block pointers values of an inode and if a pointer points to real data, it will call the appropriate methods to print that data.
readDblIndirectData(int) - Method in class FileInfo
  This method will read the double indirect data block and if data exists it will call readIndirectData()
readHexData(ArrayList<byte[]>) - Method in class FileInfo
  This method will read byte arrays from a list of byte arrays and print the content in a readable Hexadecimal format, with 26 hex characters in each line for readability
readIndirectData(int) - Method in class FileInfo
  This method will read the indirect data block and if data exists it will call printBlockData()
readPermissions() - Method in class Inode
  This method uses bitwise ANDing on FileSystem's i_mode variable value, to determing what permissions a directory or file has.
readTrplIndirectData(int) - Method in class FileInfo
  This method will read the triple indirect data block and if data exists it will call readDblIndirectData()

## S

seek(long) - Method in class Ext2File
  Moves through the RandomAccessFile, to the position specified
size() - Method in class Ext2File
Superblock - Class in <Unnamed>
  This class reads the data of an ext2 filesystem's SuperBlock
Superblock(byte[]) - Constructor for class Superblock
  Constructor of the Superblock class

## V

Volume - Class in <Unnamed>
  This class provides a way to open a file, using Random Access and read-only attribute.
Volume(String) - Constructor for class Volume
  Constructor of the Volume Class

D E F G I M P R S V