#NEWLINE# def _GetLink( self ) : #NEWLINE# #INDENT# 'Retrieves the link.\n\n    Raises:\n      BackEndError: when the CPIO archive file entry is missing in\n                    a non-virtual file entry.\n    ' #NEWLINE# if ( self . _link is None ) : #NEWLINE# #INDENT# cpio_archive_file_entry = self . GetCPIOArchiveFileEntry ( ) #NEWLINE# if ( ( not self . _is_virtual ) and ( cpio_archive_file_entry is None ) ) : #NEWLINE# #INDENT# raise errors . BackEndError ( 'Missing CPIO archive file entry in non-virtual file entry.' ) #NEWLINE# #UNINDENT# self . _link = '' #NEWLINE# if stat . S_ISLNK ( cpio_archive_file_entry . mode ) : #NEWLINE# #INDENT# cpio_archive_file = self . _file_system . GetCPIOArchiveFile ( ) #NEWLINE# link_data = cpio_archive_file . ReadDataAtOffset ( cpio_archive_file_entry . data_offset , cpio_archive_file_entry . data_size ) #NEWLINE# self . _link = link_data . decode ( 'ascii' ) #NEWLINE# #UNINDENT# #UNINDENT# return self . _link